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
.