Правильный способ создания карт плитки для Leaflet.js?

Я пытаюсь создать специально разработанную карту с правильными геоданными. Это может быть даже изображение, созданное в иллюстраторе, но оно должно быть экспортировано как набор плиток в правильном формате карты, чтобы его можно было прочитать с помощью таких инструментов, как Leaflet.js.

Что меня смущает, так это то, что ни один из доступных картографических инструментов не работает очень хорошо вместе. Я нашел Tilemill, который выглядит очень многообещающе (у него очень чистый интерфейс и работа с CSS), но:

  • Openstreetmaps не позволяет загружать изображения тайлов, только XML-данные в формате OSM.
  • Tilemill не позволяет импортировать XML-данные Openstreetmaps (почему!).
  • Даже если вам удастся спроектировать карту в Tilemill, вы все равно не сможете экспортировать изображения тайлов, только собственный формат базы данных SQL? Какой в ​​этом смысл?
  • Если Tilemill бесполезен, есть ли другие инструменты, которые позволяют открывать XML-данные OSM и применять собственные стили дизайна?

Есть несколько источников, в которых говорится о создании собственного тайлового сервера:

Этот источник предлагает преобразовать OSM в PostGIS с помощью SQL, а затем использовать собственный скрипт Python и инструмент с именем Мапник. Затем он говорит, что не рекомендуется использовать Mapnik для OSM....

Этот источник звучит многообещающе, но затем в нем случайно упоминается, что вы должны собрать и запустить свой собственный дистрибутив Linux...

Есть ли более простой способ создания листов карты с правильными именами файлов и папок для Leaflet.js?


person Kokodoko    schedule 11.02.2014    source источник


Ответы (1)


Tilemill не позволяет импортировать XML-данные Openstreetmaps (почему!).

OpenStreetMap XML — это формат обмена: это способ передачи объектов, а не их использования. Вы можете импортировать его в PostGIS и использовать в TileMill.

Даже если вам удастся спроектировать карту в Tilemill, вы все равно не сможете экспортировать изображения тайлов, только собственный формат базы данных SQL? Какой в ​​этом смысл?

Если вы экспортируете миллионы изображений тайлов, ваш жесткий диск заполнится, и у вас закончатся индексные дескрипторы. Это плохая сделка. Вот почему мы сделали MBTiles, который не является проприетарным, но в значительной степени с открытым исходным кодом во всех смыслах этого слова, и вы можете экспортировать его на диск с помощью mb-util, если хотите.

Если Tilemill бесполезен, есть ли другие инструменты, которые позволяют открывать XML-данные OSM и применять собственные стили дизайна?

TileMill не бесполезен, но если вам нужен другой вариант, вы можете использовать Maperitive, хотя он является собственностью во всех смыслах. слово.

person tmcw    schedule 17.02.2014
comment
Спасибо! Я был явно несколько расстроен после нескольких часов головоломок, когда опубликовал свой вопрос. Я рад узнать, что TileMill можно использовать для создания локальных плиток! Тем не менее, для простого дизайнера, такого как я, установка python, а затем ввод pip install Nose в терминале (в соответствии с инструкциями MBUtil) является полной противоположностью удобному для пользователя способу работы Tilemill. Будет ли когда-нибудь TileMill поддерживать прямой экспорт в локальные тайлы PNG? - person Kokodoko; 18.02.2014
comment
Привет, нет: вам не нужно бежать из носа, если вы действительно не хотите запускать набор тестов mbutil (следовательно, эта инструкция находится в части «Тестирование» в файле readme) - person tmcw; 18.02.2014