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 :

Extension pour Leaflet et contrôle SearchEngine


Sujet :

IGN API Géoportail

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut Extension pour Leaflet et contrôle SearchEngine
    Bonjour à tous,
    J'utilise le contrôle SearchEngine de l'extention Leaflet, qui marche très bien pour la recherche standard. En revanche, je n'arrive pas à faire fonctionner la recherche par parcelle cadastrale. Je pense avoir à peu près tout essayé, mais la recherche ne donne jamais aucun résultat. J'ai testé entre autres ce que suggère ce thread, avec des underscores, mais ça ne donne pas plus de résultat. Que fais-je de travers? Auriez-vous un exemple de recherche qui fonctionne?
    Par ailleurs, j'essaie de personnaliser le contrôle SearchEngine (voir pièce jointe), et la doc est bien faite, mais je ne trouve pas comment faire en sorte que, dans la recherche avancée, seule la recherche par parcelle cadastrale soit possible. Y a t-il un moyen?

    Nom : fiddle.jpg
Affichages : 112
Taille : 246,9 Ko

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Après avoir creusé la question, j'ai le sentiment que la recherche avancée ne fonctionne tout simplement pas, qu'elle concerne les lieux/toponymes, les adresses ou les parcelles cadastrales.
    Voir par exemple la démo mise à disposition par l'IGN: https://ignf.github.io/geoportal-ext...et-bundle.html
    Qu'en est-il?

  3. #3
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    Bonjour,

    désolé pour le temps de réponse.

    Il y a effectivement un problème sur la recherche avancée sous les extensions Leaflet. On essaye de trouver le temps pour corriger le plus rapidement possible.

    Je vous tiens au courant dès qu'on a avancé sur le sujet

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Merci!

  5. #5
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    Bonsoir,

    je vous invite à tester avec les modifications introduites par cette PR : https://github.com/IGNF/geoportal-extensions/pull/377.

    Exemple avec les extensions pour Leaflet :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    var search = L.geoportalControl.SearchEngine({
                  collapsed : false,
                  displayInfo : true,
                  placeholder : "Recherche de points d'interêt...",
                  displayMarker : true,
                  markerStyle : "green",
                  zoomTo : "auto",
                  resources : {
                    geocode: ["CadastralParcel"]
                  },
                  position : "bottomright",
                  displayAdvancedSearch : true,
                  advancedSearch : {}
                });

    Puis exemple de recherche fonctionnelle dans la recherche avancée :


    Code département : 75
    Code Commune INSEE : 056
    Section : DU
    Numéro : 0005
    Feuille : 1

    Nom : Capture d’écran du 2024-05-16 19-41-09.png
