Какой самый быстрый способ нарезать изображение на плитки? - PullRequest
2 голосов
/ 11 января 2011

Мне нужно нарезать изображение (размер: 14043 × 9933) на набор плиток 256 x 256 с различными уровнями масштабирования (количество плиток) наиболее эффективным способом Я использовал gdal2tiles.py (он поставляется с GDAL), но мне интересно, есть ли другие варианты, может быть, Geotools имеют эту функцию? или любые другие альтернативы (мне не нужны и геопривязки к плиткам).

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 01 февраля 2017

gdal2tiles - это хорошая вещь, которая может выполнять много проекций, но она медленна для простых растровых пирамидных плиток и требует много памяти.dzsave быстрее и эффективнее с оперативной памятью.На этом ноутбуке с файлом JPG размером 25k x 25k RGB я вижу:

$ time gdal2tiles.py -p raster ../wac_nearside.jpg x
Generating Base Tiles:
0...10...20...30...40...50...60...70...80...90...100 - done.
Generating Overview Tiles:
0...10...20...30...40...50...60...70...80...90...100 - done.
real    3m51.728s
user    3m48.548s
sys 0m2.992s
peak memory 400mb

Но с dzsave я вижу:

$ time vips dzsave ../wac_nearside.jpg y --suffix .png
real    0m36.097s
user    1m39.900s
sys 0m6.960s
peak memory 100mb

Это было бы еще быстрее, но почти всевремя в PNG пишется.Если я вернусь к плиткам JPEG по умолчанию, то увижу:

$ time vips dzsave ../wac_nearside.jpg y
real    0m10.791s
user    0m20.268s
sys 0m4.672s
peak memory 100mb

Более чем в 20 раз быстрее, чем gdal2tiles.

dzsave также может автоматически выполнять центрирование для вас, поэтомунет необходимости в дополнительном шаге gdal_translate.

0 голосов
/ 11 января 2011
...