Использование модуля python gdal для открытия изображений в одной и той же проекции, но разных размеров

Я не уверен, что это правильный сайт для этого, но,

Я использую модуль gdal.Open() на python 2.7 для открытия изображений Landsat GeoTIFF. У них одинаковая картографическая проекция UTM, но разные размеры изображения.

Как сделать так, чтобы размеры изображений были одинаковыми? Я хотел бы сделать прямое попиксельное сравнение.


person Alvin    schedule 24.08.2011    source источник
comment
gis.stackexchange.com — это место, где можно задать этот вопрос.   -  person Mike T    schedule 12.09.2011


Ответы (2)


gdal_translate можно использовать просто для изменения размера изображения с помощью параметра -outsize, который принимает два целых значения в качестве xsize и ysize соответственно или два процентных значения для масштабирования изображения. см. здесь

gdal_translate -outsize newxsize newysize imageFile outputFile
person Community    schedule 24.08.2011
comment
Мы уверены, что это поддерживает проекцию изображения? Я загрузил два изображения до и после, и они не имели одинаковых значений в одних и тех же позициях UTM. - person Alvin; 25.08.2011
comment
Да, для переведенного изображения не было создано нового файла метаданных (например, L71173062_06220101118_MTL.txt). - person Alvin; 25.08.2011

Вам необходимо перепроецировать все растры в одинаковую форму/размер растра. Вы можете сделать это с помощью gdalwarp для каждого растрового файла, например:

gdalwarp -te xmin ymin xmax ymax -tr xres yres -r resampling_method srcfile dstfile

При желании вы можете заменить -tr (целевое разрешение) на -ts width height, чтобы указать количество строк/столбцов.

Параметры -te (целевые экстенты) и -tr/-ts (целевое разрешение/размер) заставляют каждый исходный растр иметь одинаковое наложение растровой формы, чтобы вы могли правильно выполнять попиксельное сравнение. Вам также необходимо выбрать подходящий -r метод повторной выборки в зависимости от того, чего вы пытаетесь достичь в ходе анализа.

person Mike T    schedule 12.09.2011