Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 mer. 30 novembre 2016 14:24

GénéralCorentin
Membre
Date d'inscription: 17 mai 2016
Messages: 4

[Lizmap] Opérations de sélection d'entités en interrogeant Postgresql

Bonjour,

Je souhaiterais ajouter des opérations de saisies d'entités à Lizmap Web Client.
Je travail avec deux types de couches : des tronçons de rivières (type segment) et des stations d'observations (type ponctuel) qui sont disposées le long des cours d'eau. Ces couches sont stockées dans une base PostgreSQL/PostGIS.

Pour l'instant, j'ai développé dans l'interface Lizmap un panier qui permet d'enregistrer des stations au clic de la souris. Le contenu du panier peut être envoyé via un formulaire à une page web dédiée à des traitements spécifiques (graphique interactif...).


Mon objectif est d'étendre la manière de sélectionner les stations suivant plusieurs critères d'après les segments de rivières :
- Dans un premier temps effectuer des opérations de vérifications : concrètement, après avoir sélectionné un tronçon de départ et un tronçon de fin, ajouter au panier toutes les stations incluses dans le bassin aval ou amont de la rivière.
- Cette première action inclue le fait de vérifier que le tronçon de fin appartient bien au bassin aval/amont du tronçon de début avant de valider.
Ces opérations peuvent tout à fait être réalisées par des requêtes SQL, qui peuvent renvoyer des identifiants d'objets.
- Dans un second temps, je souhaiterais pouvoir effectuer ces requêtes et mettre à jour la carte en mettant en surbrillance les entités correspondantes au critère de sélection et les ajouter au panier.

https://i.gyazo.com/0473219be3a2e2b41b15e6433de06406.png
Tronçons de rivière (segments bleus), sélectionnés (segments jaunes) - stations d'observation (points oranges)


Je pense que ce principe peut être étendu à d'autres opérations comme un calcul d’itinéraire à partir d'un point...


Mes questions sont les suivantes :
- Comment me conseillez-vous de communiquer avec la base de données depuis Lizmap Web Client ?
- Comment puis-je récupérer le résultat de la requête et mettre à jour les couches de l'interface (objet en mode "surbrillance") ?
- Que pouvez-vous me conseiller comme processus ? (node.js pour interroger la base de données et Ajax + Openlayers pour mettre à jour la carte ?)

J'ai pu trouver un sujet de discussion qui parle de mise à jour du projet, mais le besoin n'est pas tout à fait le même dans le sens ou je n'ai pas besoin d'inclure des objets géographique mais interroger une base et me récupérer une réponse vrai/faux/une liste d'identifiants : https://github.com/3liz/lizmap-web-client/issues/414

Peut-être dois-je revoir mon processus et que ces opérations d'inclusion géographique peuvent être réalisées simplement du coté client avec Openlayers ?


Je travail sous Debian avec Lizmap Web Client 3.0.
Merci d'avance pour votre aide et les pistes que vous pourriez me donner.


EDIT
Il semble que le fait d'inclure la bibliothèque "ajax" ne fasse plus fonctionner Lizmap et l'interface se fige.
Par exemple : TypeError: $(...).combobox is not a function

https://api.jquery.com/jQuery.ajax/

Je concentre les recherches sur les lizmap.event pour récupérer les tables attributaires et mettre en surbrillance les objets


Corentin

Dernière modification par GénéralCorentin (jeu. 19 janvier 2017 11:36)

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |