OpenMapTiles 初学者问题
Posted
技术标签:
【中文标题】OpenMapTiles 初学者问题【英文标题】:OpenMapTiles Beginner questions 【发布时间】:2020-01-04 10:39:08 【问题描述】:我希望用自托管和免费的方式替换 Google 地图。搜索了一段时间后,我找到了 OpenMapTiles。我对这个东西很陌生,所以有很多东西我不明白,即:
我不确定我是否有资格使用预渲染图块,我可以根据 osm 数据自己生成我的图块吗? 我想要谷歌地形图之类的带有等高线的东西,用 OpenMapTiles 可以吗? 我还有一些 GPS 轨迹,我想显示为覆盖在基本地图(OSM 或 Google)上,我希望它们可点击(点击打开链接或弹出窗口或类似的东西),这可能吗?李> OpenMapTiles 服务器运行繁重吗?谢谢
【问题讨论】:
【参考方案1】:这完全有可能,我自己做过。但是,做所有事情都需要一段时间。
1.生成 MBTiles
首先,我建议您开始查看 OpenMapTiles 的 Github 存储库:https://github.com/openmaptiles/openmaptiles
要生成一个 MBTiles 文件,对于一个国家/地区来说,在您自己的计算机上是很容易管理的。基本上你可以通过以国家名称作为参数执行主脚本来做到这一点。像这样:
./quickstart.sh portugal
脚本创建Docker机器后,下载国家的OpenStreetMap数据,处理,生成MBTiles文件,就大功告成了。
对我来说,使用普通计算机,对于西班牙或葡萄牙等国家/地区,大约需要 4 到 12 个小时。但这真的取决于国家。挪威需要很长时间(大约 4 天),我相信是因为它的海岸线很长。
如果您想要一个适用于整个地球的 MBTiles 文件,那么您需要一台功能更强大的计算机,特别是具有大 SSD 和大量 RAM 的计算机。 32 到 64 GB 的 RAM 和 250 到 300 GB 的 SSD。
2。设置磁贴服务器
之后,您可以使用此项目https://github.com/urbica/tessella 运行您自己的磁贴服务器,以便从网站或移动应用程序中使用。
服务器的资源将取决于您要在服务器中使用的 MBTiles 文件的大小。
3.启用等高线
这也是可能的,但有点棘手。我建议你使用 Maptiler 作为服务。
每当我完成这件事时,我都会将信息返回给您。
如果您生成的图块不包含等高线/高程数据,那么样式将无济于事。 OpenMapTiles 的瓦片内部没有轮廓。
4.显示 GPS 轨迹
这也是可能的。你想在这里使用什么技术?是网络吗?那么 Leaflet 就是你的朋友。如果是手机应用,可以去VTM:https://github.com/mapsforge/vtm或者Carto试试。
【讨论】:
谢谢。对于 pt.1&2,我找到了一个教程:golb.hplar.ch/2018/07/self-hosted-tile-server.html 我开始关注它,但我的虚拟机 linux 没有足够的磁盘。但我现在明白它是如何工作的。对于 pt.3,我不确定如何,但我认为应该可以从 OpenTopoMap 指定样式文件?对于 pt.4,我想要的是生成包含所有 gps 跟踪数据的图块。假设您有 300 条轨道,我想从中生成 mbtiles,然后我可以使用传单或其他东西将其覆盖在另一张地图上。 如果您生成的图块不包含等高线/高程数据,那么样式将无济于事。 OpenMapTiles 的瓦片内部没有轮廓。 可以在图块内添加轨道,尽管我建议您为它创建一个包含所有路线的 GeoJson。 我觉得我有些混淆了,抱歉。 “风格”是指用于将 osm 数据转换为 mbtile 的规则。您可以从他们的网站下载等高线图块,我想将其与底图结合起来,以获得类似 opentopomap 的东西。为了显示路线,我将它们作为不同的 kml 文件,一个文件对应一个路线。我可以证明,例如传单没有问题,但那些不是标准瓷砖。我不知道 GeoJson,那是不是也支持瓦片流? 有一个我想要的例子:s.geo.admin.ch/84b7c88c36你可以在基本地图上看到那些红色和黄色的远足路线,可以打开和关闭,也可以点击(至少一些他们)以上是关于OpenMapTiles 初学者问题的主要内容,如果未能解决你的问题,请参考以下文章