7
votes

Choisir le géocode le plus précis

J'utilise http://maps.google.com/maps/geo ? Service Web vers Geocode Quelques adresses.

Le problème que j'ai est qu'une adresse plus complète ne donne pas nécessairement à un géocode plus précis.

L'attribut de précision dans le XML ne semble pas très utile pour décider quelle adresse à choisir.

Comment d'autres personnes ont-elles traité cette question? Y a-t-il un bon moyen de choisir le meilleur géocode qui fonctionne le plus / tout le temps?

* Modifier Un peu d'informations supplémentaires - lorsque je mets dans l'adresse plus complète, la première ligne de l'adresse est ignorée et que le géocodeur saute une adresse différente, mais exacte, qui est une rue centrale située dans la ligne supplémentaire ajoutée à l'adresse. Dans cet exemple, il choisit la rue du château au milieu Llangollen, ce qui ne négligeait apparemment à Llantysilio.

Modifier par KDGregory: Voici les deux demandes d'API que j'ai utilisées (la clé de l'API manquante ne semble pas être un problème) : xxx


6 commentaires

Ah bon? Parce que lorsque vous collez ces adresses dans Google Maps, vous obtenez le même endroit. Je serais très surpris si leurs cartes Web utilisent un moteur de géocodage différent. Peut-être que vous avez une différence d'orthographe dans vos données réelles?


Oui, je sais - c'est bizarre qu'ils diffèrent, mais j'ai vérifié sur quelques endroits différents. Essayez aussi Goathland, (Whitby,) North Yorkshire, Royaume-Uni


Intéressant: j'ai construit les deux demandes d'API, et vous avez raison, ils sortent avec différents résultats. La requête plus longue retourne les résultats à la voie de la voie, tandis que le plus court ne le fait pas. Plus intéressant est que lorsque j'examine le lien de Google Maps, c'est aussi différent.


Vérification de la page API Google Maps, il apparaît qu'il y a une nouvelle version (en version bêta, bien sûr). Je me demande si l'API de géocodage utilise l'ancienne version et des cartes utilise le nouveau?


Nice conseil - je suis éteint maintenant, mais j'essaierai demain


Sinon, je me demande si c'est un problème avec des noms de placements hiérarchiques. Ici, à Pennsylvanie, nous avons une hiérarchie "d'arrondissement, de canton, de comté, d'état" et j'ai reçu des résultats différents de différentes requêtes - Google semblait prendre le canton sur l'arrondissement. En regardant le Massachusetts, qui est organisé par la ville avec des comtés immatérielles, il a renvoyé les mêmes résultats pour chaque requête.


5 Réponses :


0
votes

une réponse géocode.placemark [0] via GMAP Vous pouvez vérifier ce que vous avez reçu et prendre le niveau ou réessayer. J'ai choisi la valeur par défaut dans l'ordre

place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName


0 commentaires

0
votes

Vous pouvez essayer un piratage très laid qui consiste à géocoder votre adresse complète et tous les sous-ensembles des mots Votre adresse contient, vous obtenez beaucoup de géocodes que vous utilisez pour obtenir les adresses qui leur sont liées avec un outil de géocodage inverse. Une fois que vous avez beaucoup d'adresses, vous les comparez avec celui que vous avez donné pour la première fois, vous prenez le géocode le plus précis ... De nombreuses demandes, beaucoup d'itération poussant avec chaque mot que vous ajoutez à votre adresse, bien un travail laide mais peut être amusant de faire des statistiques ^^


0 commentaires

1
votes

Il est probablement bon de noter que Google ne suit pas les spécifications xales , mais les implémente plutôt dans un sous-ensemble.

Ainsi, cela signifie que vous avez gagné ' t nécessairement être capable de faire: xxx

car un pays et une sous-localité peuvent être fournis alors qu'une zone administrative n'est pas.

Les données qui sont Retour est identifié avec une jauge de précision qui vous donne une idée relative de ce que vous pouvez attendre pour les données. Ainsi, vous pouvez stocker des objets et couper des parties de l'adresse complète en utilisant cette variable et essayer de géocode dans une telle mode - ce n'est pas recommandé.

Typiquement, une adresse complète est (sans la voie de circulation) est un bon moyen de trouver l'emplacement général. Vous pouvez utiliser une partie de la logique préférentielle pondérée que Google fournit pour affiner l'adresse.

E.g. Utilisez le SetViewPort ou SetCountryCode pour donner à vos recherches un peu plus de précision.

N'oubliez pas que le géocodage n'est pas une science . Vous ne pouvez pas vous attendre à des résultats cohérents.


1 commentaires

Par exemple, pour "Mississippi River, Minnesota, USA" Google Fournir uniquement Place.AddressDetails.Cacidation = 0; place.addressdetails.addressline = ["" Mississippi "]; Aucune information sur le pays



4
votes

Vous devez interpréter la précision de mon ami. Il y a généralement 2 parties à une précision, d'abord le macthe d'adresse. La deuxième partie est la partie importante. Vous pouvez géocode quelque chose à un niveau de précision des États-Unis, ou d'un niveau de ville, de Centry Centroid, de niveau interpolé de rue ou d'un niveau de précision de la parcelle réelle. Le premier exemple a un 4 et la seconde est 9. Pour ce service supérieur, c'est mieux.

Valeur de précision Description 0 précision inconnue. 1 précision du niveau des pays. 2 Région (État, province, préfecture, etc.) Précision de niveau. 3 sous-région (comté, municipalité, etc.) Précision de niveau. 4 Town (ville, village) Précision de niveau. 5 Code postal (code postal) Précision de niveau. 6 précision de niveau de rue. 7 précision de niveau d'intersection. 8 précision du niveau d'adresse. 9 Principe (nom du bâtiment, nom de propriété, centre commercial, etc.) Précision de niveau.


0 commentaires

0
votes

À la fin, j'ai conclu qu'il y avait beaucoup trop de blips étranges dans la cohérence de l'adresse avec le géocoding Webservice de Google au Royaume-Uni, mais éventuellement réussi à trouver un moyen d'utiliser la base de codes postaux, ce qui est beaucoup plus précis: Comment ça se fait


0 commentaires