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