IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

geocoder retourne des coordonnées décallées


Sujet :

APIs Google

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Points : 23
    Points
    23
    Par défaut geocoder retourne des coordonnées décallées
    Bonjour,

    Nous avons constaté une différence net sur certaine adresse, entre les coordonnées trouver sur google map, et celle retourner par la fonction geocode de l'objet geocoder.

    Par exemple, si vous entré cette adresse sur google map (celle que j'ai trouver avec l'erreur la plus flagrante) :
    Centre de Congrès de Lyon 69006 Lyon, Rhône, Rhône-Alpes
    le 1er marquer A est placé au bonne endroit.

    En revanche, si je passe cette même adresse au geocoder, il me retourne ces coordonnées:
    45.7751072 4.850197500000036

    Si on rentre ces coordonnées dans le champ de recherche de google map, on vois que le marqueur est largement décaler, carrément de l'autre coté du parc. Ce qui bien sur produit le même résultat quand je le place sur ma propre carte.

    Ce qui est étonnant, c'est que cela ne se produit pas avec toute les adresse :s

    j'utilise pourtant casiment le code donnée en exemple sur la doc de google, que voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     function codeAddress(adr){
    console.log(adr);
                        geocoder.geocode( { 'address': adr}, function(results, status) {
     
                            if (status == google.maps.GeocoderStatus.OK) {
                                console.log(results[0].geometry.location.lat()+' '+results[0].geometry.location.lng());
     
                                requestPlace(results[0].geometry.location.lat(),results[0].geometry.location.lng());
     
                            } else {
                                alert("Error: " + status);
                            }
                        });                
                }
    l'adresse et les coordonnées que j'ai tester son celle afficher dans ma console (avec les console.log. ).

    C'est vraiment embêtement, entre 100 et 200 adresse son géocodé ainsi, je ne pourrai dire combien de fonctionne pas correctement, peut être 10 a 20 %...et on ne s'en est pas rendu compte tout de suite, le client vient de me le signaler alors que le système est en place depuis 2ans

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 144
    Points : 44 954
    Points
    44 954
    Par défaut
    Bonjour,
    il est des choses qu'il ne faut pas perdre de vu
    location_type stores additional data about the specified location. The following values are currently supported:
    • google.maps.GeocoderLocationType.ROOFTOP indicates that the returned result reflects a precise geocode.
    • google.maps.GeocoderLocationType.APPROXIMATE indicates that the returned result is approximate.
    dans bien des cas ces la 2nd qui est retournée, tu peux toujours améliorer le résultats en ajoutant de la précision, notamment sur l'adresse et encore il pourra subsister des incertitudes.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Points : 23
    Points
    23
    Par défaut
    Mince j'avais peur de quelque chose comme sa.

    Mais alors comment ce fait il que maps.google.fr, lui, trouve les coordonnées exacte avec la même adresse donnée? ils ont réservé à ce site des données qui ne son pas disponible via le geocoder de l'api publique =O ?
    Ou simplement effectuent t'ils un traitement différent, en utilisant google place par exemple?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 144
    Points : 44 954
    Points
    44 954
    Par défaut
    Il faudrait voir avec la version Google Maps API for Business ce que cela donne.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 31
    Points : 23
    Points
    23
    Par défaut
    Malheureusement inenvisageable.

    J'ai fait des test avec google place api, avec des requête du genre:
    https://maps.googleapis.com/maps/api...ch/json?query=[nom_etablissement +CP+ville]_ou_[adresse]&location=location_trouver_par_geocoding&sensor=false&key=ma_clé

    Et la miracles, c'est pas du 100% juste, mais les 1er résultat retourné sont beaucoup plus probant.

    Donc voici ce que je voudrai mettre en place:

    -je cherche par géocoding avec adresse= adresse connu.
    SI locationType == ROOFTOP
    --> je prend ses coordonnée
    SINON
    --> requêtes google place avec query == nom_etablissement +CP+ville
    --> SI résultat trouvé
    ------> Je prend le réslutat le plus proche de celui trouver par geocoding
    --> SINON
    ------> je garde les coordoné trouver par geocoding

    Qu'en pensé vous?

    Ce que je trouve fou, c'est que je doit pas être le 1er a qui se problème de précision pose problème, tout de même.
    Dans l'exemple que j'ai données, l'adresse est approximative, mais dans certain cas je donne la rue et le numéro en plus, est j'ai autant d'erreur. Dans le cas d'un annuaire, disons, de restaurant par exemple, je ne pense pas qu'il enregistre en base les coordonné exacte de chaque restaurant ...si ?

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 144
    Points : 44 954
    Points
    44 954
    Par défaut
    Je ne connais pas ton application mais une bonne solution est de mettre en base les données affinées.

    Un autre possibilité t'est offerte c'est le passage par la méthode textSearch de la librairies Places.
    Je viens de tester et le résultat est plutôt bon
    Entrée : Centre de Congrès de Lyon 69006 Lyon, Rhône, Rhône-Alpes
    Sortie : Cité Centre de Congrès de Lyon (45.784669,4.852026)

Discussions similaires

  1. [Access et Delphi 5] Récuperer des coordonnées
    Par jouze dans le forum Bases de données
    Réponses: 2
    Dernier message: 06/03/2006, 11h55
  2. Une infobulle à partir des coordonnées sur une image
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/01/2006, 22h20
  3. Ecrire du texte avec des coordonnées 3D
    Par julian_ross dans le forum DirectX
    Réponses: 3
    Dernier message: 21/06/2005, 16h05
  4. Détourage d'image et recupération des coordonnées
    Par kiroukou dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 13/02/2005, 16h27
  5. [Manip de fichiers] Fonction retournant des infos
    Par sans_atouts dans le forum C
    Réponses: 3
    Dernier message: 24/07/2002, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo