В руководстве пользователя GDAL по геопреобразованию между строкой/столбцом пикселей в координаты карты указано, что необходимо использовать следующий массив параметров:
GT[0] — координата x верхнего левого угла верхнего левого пикселя. GT[1] разрешение/ширина пикселя. Ротация строки GT[2] (обычно нулевая). GT[3] координата y верхнего левого угла верхнего левого пикселя. Вращение столбца GT[4] (обычно нулевое). GT[5] n-s разрешение пикселя/высота пикселя (отрицательное значение для изображения, расположенного на севере вверху) Итак, если у меня есть пиксельный блок, расположенный на 10 столбцов вправо и на 20 строк вниз от координаты верхнего левого угла, т. е. GT[0], GT[3], как вычислить размер 10 на 20? блок пикселей?
Я думаю, что экстент пиксельного блока будет состоять из карты с четырьмя углами (x, y), например:
верхняя левая вершина (x, y) будет: (x_map = GT[0], y_map = GT[3]) верхняя правая вершина (x, y) будет: (x_map = GT[0] + 10 * GT[1] + 20 * GT[2], y_map = GT[3]) нижняя правая вершина (x, y) будет: (x_map = GT[0] + 10 * GT[1] + 20 * GT[2], y_map = GT[3] + 10 * GT[4] + 20 * GT[5]) нижняя левая вершина (x, y) будет: (x_map = GT[0], y_map = GT[3] + 10 * GT[4] + 20 * GT[5]) вот реальный пример:

это выглядит нормально? есть ли способ GDAL получить их напрямую? что, если сетка действительно большая, то есть исходный верхний левый угол может находиться очень далеко от пиксельного блока, из которого я пытаюсь получить экстент, не будет ли ошибка накапливаться в координатах карты вычисленной вершины?
Мобильная версия