为Leaflet.js创建平铺地图的正确方法?

时间:2014-02-11 12:21:15

标签: openstreetmap leaflet tilemill

我正在尝试使用正确的地理数据构建自定义设计的地图。它甚至可以是在插图画家中创建的图像,但它必须以正确的地图格式导出为一组图块 - 以便可以通过像Leaflet.js这样的工具读取它。

令我困惑的是,没有一个可用的地图工具似乎能很好地协同工作。我确实找到了Tilemill,它看起来很有前途(它有一个非常干净的界面并且使用CSS),但是:

  • Openstreetmaps不允许下载平铺图像,只允许下载OSM格式的XML数据。
  • Tilemill不允许导入Openstreetmaps XML数据(为什么!)。
  • 即使您设法在Tilemill中设计地图,您仍然无法导出平铺图像,只能导出专有的SQL数据库格式?那是什么意思?
  • 如果Tilemill没用,还有其他工具可以打开OSM XML数据并应用你自己的设计风格吗?

有些消息来源谈论构建自己的磁贴服务器:

This source建议使用SQL将OSM转换为PostGIS,然后使用自定义python脚本和名为Mapnik的工具。然后它说它不建议使用Mapnik for OSM ....

This source听起来很有希望,但后来随便提到你必须构建并运行自己的自定义Linux发行版......

是否有更简单的方法为Leaflet.js创建具有正确文件名和文件夹的地图图块?

1 个答案:

答案 0 :(得分:3)

  

Tilemill不允许导入Openstreetmaps XML数据(为什么!)。

OpenStreetMap XML是一种交换格式:它是一种转移事物的方式,而不是使用它们。您可以将其导入PostGIS and use it in TileMill

  

即使您设法在Tilemill中设计地图,您仍然无法导出平铺图像,只能导出专有的SQL数据库格式?有什么意义呢?

如果导出数百万个平铺图像,则会填满硬盘并耗尽inode。这是一个糟糕的交易。这就是为什么我们制作MBTiles,它不是专有的,而是非常open source in every definition of the word,如果你愿意,可以用mb-util将它导出到磁盘。

  

如果Tilemill没用,还有其他工具可以打开OSM XML数据并应用你自己的设计风格吗?

TileMill并非没用,但是如果你想要另一个选项,你可以使用Maperitive,尽管它在各个方面都是专有的。