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

IGN API Géoportail Discussion :

Barre de recherche - trier les résultats


Sujet :

IGN API Géoportail

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut Barre de recherche - trier les résultats
    Bonjour,

    Est-ce qu'il est possible de distinguer entre les homonymes dans les résultats d'une recherche de lieu? Par exemple si on rentre 'saint-germain' dans la barre de recherche pour cette exemple on obtient deux communes et une vingtaine de 'Lieu-dit habité. Est-ce qu'on peut extraire le numéro du département par exemple et l'ajouter aux résultats de la recherche?

    Merci d'avance,

    James

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 128
    Points : 1 764
    Points
    1 764
    Par défaut
    La réponse de l'api peut contenir de multiples informations dont le code postal et le type de lieudit.
    Dans le cas de "saint-germain", cela commence ainsi :
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?><XLS version="1.2" xsi:schemaLocation="http://gpp3-wxs.ign.fr/schemas/olsAll.xsd" xmlns:xls="http://www.opengis.net/xls" xmlns="http://www.opengis.net/xls" xmlns:xlsext="http://www.opengis.net/xlsext" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><ResponseHeader sesionID=""/><Response version="1.2" requestID=""><GeocodeResponse><GeocodeResponseList numberOfGeocodedAddresses="100"><GeocodedAddress><gml:Point><gml:pos>46.332762 5.328303</gml:pos></gml:Point><Address countryCode="PositionOfInterest"><StreetAddress><Street></Street></StreetAddress><Place type="Municipality">saint-germain</Place><Place type="Departement">01</Place><Place type="Bbox">5.328303;46.332762;5.328303;46.332762</Place><Place type="Importance">7</Place><Place type="Commune">Villemotier</Place><Place type="Nature">Lieu-dit habité</Place><Place type="Territoire">FXX</Place><PostalCode>01270</PostalCode></Address><GeocodeMatchCode matchType="City" accuracy="1.0"/></GeocodedAddress><GeocodedAddress><gml:Point><gml:pos>45.743981 5.700771</gml:pos></gml:Point><Address countryCode="PositionOfInterest"><StreetAddress><Street></Street></StreetAddress><Place type="Municipality">saint-germain</Place>
    Après pour filtrer, il faut ou ré-écrire la fonction d'analyse ou surcharger l’existante.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Merci pour votre réponse mga_geo.
    J'ai réussi en envoyant une requête POST de récupérer la réponse en XML.

    En lisant le code de l'exemple geoportalMap_gazetteer.html, ce que je ne comprends pas est quel fonction fait l'analyse du XML pour sortir les résultats. Est-ce que c'est LocationUtilityService? Si oui, est-ce qu'il faut fournir une fonction pour les formatOptions pour trier les résultats?

    James

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 128
    Points : 1 764
    Points
    1 764
    Par défaut
    Le service OpenLS répond une liste ordonnée par "accuracy" et l'API se contente de l'afficher sans sélection possible (cf http://depot.ign.fr/geoportail/api/O...ce/GeoNames.js fonction LUSSuccess).

    Pour filtrer les réponses, il faut surcharger cette fonction ou en écrire une autre ...

    Au passage la mise à jour du site http://depot.ign.fr/geoportail/api date du 26 février.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Merci pour ces précisions. Je vais étudier le code de Geonames.js.

    Je marque cette discussion 'résolu' puisque c'est à moi de jouer maintenant!

    James

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    2 128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 2 128
    Points : 1 764
    Points
    1 764
    Par défaut
    Sur http://atlasnw.free.fr/geoportail/ex...recherche.html , j'ai surchargé la fonction pour ne prendre en compte que les réponses du département 35.
    J'en ai profité pour ajouter l'information code postal, commune dans la liste de choix.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Merci beaucoup mga_geo. Votre programme marche sans sans problème sur mon serveur local. Je pense avoir compris la technique de surcharge, qui remplace le code pour LUSuccess dans Geonames.js. Je devrais pouvoir l'adapter à l'application que je voudrais faire.

    Merci encore!

    James

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lucene] Trier les résultats d'une recherche
    Par madjidri dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 29/11/2008, 16h31
  2. Moteur de recherche : comment trier les résultats par pertinence
    Par aucunIDdeLibre dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/12/2007, 13h42
  3. [MySQL] Trier les résultats en fonction d'une colonne ordre
    Par eclipse012 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 05/01/2007, 13h59
  4. barre de recherche dans les fonctions php pour firefox
    Par titoumimi dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 8
    Dernier message: 03/02/2006, 10h16
  5. [MySQL] Trier les résultats résultant d'une BDD
    Par florent dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 23/12/2005, 20h22

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