2015-07-22 2 views
0

Я пытаюсь построить автономный таймер-сервер с помощью найденных planet.osm.pbf файлов here, и я ударил немного о проблеме масштабирования.автономный таймер-сервер для всей планеты

Моя первая попытка состояла в том, чтобы отобразить некоторые из этих данных в файле .mbtiles и обслуживать его с помощью Tilemill. Это работает очень хорошо до определенного уровня масштабирования, но затем размер предварительно обработанных плиток взрывается. Моя догадка о соответствующем решении заключается в предварительном рендеринге плиток до некоторого разумного уровня масштабирования, а затем есть механизм для рендеринга оставшихся уровней масштабирования на лету. В качестве альтернативы, я понимаю, что существует векторная плитка, которая (может быть?) Всегда эффективно отображается «на лету» в браузере (делает это, я думаю).

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

Спасибо!

EDIT:

В качестве альтернативы, если есть и другие форматы, в которых данные планетарных доступны, кроме planet.osm.pbf Я определенно открыт услышать об этом - я не привязан к конкретному источнику данных, Я просто пытаюсь решить проблему.

ответ

2

Для задачи такого масштаба вам нужно будет Mapnik http://wiki.openstreetmap.org/wiki/Mapnik

  1. установить Mapnik и renderd https://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/ (TileMill, как я знаю, использует Mapnik, поэтому проверьте, возможно, у вас уже есть)
  2. импортировать данные в PostGIS (для всей планеты это может занять несколько дней и около 300 Гб свободного места на жестком диске)
  3. конвертировать свой стиль с TleMill для mapnik
  4. теперь у вас есть собственный сервер рендеринга

Также есть докер-контейнер с некоторыми стилями и mapnik + postgis + osm2pgsql, играющий в одной группе. https://registry.hub.docker.com/u/dkiselev/nik4web/ Может быть, это может быть полезно для вас.

Смежные вопросы