【问题标题】:CLI to generate map tiles from osm file (open street map)?CLI 从 osm 文件生成地图图块(打开街道地图)?
【发布时间】:2012-07-31 15:28:43
【问题描述】:

我尝试使用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 文件。谢谢

【问题讨论】:

    标签: linux gps openstreetmap


    【解决方案1】:

    根据您的示例命令行,我猜您正在尝试使用整个星球数据 (planet.osm) 进行渲染。这在 Maperitive 中是不可行的,因为它需要在渲染之前将整个 OSM 文件加载到内存中(即使您只指定了一个小的边界框)。

    为大区域(整个国家、大陆或地球)渲染图块的唯一真正方法是将 OSM 数据填充到 PostGIS 数据库中,然后使用 Mapnik 进行渲染。

    或者,您可以先使用 osmosis 之类的工具将 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 小时的工作,大约 40 GB 的磁盘空间)
    • 缩放级别 19:3,932,160 个图块(几乎是一整天的工作,大约 160 GB 的磁盘空间)

    【讨论】:

      【解决方案2】:

      我不知道已经存在任何此类工具。您可以轻松地调整各种项目用于生成地图图块的众多脚本之一——其中大多数使用Mapnik。看看这个Mapnik demo——它有据可查,应该相对容易适应。

      请注意,您需要为渲染提供额外的参数(在命令行或脚本本身中)——最值得注意的是告诉 Mapnik 如何渲染数据的样式文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多