geocoding - Bing map 地理编码器的结果不一致

标签 geocoding geospatial bing-maps

我编写了一个应用程序,用于解析 CSV 文件、提取地址并使用 Bing map REST API 对它们进行地理编码。我遇到的问题是,如果多次运行同一个文件,我会得到不同的结果。在第一次试验中,第 2 行和第 6 行可能不会返回任何匹配项。在以下试验中,第 2 行和第 6 行将返回匹配项,而第 4 行可能不会返回匹配项。我使用 Fiddler 检查了 HTTP 流量。我的请求格式正确,每个响应都返回 HTTP 状态代码 200 和有效的 JSON,只是有些地址产生结果,有些则不产生结果,并且特定地址的成功或失败会因试验而异。谁能提供任何见解?

更新


示例请求:

GET http://dev.virtualearth.net/REST/v1/Locations?o=json&adminDistrict=MI&locality=Shelby&postalCode=49455-1299&addressLine=72+South+State+Street&key={MyApiKey} HTTP/1.1
Host: dev.virtualearth.net

响应示例:

HTTP/1.1 200 OK
Cache-Control: no-cache
Transfer-Encoding: chunked
Content-Type: application/json
Server: Microsoft-IIS/8.0
X-BM-TraceID: 9b6cfaa0abdb47b7b7e2790900bcddce
X-BM-Srv: BL2M001304, BL2MSNVM001275, BL2MSNVM001299
X-MS-BM-WS-INFO: 0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Fri, 22 Feb 2013 15:14:30 GMT

247
{
    "authenticationResultCode":"ValidCredentials",
    "brandLogoUri":"http:\/\/dev.virtualearth.net\/Branding\/logo_powered_by.png",
    "copyright":"Copyright © 2013 Microsoft and its suppliers. All rights reserved. This API cannot be accessed and the content and any results may not be used, reproduced or transmitted in any manner without express written permission from Microsoft Corporation.",
    "resourceSets":
    [
        {
            "estimatedTotal":0,
            "resources":[]
        }
    ],
    "statusCode":200,
    "statusDescription":"OK",
    "traceId":"9b6cfaa0abdb47b7b7e2790900bcddce|BL2M001304|02.00.83.1900|BL2MSNVM001275, BL2MSNVM001299"
}
0

我在 MSDN 论坛上的帖子:http://social.msdn.microsoft.com/Forums/en-US/bingmapsservices/thread/c7fea1b2-f87e-40c2-a3a6-496989a338b2#b885ca9a-018a-491f-9caa-a00a515cf9a8

最佳答案

Bing map key 和速率限制信息

我确定您使用的是 Bing map key ,该 key 是试用版或基本 key 。由于明显的原因(24 小时内以及请求之间的时间),这种类型的 key 受到速率限制,这就是为什么您会收到空白响应,而没有任何有关其无法进行地理编码这一事实的信息。

请参阅有关限制和其他限制的使用条款(压力测试和锤击是其中的一部分):http://www.microsoft.com/maps/product/terms.html

因此,为了解决您的问题,您应该:

  • 检查您使用的 key 类型以及您在特定时间段内调用的电话数量
  • 检查响应的 header ,它应包含特定的 header 值:X-MS-BM-WS-INFO 设置为 1

有关错误处理的信息,请参阅 MSDN:http://msdn.microsoft.com/en-us/library/ff701703.aspx

如果您不属于这种情况(如果您有企业帐户),请联系技术支持,以便他们可以正式回复您并检查 key 。

其他信息:

由于您使用的是 CSV 的地理编码器,我强烈建议使用 Bing map 空间数据服务来执行批量地理编码,请参阅 MSDN 上的完整信息:http://msdn.microsoft.com/en-us/library/ff701733.aspx

它将减少您进行的事务数量(每个地理编码数据流作业计为 1 个事务,并且每个文件可以包含超过 200,000 个实体)。

关于geocoding - Bing map 地理编码器的结果不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012502/

相关文章:

java - 国家/地区代码 (iso-3166-1/iso-3166-2) 到经度和纬度

geocoding - 有人知道进行离线反向地理编码的好方法吗?

ruby-on-rails - 地理编码器 : distance sortable index

mysql - MYSQL 中 POINT 和 GEOMETRYCOLLECTION 对象之间的距离

bing-maps - Bing Maps Ajax API https url?

iphone - cllocation -distanceFromLocation 准确性差

sql-server - 我将如何概括多个相邻的多边形?

python - pymongo geo2d 聚合结果以什么单位返回

javascript - 不会调用 Bing map 地理编码回调

c# - 将地址转换为坐标