Affichages : 54
Taille : 98,0 Ko

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Bonjour et merci pour votre message. Au préalable, je précise que je ne connais pas bien Github.
    J'ai téléchargé la branche de votre PR et j'utilise le fichier source GpPluginLeaflet-src.js (la modif n'est pas appliquée aux builds, je suppose que c'est normal). J'ai modifié la fonction mergeParams comme indiqué (Edit: L'autre modification proposée concerne un fichier du plugin pour OpenLayers).
    Malheureusement, la recherche cadastrale ne donne toujours aucun résultat.

  7. #7
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    La modification de ce commit est-elle appliquée : https://github.com/IGNF/geoportal-ex...91b3742a0f617e à votre bundle Leaflet ?

    De plus, le paramétrage proposé fonctionne t-il pour au moins limiter les entrées de la liste déroulante de la recherche avancée à la recherche de parcelles cadastrales ?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par elias couppe Voir le message
    La modification de ce commit est-elle appliquée : https://github.com/IGNF/geoportal-ex...91b3742a0f617e à votre bundle Leaflet ?
    Non, elle ne l'est pas dans mon téléchargement de ce matin, mais ça y est, tout fonctionne grâce à cette modification.

    Citation Envoyé par elias couppe Voir le message
    De plus, le paramétrage proposé fonctionne t-il pour au moins limiter les entrées de la liste déroulante de la recherche avancée à la recherche de parcelles cadastrales ?
    Oui.

    Merci pour votre aide!

  9. #9
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    OK cool, je passe en résolu alors.

    Une release "officielle" des extensions Géoplateforme pour Leaflet sera faite la semaine prochaine avec ces correctifs une fois la PR validée, je vous invite à vous brancher dessus une fois publiée.

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Et... ça ne marche plus, sans que je touche quoi que ce soit au code. Je vais creuser encore un peu.
    Petite précision, je viens d'avoir un timeout sur le chargement de la page, peut-être une indisponibilité du service?

    EDIT: Ok ça fonctionne, mais:
    - la recherche est case sensitive: si je saisis une lettre de section, par exemple, en minuscule, la recherche échoue. A mon sens, c'est un peu gênant du point de vue de l'utilisateur lambda.
    - plus embêtant: la recherche par nom de commune ne fonctionne pas.

  11. #11
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    Si le code n'a pas changé, c'est :
    - soit une différence dans l'utilisation du widget de recherche
    - soit une indisponibilité sur un service de la GPF

    Pour savoir, il nous faudrait plus de détails sur ce qui ne marche plus :
    - la page se charge ?
    - si oui, c'est la recherche par parcelle qui ne renvoie rien ?

    N'hésitez pas à regarder s'il y a des erreurs en console de développement, notamment dans l'onglet réseau. Peut être que :
    - un fichier ne se charge pas ?
    - des requetes vers la GPF ne répondent pas ?

    A première vue, je ne vois pas d'indispo de mon côté.

  12. #12
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Ok ça fonctionne, mais:
    - la recherche est case sensitive: si je saisis une lettre de section, par exemple, en minuscule, la recherche échoue. A mon sens, c'est un peu gênant du point de vue de l'utilisateur lambda.
    - plus embêtant: la recherche par nom de commune ne fonctionne pas.

  13. #13
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    Merci pour ces remontées :

    - pour le point 1, on peut eventuellement gérer le caseSensitive effectivement.

    - pour le point 2, je vous invite à lire la doc du service : https://geoservices.ign.fr/documenta...eocodage#70974


    --> le nouveau service permet de filtrer par nom de commune que sur les index PositionOfInterest et Address. Pour l'index Parcel, il faut utiliser municipalityCode, departmentCode, districtCode...
    Nom : Capture d’écran du 2024-05-17 17-03-55.png
Affichages : 45
Taille : 72,3 Ko

    Du coup :
    - malheureusement c'est du ressort du service, donc je ne crois pas qu'on puisse faire grand chose pour chercher par nom de ville
    - par contre d'un point de vue interface, on devrait retirer le champ "nom de ville" pour la recherche par parcelle cadastrale car inutile

    J'essaye de faire tout ça la semaine prochaine, en me renseignant préalablement auprès de fins connaisseurs du service pour confirmer que ma compréhension du service de géocodage est bonne.

  14. #14
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    D'accord, c'est compris. C'est un peu dommage pour le nom de commune, ça réserve la recherche par parcelle cadastrale à un public un peu plus initié, et ergonomiquement parlant, c'est pas génial. Pour prendre un exemple, la recherche par parcelle du géoportail propose bien le nom de commune et fait abstraction du code insee. N'y voyez pas une critique, c'est simplement que ça me surprend, compte tenu du fait que le code semble indiquer que c'est supporté:

    Nom : 2024-05-17_17h24_46.png
Affichages : 43
Taille : 6,0 Ko

    Merci encore, et bon week-end!

  15. #15
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    Oui je comprends et suis plutôt d'accord avec vous. Je note votre remarque et la remonterai, peut être que le service pourra évoluer en ce sens

    Pour information, le Géoportail utilise le même service, donc a les mêmes contraintes.

    En réalité, deux requêtes "chainées" sont réalisées lors d'une recherche avancée par Parcelle.

    1 - vous tapez le nom de ville, par exemple "Paris 13", et cliquez sur OK :

    Nom : Capture d’écran du 2024-05-17 17-30-57.png
