Тайлирование большого объема данных

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Vladimir_R
Активный участник
Сообщения: 145
Зарегистрирован: 14 апр 2010, 14:11
Репутация: 44
Откуда: Екатеринбург

Тайлирование большого объема данных

Сообщение Vladimir_R » 23 фев 2016, 21:42

Добрый вечер!

Есть задача - получить тайловый кэш из большого количества ортофотопланов.
Каждый ортофотоплан имеет размер 8557, 8575 и средний размер файла в 50 Мб.
Общее количество файлов ~10 000 файлов

Я собрал все файлы в vrt файл и попробовал тайлировать его через gdal2tiles, но результат не утешительный - медленно работает даже в мультипроцессорном режиме.
Была утопичная идея опубликовать мозаику как wms сервис и "дергать" картинку по координатам углов тайловой плитки или воспользоваться mapproxy, чтобы он занимался этим.

Может быть у кого-то есть опыт работы с большим объемом растровых данных? Как это заставить работать?

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3375
Зарегистрирован: 11 апр 2008, 21:09
Статьи: 33
Проекты: 9
Репутация: 522
Ваше звание: Author
Контактная информация:

Re: Тайлирование большого объема данных

Сообщение Denis Rykov » 24 фев 2016, 09:06

А если сначала построить пирамиды для вашего огромного растра?
Spatial is now, more than ever, just another column- The Geometry Column.

Vladimir_R
Активный участник
Сообщения: 145
Зарегистрирован: 14 апр 2010, 14:11
Репутация: 44
Откуда: Екатеринбург

Re: Тайлирование большого объема данных

Сообщение Vladimir_R » 24 фев 2016, 09:31

Суммарный объем данных очень большой ~850 Гб.
Пробовал строить пирамиды через gdaladdo, но процесс "упал" из-за нехватки места.

Возможно если делать пирамиды для каждого ортофотоплана отдельно результат будет другим.
Какая разница в пирамиде для всего массива (читай vrt файла) и для отбельных растров объединенных vrt файлом?
Если я пережму данные из tiff в jpeg, то сильно потеряю в качестве картинки (для тайлов это критично)?

HasT
Активный участник
Сообщения: 142
Зарегистрирован: 16 окт 2009, 22:08
Проекты: 1
Репутация: 55
Откуда: Харьков

Re: Тайлирование большого объема данных

Сообщение HasT » 24 фев 2016, 11:13

Я имел дело с растром порядка 10Гб, использовал для генерации тайлов gdal2tiles, но также медленно выполнялась генерация тайлов. Попробовал через generate_tiles.py (Mapnik, https://github.com/openstreetmap/mapnik-stylesheets) - файл Mapnik XML сделал через TileMill (добавлял geotiff, vrt возможно тоже понимает https://www.mapbox.com/tilemill/docs/gu ... ster-data/) - тайлы генерировались значительно быстрее.
Еще ссылка на использование generate_tiles.py viewtopic.php?f=19&t=13076

Vladimir_R
Активный участник
Сообщения: 145
Зарегистрирован: 14 апр 2010, 14:11
Репутация: 44
Откуда: Екатеринбург

Re: Тайлирование большого объема данных

Сообщение Vladimir_R » 17 апр 2016, 12:30

Я решил задачу следующим образом: для каждого тайлового уровня "загрубил" растры до нужного разрешения. Это уменьшило объем тайлируемых данных на определенном зуме и обеспечило приемлемое время тайлирования.

geodesist.ru
Активный участник
Сообщения: 116
Зарегистрирован: 27 янв 2012, 23:29
Репутация: 14

Re: Тайлирование большого объема данных

Сообщение geodesist.ru » 15 авг 2018, 20:23

bVladimir_R, та же самая задача - вы ее решили с использованием mapnik?

Vladimir_R
Активный участник
Сообщения: 145
Зарегистрирован: 14 апр 2010, 14:11
Репутация: 44
Откуда: Екатеринбург

Re: Тайлирование большого объема данных

Сообщение Vladimir_R » 10 окт 2018, 16:25

geodesist.ru, да. Как писал выше рассчитал для нескольких масштабов разрешение, продублировал входные данные с этим разрешением и создал тайлы через gdal2tiles. Подход занял больше места на диске, так как пришлось дублировать данные, но тайлирование прошло нормально. Результат удовлетворяет требованиям.

Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость