Ray*_*lli 2 geocoding geospatial bing-maps
我编写了一个应用程序,它使用 Bing Maps REST API 解析 CSV 文件、提取地址并对其进行地理编码。我遇到的问题是,如果我多次运行同一个文件,我会得到不同的结果。在第一次试验中,第 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
Run Code Online (Sandbox Code Playgroud)
示例响应:
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
Run Code Online (Sandbox Code Playgroud)
我在 MSDN 论坛上的帖子:http : //social.msdn.microsoft.com/Forums/en-US/bingmapsservices/thread/c7fea1b2-f87e-40c2-a3a6-496989a338b2#b885ca9a-018a-491f-9caa-15c00a
Bing Maps 键和速率限制信息
我确定您使用的是 Bing Maps 密钥,它是试用密钥或基本密钥。由于明显的原因(在 24 小时内和请求之间的时间段内),这种类型的密钥受到速率限制,这就是为什么您收到空白响应而没有任何有关它未能进行地理编码的事实的信息的原因。
请参阅有关限制和其他限制的使用条款(压力测试和锤击是其中的一部分):http : //www.microsoft.com/maps/product/terms.html
因此,为了解决您的问题,您应该:
X-MS-BM-WS-INFO设置为 1请参阅有关错误处理的 MSDN:http : //msdn.microsoft.com/en-us/library/ff701703.aspx
如果您不是这种情况(如果您有企业帐户),请联系技术支持,以便他们可以正式回复您并检查密钥。
附加信息:
由于您使用的是使用 CSV 的地理编码器,我强烈建议您使用 Bing 地图空间数据服务来执行批量地理编码,请参阅 MSDN 上的完整信息:http : //msdn.microsoft.com/en-us/图书馆/ff701733.aspx
它将减少您将进行的事务数量(每个地理编码数据流作业计为 1 个事务,并且每个文件可以包含超过 200 000 个实体)。