Я знаю, что этот вопрос довольно расплывчатый, но, пожалуйста, ответьте мне. Я пытаюсь получить представление о том, какого рода производительность продукта - особенно сроки - люди видели для различных методологий, которые они использовали для создания плиток карты Google / Bing. Существует множество способов, как это сделать (например, gdal2tiles, FME, maptiler и т. Д.). Первоначальная попытка просто взять большой PNG и создать плитки с помощью imagemagick на довольно приличном Linux-сервере привела к довольно долгому времени обработки, и поэтому я хотел посмотреть, что другие люди используют в производстве. Новые плитки должны генерироваться по крайней мере ежедневно, и поэтому время выполнения заказа очень важно.
Единственным реальным требованием является то, что он может работать на сервере Linux. Очевидно, что бесплатно лучше, но я не хочу ограничиваться этим. Входными данными могут быть необработанные сеточные / растровые данные или большое изображение. Выходными данными должны быть плитки изображений, которые можно использовать как есть на картах Google или Bing.
Просто для сравнения скажу, что сроки должны быть для уровня масштабирования карты Google 7.
Я ценю помощь каждого и снова хочу извиниться за то, насколько расплывчатым кажется этот вопрос.
ОБНОВЛЕНИЕ: Что касается входных данных, в настоящее время у меня есть несколько (необработанных) источников данных в различных форматах: netCDF, GRIB, GRIB2. В дополнение к самим необработанным данным, у меня также есть возможность генерировать действительно большие изображения этих данных, которые затем можно разрезать на фрагменты.
В идеале, я бы просто искал изображение, но я готов попробовать все, что даст мне самые быстрые результаты.
источник
Ответы:
Вот некоторые из моих результатов для следующего растрового файла:
$ time gdal2tiles [...]
$ time [pngnq && pngcrush для каждой плитки, всего 4500]
Да, это в минутах - я оптимизировал для выходного размера, а не скорости. Машина представляет собой виртуальный Intel Xeon 2x3GHz, 4G памяти. (И ясно, что gdal2tiles может использовать некоторую распараллеливание.)
источник
У меня были проблемы с
gdal2tiles
тем, что мне потребовалось немало времени, чтобы обработать довольно большой (380 МБ, 39K x 10K пикселей) TIFF на плитки Google для диапазонов масштабирования 0-12. На 64-битной Ubuntu 12.04 без многопроцессорной обработки весь день (8 часов) потребовался для обработки tiff до 1,99 миллиона плиток при 3,3 ГБ. Как упомянуто выше @Stephan Talpalaru, ключом являетсяgdal2tiles
запуск в параллельном режиме. Сделайте резервную копию вашего оригиналаgdal2tiles.py
, затем установите исправление из каталога, в котором находитсяgdal2tiles.py
(мой был/usr/local/bin
):Теперь беги,
gdal2tiles
как обычно. Я получил невероятное увеличение производительности со всеми четырьмя моими ядрами (Intel Core i7 3.4GHz):Так от ~ 8 часов до 39 МИНУТ . Изменитель игры.
источник
Попробуйте параллельную версию gdal2tiles.py: http://trac.osgeo.org/gdal/ticket/4379
источник
Вы упомянули FME, и есть несколько номеров по созданию тайлов карт на FMEpedia
Это длинная статья, поэтому я вытащил соответствующие части:
Это использует многопользовательский процесс с сервером FME. Вы также можете проверить это сообщение Пола Биссетта в блоге WeoGeo: http://www.weogeo.com/blog/Scaling_FME_Engines_on_WeoGeo.html
В нем есть отличный фильм, показывающий, как обрабатывать подобные данные в облаке - в основном запускается куча виртуальных машин Amazon, чтобы распределить нагрузку обработки и выполнить ее очень быстро.
источник