我尝试使用Maperitive从 osm 文件生成地图图像图块。但这个过程既缓慢又难以自动化。
我在看一些工具可以做这样的事情:
mapgen planet.osm lv1-10 lat0 lon0 lat1 lon1 [some other rendering options]
在哪里
- Planet.osm 是开放的街道地图格式文件。
- lv1-10 是缩放级别
- lat0 lon0 lat1 lon1 是地理坐标。
并输出到包含数千个 png 平铺文件的文件夹。谢谢
我尝试使用Maperitive从 osm 文件生成地图图像图块。但这个过程既缓慢又难以自动化。
我在看一些工具可以做这样的事情:
mapgen planet.osm lv1-10 lat0 lon0 lat1 lon1 [some other rendering options]
在哪里
并输出到包含数千个 png 平铺文件的文件夹。谢谢
根据您的示例命令行,我猜您正在尝试使用整个星球数据(planet.osm)进行渲染。这在 Maperitive 中是不可行的,因为它需要在渲染之前将整个 OSM 文件加载到内存中(即使您只指定了一个小的边界框)。
为大面积(整个国家、大陆或地球)渲染图块的唯一真正方法是将 OSM 数据填充到 PostGIS 数据库中,然后使用 Mapnik 进行渲染。
或者,您可以先使用 osmosis 之类的工具将planet.osm 剪切成一个小文件,但这也需要很长时间。
还要注意以下事情(引用我自己的话):
指定缩放级别时要小心。每个缩放级别需要大约四倍于前一个级别的图块,因此您可以非常快速地获得大量图块,这可能需要很长时间才能生成并且需要大量磁盘空间。
假设我们有一张缩放级别为 10 的地图大致覆盖了整个计算机屏幕(这大约是伦敦及其周边地区)。这意味着缩放级别 10 大约有 15 个图块。如果我们想要为整个地图生成直到缩放级别 19 的图块会发生什么?
- 缩放级别 11:60 个图块
- 缩放级别 12:240 个图块
- 缩放级别 13:960> 平铺
- ...
- 缩放级别 17:245,760 个图块(cca. 80 分钟的工作,cca.> 10 GB 的磁盘空间)
- 缩放级别 18:983,040 个图块(超过 5 小时的工作,大约 40 GB 的磁盘空间)
- 缩放级别 19:3,932,160 个图块(几乎一整天的工作,大约 160 GB 的磁盘空间)