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



我正在尝试使用正确的地理数据构建一个自定义设计的地图。它甚至可以是在illustrator中创建的图像,但它必须以正确的地图格式导出为一组瓷砖,这样才能被Leaflet.js 等工具读取

让我困惑的是,所有可用的地图工具似乎都不能很好地配合使用。我确实找到了Tilemill,它看起来很有前途(它有一个非常干净的界面,可以使用CSS),但是:

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

有一些关于构建自己的tile服务器的消息来源:

该来源建议使用SQL将OSM转换为PostGIS,然后使用自定义python脚本和名为Mapnik的工具。然后它说不建议将Mapnik用于OSM。。。。

这个源代码听起来很有希望,但后来它漫不经心地提到,您必须构建并运行自己的自定义Linux发行版。。。

有没有一种更简单的方法可以为Leaflet.js创建具有正确文件名和文件夹的地图块?

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

OpenStreetMap XML是一种交换格式:它是一种传递信息的方式,而不是使用它们。您可以将其导入PostGIS并在TileMill中使用。

即使你设法用Tilemill设计了一个地图,你仍然不能导出瓦片图像,只能导出专有的SQL数据库格式?这有什么意义?

如果您导出数百万个磁贴图像,您将填满硬盘并耗尽索引节点。这是一笔糟糕的交易。这就是为什么我们制作了MBTiles,它不是专有的,但在这个词的每个定义中都是开源的,如果你愿意,你可以用mb-util将它导出到磁盘。

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

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

相关内容

最新更新