我尝试使用Maperitive从osm文件生成地图图片切片。但这个过程既缓慢又难以自动化。
我看一些工具可以做这样的事情:
mapgen planet.osm lv1-10 lat0 lon0 lat1 lon1 [some other rendering options]
其中
并输出到文件夹包含数千个png tile文件。感谢
答案 0 :(得分:3)
根据您的示例命令行,我猜您正在尝试使用整个行星数据(planet.osm)进行渲染。这在Maperitive中是不可行的,因为它需要在渲染之前将整个OSM文件加载到内存中(即使您只指定了一个小的边界框)。
为大区域(整个国家,大陆或地球)渲染切片的唯一真正方法是将OSM数据填充到PostGIS数据库中,然后使用Mapnik进行渲染。
或者,您可以先使用渗透等工具将planet.osm切割成一个小文件,但这也需要很长时间。
还要注意以下事项(quoting myself):
指定缩放级别时要小心。每个缩放级别都需要 瓷砖的数量是前一个瓷砖的四倍,因此您可以非常快速地完成 达到相当数量的瓷砖,这可能需要很长时间 生成并需要大量磁盘空间。
假设我们有一张地图,在缩放级别10大致覆盖了整体 电脑屏幕(这大约是伦敦和 它周围的环境)。这意味着大约有15个用于缩放的图块 10.如果我们想为整个地图生成图块会发生什么 直到缩放级别19?
- 缩放级别11:60个图块
- 缩放级别12:240个图块
- 缩放级别13:960>瓷砖
- ...
- 缩放级别17:245,760个图块(cca。工作80分钟,cca。> 10 GB磁盘空间)
- 缩放级别18:983,040个图块(超过5个小时的工作时间,cca.40 GB的磁盘空间)
- 缩放级别19:3,932,160个图块(几乎一整天的工作,cca.160 GB的磁盘空间)
答案 1 :(得分:2)
我不知道任何这样的工具已经存在。您可以轻松地调整各种项目用于生成地图图块的众多脚本之一 - 其中大多数使用Mapnik。看看这个Mapnik demo - 它有详细记录,应该相对容易适应。
请注意,您需要为渲染提供其他参数(在命令行或脚本本身) - 最明显的是一个样式文件,告诉Mapnik如何渲染数据。