Преобразование огромных геотифов в плитку пирамиды

9

Я пытаюсь преобразовать сжатый геотиф размером 20 ГБ в плитку с помощью gdal2tiles. К сожалению, gdal2tiles, похоже, не в состоянии справиться с этим, после 10 часов работы он все еще не достиг первой «точки». Я попробовал это с меньшим (1 ГБ) файлом, и он работал нормально. Мой вопрос сейчас заключается в том, есть ли какое-либо другое программное обеспечение, которое позволяет мне это делать (коммерческое или с открытым исходным кодом)? Можно создать плитки из GlobalMapper, но я не могу загрузить файл 20 ГБ в память.

Andrej
источник

Ответы:

4

Если вы используете компьютер с многоядерным процессором, вы можете найти полезными Parallel GDAL2Tiles (ppgdal2tiles). В компьютерах такого типа ppgdal2tiles должен работать быстрее, чем «одноядерная» версия. Цитирование ppgdal2tiles веб-страницы:

«Стандартная версия GDAL2Tiles использует только одно ядро ​​обработки одновременно.

Если у вас есть компьютер с большим количеством процессоров (или один из процессоров Mutli-Core от Intel или AMD), тогда можно запустить несколько процессов, чтобы использовать всю вычислительную мощность вашего компьютера, чтобы завершить рендеринг плитки как можно быстрее ».

dariapra
источник
И вы, конечно же, можете попросить Петра помочь с этим вопросом и поддержать проект, если таковой имеется. -> maptiler.com
ретлет
Приведенная ссылка не работает.
mrgloom
4

У меня была такая же проблема всего несколько недель назад. На этот раз вы используете опцию

--config GDAL_CACHEMAX 2047

(в настоящее время должно оставаться ниже 2048!) Во-вторых, вы можете скопировать скрипт gdal2tiles.py в другое место и изменить цикл for, который перебирает тайлы для обратного отсчета. в моей версии gdal2tiles это строка 1174:

for ty in range(tmaxy, tminy-1, -1):

изменить на:

for ty in range(tminy, tmaxy+1):

затем используйте оба сценария с одинаковыми аргументами одновременно и добавьте -e (т. е. продолжить, не удаляйте уже существующие файлы). Обратите внимание, что вам нужно выйти из одного из сценариев, поскольку они достигают 50% завершения (от базовой плитки), или вы получите сломанные плитки. Если вы забыли, просто найдите все файлы с размером 0, удалите их и начните все сначала - с ключом -e;)

надеюсь, что это помогло


источник
Вопрос: почему GDAL_CACHEMAX должен оставаться ниже 2047? Я использую это счастливо с 8 ГБ или больше для gdalwarp и тому подобного ...
markusN
1

Попробуйте второй патч из этого выпуска для параллельной версии gdal2tiles.py, используя модуль «multiprocessing»: http://trac.osgeo.org/gdal/ticket/4379

Я получил 5,5-кратное ускорение на 6-ядерном процессоре.

Стефан Талпалару
источник
1

Я надеюсь, что предприятие сможет это сделать. Это конечно может сделать мозаику - и я уверен, что это может обращаться с большими размерами файла. Часть растровой пирамидальной обработки довольно проста, см. Пример Raster Pyramiding на страницах примеров и демонстраций.

Вы можете получить пробную копию, чтобы попробовать

Марк Ирландия, евангелист продукта, безопасное программное обеспечение

Марк Ирландия
источник
1
это пограничная реклама. Чтобы оттолкнуть его от ограды в твердый ответ, пожалуйста, суммируйте, как можно использовать FME для производства плиток, и дайте ссылку на документацию, которая касается непосредственно вопросов ОП, а не только первой страницы. Спасибо.
Мэтт Уилки
Сожалею. Не должно было быть. Часть пирамидальной обработки растра довольно проста ( fmepedia.safe.com/articles/Samples_and_Demos/… ). Я был немного расплывчатым, так как вопрос был скорее в производительности, и я не хотел брать на себя обязательства, когда не пробовал лично. Вот почему я пригласил OP, чтобы попробовать его напрямую.
Марк Ирландия