我正在创建一个使用在线和离线地图的iPhone旅行应用程序。对于离线地图,我想允许用户下载他们感兴趣的地区(例如伦敦)的mbtiles文件。地图上应该有已经在OpenStreetmap中找到的道路等信息。我知道诸如http://metro.teczno.com/用于下载Openstreetmap摘要。创建Openstreetmap提取的mbtiles文件的最简单方法是什么?注意:不需要自定义地图。我试过使用TileMill,但我看不到正确的地图信息。关于这方面的大多数信息都表明要加载相当多的其他工具,并且说明不容易遵循,或者它们不起作用,而且由于我不需要地图自定义,因此应该不需要它。我的主要/首选工作环境是Windows、Mac和Ubuntu(在Windows下使用VirtualBox)。
谢谢Tom
这些事情从来都不是很容易,但我已经尝试在Maperiive中使它们尽可能容易。几天后,我将发布一个新版本,它支持从OSM XML文件创建MBTiles。同时,您可以阅读旧的教程,该教程将瓦片作为web地图服务器的单独文件生成。由于您不需要自定义地图,因此可以跳过以下步骤:http://braincrunch.tumblr.com/post/9921938947/maperitive-tutorial-a-hiking-web-map-in-ten-easy-steps
几天前,我在我的网站上写了一篇文章——这是一个关于如何从OSM数据生成PNG光栅mbtile的分步过程。
我是mbtiles的重度用户,几周前我确实设法部署了一个基于node.js和Mapnik的解决方案。它非常快速,方便和一行命令解决方案。
接下来的步骤是:
-
下载并安装node.js–确保它是32Bit版本,否则Mapnik将无法工作。
-
如果您还没有Python,请安装它。
-
在node.js控制台中安装Mapnik执行命令:
npm install -g tl @mapbox/mbtiles tilelive-http
-
安装成功后,您应该能够执行以下命令:-z(最小缩放级别)、-z(最大缩放级别)
tl copy -z 0 -Z 15 -b "19.481506 49.050920 20.407791 49.319751" "http://a.tile.openstreetmap.org/{z}/{x}/{y}.png" mbtiles://./tatra.mbtiles
这将为Tatra山脉创建测试mbtiles文件,如果您在Windows上,该文件将位于C:\Users{your_user_name}\文件夹中
由于声誉低下,我无法包含URL或图片,但我在这里记录了这个过程。
您可以使用此工具从任何.osm.pbf文件创建MBTiles-https://github.com/systemed/tilemaker
-
从Geofabric或任何其他源下载.osm.pbf文件
-
下载瓷砖制造商
-
执行以下命令
tilemaker --input netherlands.osm.pbf --output netherlands.mbtiles --process resources/process-openmaptiles.lua --config resources/config-openmaptiles.json
你可以在这篇博客文章中阅读更多关于它的信息-https://blog.kleunen.nl/blog/tilemaker-generate-map