【问题标题】:R: Yahoo/Bing or other alternatives to Google Earth for geocoding?R:Yahoo/Bing 或 Google Earth 的其他替代品进行地理编码?
【发布时间】:2012-01-03 13:53:55
【问题描述】:

我正在估计 500K+ 个位置的纬度和经度。 dismo 包中的 geocode() 函数看起来很完美,但它使用 Google 地球作为后端。问题是 GE 的使用限制为每天 2500 次查询,这对我来说抛出了dismo 作为一个现实的解决方案。所以我的问题是:

  1. 是否有任何其他软件包可以做同样的事情,但使用 Yahoo、Bing 或其他具有更宽松限制的后端?
  2. 是否还有其他我可能不知道的在 R 之外运行批量查询的方法?解决方案必须是免费的:-(

注意:我正在对印度的地点进行查询,因此仅限美国的解决方案不适用。

补充问题:我不是开发人员,所以我可能会在这里说话。在我看来,geocode() 函数在后台调用 Google 的 API,因此能够吐出纬度/经度坐标。既然r/dismo是开源的,有什么办法可以改变指向Yahoo/Bing的指针吗?

【问题讨论】:

  • This question of mine has some answers - 我的上下文有点不同,但你可能会在那里找到一些有用的东西。
  • 这些地点的地理范围是多少?全球可能需要成为在线地理编码器,但较小的区域将有潜在的离线解决方案。
  • 全在印度。我的查询必须针对村庄、街道、地区和州的名称。我已经测试了 google 的 API 一个星期,感觉经纬度都差不多。
  • 您到底想做什么?也许您可以使用 OpenStreetMap 来查找您的坐标。它应该适用于大多数大城市......

标签: r map gps gis


【解决方案1】:

Yahoo 将允许每个 API 密钥每天最多进行 5 万次查询。 Bing 将允许 10k。 Google 的 2500 限制基于 IP 地址,而不是 API 密钥。所有这些对于如何使用数据都有非常严格的使用条款。通常,他们坚持只在显示(例如网页)中使用它,并且不得以任何方式存储。如果您打算将这些服务用于探索性研究以外的任何事情,那么这些文档值得一读。

您可以试试geocoding service at USC。我自己没有使用过它,但它似乎允许每个事务最多 2500 个请求,并且通过文件上传和 API 提供批处理服务。

【讨论】:

    【解决方案2】:

    另一种选择(我没有尝试过)是通过Ryan Elmore's RDSTK package 使用Pete Warden's Data Science Toolkit。目前尚不清楚 Pete Warden API 的限制是什么,但整个事情都是开源的,他提供了有关如何设置您自己的实例的说明。在这种情况下,您必须调整 RDSTK 包以指向您自己的实例,但这是在 this file 中进行的非常简单的搜索和替换。

    主要警告:我实际上还没有尝试过。我的地理编码方案偏离了轨道,所以我还无法跟进这些事情。

    【讨论】:

    • 谢谢,马特。但是随机搜索会发现太多的不一致/漏洞。不过,打得很好。
    • Matt... 您的评论给了我一个想法,我在原始帖子中作为补充问题提出了这个想法。抱歉,我对自己更换包裹一无所知。
    • @user702432 很遗憾得知 DSTK 不适合您。我查看了 dismo::geocode 函数,我认为您不能轻易修改它以指向另一个 API - 那里的大部分代码看起来都非常特定于 Google。在 R 之外你可能会有更好的运气——也许看看geopy,它可以让你从几个不同的服务中进行选择(我自己没有使用过)。
    • 谢谢,马特。我想我现在必须深入研究 Python。恐怕我只知道基本的东西。
    • @user702432 您也可以随时尝试在gis.stackexchange.com 提问 - 只需确保链接回此问题即可。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    相关资源
    最近更新 更多