OpenMapTiles 初学者问题

st.*_*st. 3 openmaptiles

我希望用自托管和免费的东西代替谷歌地图。搜索了一段时间后,我找到了 OpenMapTiles。我对这个东西很陌生,所以有很多我不明白的东西,即:

  • 我不确定我是否有资格使用预渲染图块,我可以从 osm 数据自己生成我的图块吗?
  • 我想要像谷歌地形图这样的东西,带有等高线,这可以用 OpenMapTiles 实现吗?
  • 我还有一些 GPS 轨迹,我想在基本地图(OSM 或 Google)上显示它们,我希望它们可点击(点击打开链接或弹出窗口或类似的东西),这可能吗?
  • OpenMapTiles 服务器运行繁重吗?

谢谢

xar*_*g89 5

这完全有可能,我自己已经做到了。但是,做所有事情都需要一段时间。

1.生成MBTiles

首先,我建议您开始查看 OpenMapTiles 的 Github 存储库:https : //github.com/openmaptiles/openmaptiles

要生成一个 MBTiles 文件,对于一个国家来说,在您自己的计算机上是很容易做到的。基本上你可以通过以国家名称作为参数执行主脚本来实现。像这样:

./quickstart.sh portugal
Run Code Online (Sandbox Code Playgroud)

在脚本创建一个 Docker 机器后,下载国家的 OpenStreetMap 数据,处理它,并生成 MBTiles 文件,然后你就完成了。

对我而言,使用普通计算机,对于西班牙或葡萄牙等国家/地区,大约需要 4-12 个小时才能完成。但这真的取决于国家。挪威需要永远(大约 4 天),我相信是因为它的海岸线很长。

如果您想要一个适用于整个地球的 MBTiles 文件,那么您需要一台功能更强大的计算机,特别是具有大 SSD 和大量 RAM。32 到 64 GB RAM 和 250-300 GB SSD。

2.设置tile服务器

之后,您可以使用此项目https://github.com/urbica/tessella运行您自己的 tile 服务器,以便从网站或移动应用程序中使用。

服务器的资源将取决于您要在服务器中使用的 MBTiles 文件的大小。

3. 启用轮廓线

这也是可能的,但有点棘手。我建议您为此使用 Maptiler 作为服务。

每当我实现这件事时,我会带着信息回来给你。

如果您生成的图块不包含等高线/高程数据,则样式将无济于事。OpenMapTiles 中的图块内部没有轮廓。

4.显示GPS轨迹

这也是可能的。你想在这里使用什么技术?是网络吗?那么小叶是你的朋友。如果它是移动应用程序,那么您可以尝试 VTM:https : //github.com/mapsforge/vtm或 Carto。