2013-02-21 3 views
2

J'ai écrit une application qui analyse un fichier CSV, extrait des adresses et les géocode à l'aide de l'API REST de Bing Maps. Le problème que j'ai est que si je cours plusieurs fois le même fichier, j'obtiens des résultats différents. Lors du premier essai, les lignes 2 et 6 peuvent ne renvoyer aucune correspondance. Lors de l'essai suivant, les lignes 2 et 6 renverront des correspondances et la ligne 4 ne le sera pas. J'ai inspecté le trafic HTTP en utilisant Fiddler. Mes requêtes sont correctement formées, chaque réponse renvoie le code d'état HTTP 200 et JSON valide, seulement certaines adresses donnent des résultats et d'autres non, et le succès ou l'échec d'une adresse particulière change d'un procès à l'autre. Quelqu'un peut-il fournir un aperçu?Résultats incohérents de Bing Maps Geocoder

MISE À JOUR


Demande d'échantillon:

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 

Exemple de réponse:

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 

Mon post sur les forums MSDN: http://social.msdn.microsoft.com/Forums/en-US/bingmapsservices/thread/c7fea1b2-f87e-40c2-a3a6-496989a338b2#b885ca9a-018a-491f-9caa-a00a515cf9a8

Répondre

4

clé Bing Maps et de limitation des taux d'information

Je suis sûr que vous utilisez une clé Bing Maps qui serait un procès ou d'une clé de base. Ce type de clé est limité pour des raisons évidentes (sur une période de 24 heures et avec un délai entre la demande) et c'est la raison pour laquelle vous obtenez une réponse vide sans aucune information concernant le fait qu'il n'a pas réussi à géocoder.

Voir les conditions d'utilisation en ce qui concerne les limites et autres restrictions (essai et marteler le stress en font partie): http://www.microsoft.com/maps/product/terms.html

Ainsi, afin de résoudre votre problème, vous devez:

  • Vérifier le type de clé que vous utilisez et le nombre d'appels que vous faites sur une période déterminée
  • Vérifiez l'en-tête de la réponse, il faut inclure une valeur d'en-tête spécifique: X-MS-BM-WS-INFO ensemble à 1

Voir MSDN à propos de la gestion des erreurs: http://msdn.microsoft.com/en-us/library/ff701703.aspx

Si vous n'êtes pas dans ce cas (si vous avez un compte d'entreprise), joindre le support technique afin qu'ils puissent officielement revenir à vous et vérifier la clé.

Informations complémentaires:

Puisque vous utilisez le géocodage en utilisant un fichier CSV, je recommande fortement d'utiliser le Bing Maps Service de données spatiales pour effectuer géocodage par lots, voir les informations complètes sur le MSDN: http://msdn.microsoft.com/en-us/library/ff701733.aspx

Cela réduira le nombre de transactions que vous effectuerez (chaque travail de flux de données de géocodage compte pour une transaction et peut inclure plus de 200 000 entités pour chaque fichier).

+0

Merci, Nicholas. J'ai une licence d'entreprise, donc je ne pense pas avoir de limite de taux. Cela étant dit, mon taux de réussite semble changer à différents moments de la journée et d'un jour à l'autre, donc je me demande si cela n'a rien à voir avec la charge générale sur le serveur Bing Maps.Je vais garder un œil sur l'en-tête X-MS-BM-WS-INFO pour le moment et voir si cela indique quelque chose. À l'avenir, je vais certainement utiliser le géocodage par lots, mais ça ne vaut pas la peine de refactoriser cette application, donc si je peux trouver un travail, ce serait préférable. –

+0

X-MS-BM-WS-INFO est toujours 0 même dans le cas des défaillances décrites ci-dessus. J'ai mis à jour le PO avec un exemple de demande et de réponse. –

+0

Étant donné que vous êtes un client d'entreprise, vous devez contacter le support technique pour qu'il puisse escalader. Veuillez fournir les informations détaillées (comme le lien vers cet article) afin qu'ils puissent avoir un traceId et les différentes informations contenues dans l'en-tête. –