У меня есть изображение размером 1 ГБ (.tif), с шириной и высотой 94000x71680. Я хотел бы разделить это изображение на плитки размером 20000X20000, чтобы их можно было обработать.
Как я могу это сделать?
geotiff-tiff
tiles
digital-image-processing
Ануп Панвар
источник
источник
Ответы:
Я предлагаю два решения: первое с использованием QGIS, второе с использованием Python (GDAL).
Решение с использованием QGIS
В QGIS вы можете создать мозаику VRT.
Пожалуйста, следуйте этой процедуре (см. Изображение ниже):
Save As...
;Create VRT
опцию;OK
кнопкуНапример, использование параметров в диалоговом окне выше в этом примере растра (параметры, которые я установил, выбираются случайным образом):
сгенерирует 100 плиток по пути, указанному на шаге 4:
Загружая их в QGIS, они выглядят так:
Как правильно сказал @ bugmenot123 в комментариях, результат выглядит странно только потому, что стиль каждого изображения соответствует распределению значений для каждого изображения (но данные в порядке).
Решение с использованием Python (GDAL)
Другой способ получить тот же результат - использование GDAL ( gdal_translate ).
Со ссылкой на тот же пример, описанный выше, вы можете использовать этот скрипт:
Вам, очевидно, нужно адаптировать значения к вашему конкретному случаю.
источник
Не разделять
Вы gdalbuildvrt , вы можете создавать виртуальные плитки, которые будут использовать только несколько байтов на вашем диске. Затем вы можете использовать большинство программ, которые будут принимать ваши виртуальные входные данные в качестве входных данных для выполнения вашей обработки.
В качестве альтернативы, я бы предпочел инструмент, который может работать с изображением 1 Гб, чем разделять и объединять изображения. Например, OTB обладает большинством возможностей для стандартной (а иногда и продвинутой) обработки изображений с большими изображениями. Вы можете обернуть OTB для Python или запустить его из QGIS или из командной строки.
источник
Использование Split растрового инструмента, вы можете разделить растр на плитки на основе несколько методов разделения , включая размер каждую плитку или ряд плиток .
Также см. Раздел «Расщепление растра» в ArcGIS.
источник
Другое решение, использующее GDAL, - это инструмент gdal_retile.py :
Для получения дополнительной информации см .: http://www.gdal.org/gdal_retile.html
источник