Автономный сервер для всей планеты
Я пытаюсь создать автономный сервер плиток, используя planet.osm.pbf
файлы найдены здесь, и я столкнулся с проблемой масштабирования.
Моей первой попыткой было преобразовать некоторые из этих данных в .mbtiles
подать и служить Tilemill
, Это работает очень хорошо до определенного уровня масштабирования, но затем размер предварительно визуализированных плиток взрывается. Я думаю, что подходящее решение состоит в том, чтобы предварительно визуализировать плитки до некоторого разумного уровня масштабирования, а затем иметь механизм для визуализации оставшихся уровней масштабирования на лету. Кроме того, я понимаю, что есть векторные плитки, которые (возможно?) Всегда эффективно отображаются на лету в браузере (mapbox gl
делает это, я думаю).
Кто-нибудь знает лучший подход к настройке автономного сервера плиток в таком масштабе? Многие другие ответы, которые я видел, касаются того, как подавать плитки для определенного города или штата, но я не придумываю много, чтобы показать всю планету.
Спасибо!
РЕДАКТИРОВАТЬ:
В качестве альтернативы, если есть другие форматы, в которых доступны данные всей планеты, кроме planet.osm.pbf
Я определенно открыт для того, чтобы услышать об этом - я не привязан к конкретному источнику данных, я просто пытаюсь решить проблему.
1 ответ
Для задачи такого масштаба вам понадобится Mapnik http://wiki.openstreetmap.org/wiki/Mapnik
- установите mapnik и предоставьте https://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/ (насколько я знаю, TileMill использует mapnik, так что проверьте, может быть, у вас его уже есть)
- импортировать ваши данные в PostGIS (для всей планеты это может занять несколько дней и около 300 ГБ на жестком диске)
- конвертируйте свой стиль из TleMill в mapnik
- теперь у вас есть собственный сервер рендеринга
Также есть докер-контейнер с некоторыми стилями и mapnik+postgis+osm2pgsql, играющий в одной группе. https://registry.hub.docker.com/u/dkiselev/nik4web/ Может быть, это может быть полезно для вас.