Ruby程序,使用OSM API检索OpenStreetMap数据

时间:2013-08-20 03:14:58

标签: ruby api openstreetmap

如何使用OSM API(http://wiki.openstreetmap.org/wiki/API)和Ruby从OpenStreetMap(OSM)检索数据?有没有红宝石可用于我的目的?我一直在为我的目的寻找一个好的解决方案,但没有任何东西能满足我的需要。 例如:给定国家名称作为输入,我需要获得该国家所有街道的列表等。 任何类型的链接/代码示例或起点都可以。然后我可以探索更多以找出我需要的东西。谢谢!

2 个答案:

答案 0 :(得分:2)

由于提出的问题不是Stack Overflow的主题,我将回答“如何找到我可以使用的东西”的问题,而不是对工具本身提出任何建议。

我不熟悉OpenStreetMap的任何宝石。

所以我从终端做这个命令:

gem list --remote | grep street

我的终端用这个回答我:

openstreetmap (0.2.1)

然后我拉起我信赖的浏览器,打开ruby-toolbox.org并搜索openstreetmap。

这会生成一个显示30个结果的页面。在那里,我看到了提到的gem,但我也看到Rosemary看起来很有希望,因为它是一个“OpenStreetMap API客户端用于ruby”,它最后一次更新仅在4个月前。

所以,希望这有助于将来的搜索。您可以使用大量工具开始搜索,以便在此问题中找到您要求的点,这样您就可以开始做您需要的工作。

答案 1 :(得分:2)

您要使用的main API不适合此类查询。它主要用于在区域内编辑和检索数量的地图数据。对于较大的查询,最好使用速度更快的Overpass API,如果需要,还可以使用complex query conditions

Overpass API使用XML作为输入,并提供XML或JSON作为输出格式。所以在任何常见的脚本语言中都应该很容易使用。