Affichages : 43
Taille : 18,0 Ko

    La requête suivante est envoyée :
    https://data.geopf.fr/geocodage/sear...0&q=paris%2013

    A partir du résultat cliqué par l'utilisateur, il est alors possible de récupérer le districtCode et municipalityCode de la ville choisie via la réponse de cette première requête qui contient les infos.

    2 - vous remplissez numéro de section, feuille, numéro

    Nom : Capture d’écran du 2024-05-17 17-33-51.png
Affichages : 42
Taille : 9,8 Ko

    La requête suivante est envoyée :
    https://data.geopf.fr/geocodage/sear...number=0005&q=

    3 - Et les parcelles sont récupérées

    Nom : Capture d’écran du 2024-05-17 17-37-05.png
Affichages : 42
Taille : 20,3 Ko


    Il est donc quand même techniquement possible de s'en sortir pour quand même avoir un champ "nom de commune", en enchainant une requete de type address puis une requete de type parcel.


    Bon week end à vous

  16. #16
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Citation Envoyé par elias couppe Voir le message
    Il est donc quand même techniquement possible de s'en sortir pour quand même avoir un champ "nom de commune", en enchainant une requete de type address puis une requete de type parcel.
    Oui, c'est ce que j'ai fait via un hack de sauvage que j'ai honte d'avoir écrit, mais ça reste simple et fiable.

    Par ailleurs, voici un potentiel bug dans la recherche avancée. On utilise le widget par défaut, sans personnalisation.
    1) Lancer une recherche par parcelle, avec résultat
    2) Cliquer sur le résultat
    3) Relancer une recherche par parcelle

    On obtient en réponse une erreur 400, "q param and structured search cannot be used together". Ce qui se passe, c'est qu'au lancement de la deuxième recherche, la requête de géocodage contient un paramètre q dont la valeur est celle du résultat cliqué dans la recherche précédente.

    Nom : bug-recherche.png
Affichages : 36
Taille : 12,8 Ko

  17. #17
    Membre éclairé Avatar de elias couppe
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2014
    Messages
    418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2014
    Messages : 418
    Points : 805
    Points
    805
    Par défaut
    Bonsoir,

    Dans la prochaine livraison :

    - recherche non case-sensitive pour le champ section pour la recherche par parcelle cadastrale
    - retrait du champ "nom commune" pour la recherche par parcelle cadastrale


    Pour le dernier point relevé, je cite :

    On obtient en réponse une erreur 400, "q param and structured search cannot be used together". Ce qui se passe, c'est qu'au lancement de la deuxième recherche, la requête de géocodage contient un paramètre q dont la valeur est celle du résultat cliqué dans la recherche précédente.
    L'erreur 400 n'est pas catchée, mais le comportement est logique : la recherche avancée prend ce qu'il y a d'écrit dans la barre de recherche principale en paramètre query lorsqu'on clique sur "Chercher". Or le service pour la recherche par parcelle cadastrale uniquement n'accepte pas le paramètre query + des filtres.

    Quand on clique une première fois sur le résultat d'une recherche, la barre de recherche se remplit avec le résultat.

    Pour ne pas avoir l'erreur lors d'une nouvelle recherche par parcelle cadastrale il faut :
    - soit vider tous les champs du formulaire
    - soit vider la barre de recherche principale

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2018
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2018
    Messages : 38
    Points : 26
    Points
    26
    Par défaut
    Très bien, c'est noté, merci!

Discussions similaires

  1. Problème icone SearchEngine pour Leaflet
    Par japafrite dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 06/03/2019, 12h06
  2. Réponses: 1
    Dernier message: 07/07/2018, 00h59
  3. Extension Géoportail pour Leaflet
    Par arverne63 dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 15/06/2018, 15h56
  4. [Extension Geoportail pour leaflet] problème de connexion à Geoportail.
    Par apprentieSIGWEB11 dans le forum IGN API Géoportail
    Réponses: 3
    Dernier message: 16/03/2018, 15h05
  5. contrôles Géoportail des extensions pour Leaflet ou OpenLayers 3
    Par betechsud dans le forum IGN API Géoportail
    Réponses: 1
    Dernier message: 05/07/2016, 08h28

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