【问题标题】:As anyone tried using the below OSM API正如任何人尝试使用以下 OSM API
【发布时间】:2016-08-10 11:55:05
【问题描述】:

如果有人尝试在 C# .Net 应用程序中使用以下 OSM API 从纬度和经度检索地址,请告诉我。

http://nominatim.openstreetmap.org/reverse?format=json&lat=[Latitude]&lon=[Longitude]

我要求在下面发布相同的内容。

谢谢

【问题讨论】:

  • 你的代码是什么?很有可能,你确实有很多要求

标签: c# openstreetmap


【解决方案1】:

正如错误所说,您创建的请求过多。

在 Google 上的快速搜索显示,您可以发送的请求数量存在硬性限制,可在 Nominatim 的使用政策中找到:

要求

  • 没有大量使用(每秒绝对最多 1 个请求)。
  • 提供一个有效的 HTTP Referer 或 User-Agent 来识别应用程序(由 http 库设置的普通 User-Agent 不会这样做)。
  • 清楚地显示适合您的媒体的归属。
  • 数据是根据 ODbL 许可证提供的,该许可证要求以相同的方式共享(尽管小量提取可能会被公平 使用/公平交易)。

来源:https://wiki.openstreetmap.org/wiki/Nominatim_usage_policy

因此,为了修复此错误,您必须确保您的整个应用程序每秒发送的请求不超过 1 个。

【讨论】:

  • 谢谢。出于跟踪目的,我只尝试一个请求。问题仍然存在。
  • 您可能仍被阻止。等到解锁或尝试contactadmins。以后停止滥用 OSM 服务。
  • 对不起先生。我不是在滥用这些服务,也不是在这里降级任何服务。我只是提到了我遇到的问题,以便我可以从专家(如您)那里获得帮助以解决我的问题。
  • 不提供用户代理也可能导致问题(请参阅“要求”),即使是第一次请求也是如此。我在使用 .NET WebClient API 时遇到了类似的问题,并且提供了一个用户代理解决了这个问题(例如 webClient.Headers[HttpRequestHeader.UserAgent] = "Your Application")。
猜你喜欢
  • 2016-12-27
  • 2018-11-15
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-25
相关资源
最近更新 更多