CLI从osm文件生成地图图块(打开街道地图)?

时间:2012-07-31 15:28:43

标签: linux gps openstreetmap

我尝试使用Maperitive从osm文件生成地图图片切片。但这个过程既缓慢又难以自动化。

我看一些工具可以做这样的事情:

mapgen planet.osm lv1-10 lat0 lon0 lat1 lon1 [some other rendering options]

其中

  • planet.osm是开放的街道地图格式文件。
  • lv1-10是缩放级别
  • lat0 lon0 lat1 lon1是地理坐标。

并输出到文件夹包含数千个png tile文件。感谢

2 个答案:

答案 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如何渲染数据。

相关问题