banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 30 July 2024 17:00

cteyssier
Juste Inscrit !
Date d'inscription: 18 Jul 2024
Messages: 5

Lizmap : Aide API Lizmap pour la création d'un script js custom

Bonjour a tous,

Je suis actuellement en train de modifier un projet que je viens de récupérer après une prise de poste en tant que Géomaticien. Pour ce projet je vais avoir besoin de créer un projet parent qui contient des couches a l'échelle nationale et des projets enfants avec leurs couches respectives. Pour ce faire je vais donc avoir besoin d'appliquer un filtre personnalisé pour chaque projet enfant pour filtrer les couches nationales avec les départements correspondant à chaque région. Après avoir essayé plusieurs solutions la solution qui me parait le plus viable est de créer un script javascript qui va s'exécuter au lancement de la carte pour appliquer le filtre. Cependant n'étant pas un développeur javascript a la base et ne disposant que de la documentation générée automatiquement par Lizmap j'ai beaucoup de mal à comprendre comment le code fonctionne et quel objet je vais devoir manipuler.  J'ai trouvé cette fonction sur le github du projet qui a priori fait ce que je veux faire mais pas moyen de la faire fonctionner ni de comprendre sa logique : https://github.com/3liz/lizmap-javascri … _filter.js

Est-ce qu'il y aurait quelqu'un a l'aise avec l'API javascript de Lizmap qui pourrait me donner des pistes pour me débloquer ?

Merci d'avance pour avoir pris le temps de lire,

Corentin

Hors ligne

 

#2 Tue 30 July 2024 23:12

Al3+
Participant actif
Lieu: Fécamp
Date d'inscription: 5 Sep 2005
Messages: 59

Re: Lizmap : Aide API Lizmap pour la création d'un script js custom

Bonsoir,

Si vous optez pour la solution Lizmap, il y a bien plus simple pour atteindre votre objectif.

Je vous invite à consulter la documentation officielle ici :
https://docs.lizmap.com/current/fr/publ … login.html
où vous aurez les explications nécessaires pour mettre en place un filtre "géographique".

Pour la diffusion restreinte des données nominatives du cadastre, j'ai créé un seul projet QGIS dans lequel j'ai une couche me permettant de définir l'emprise autorisée à chaque groupe d'utilisateurs.

Il n'y a donc pas besoin de s'appuyer sur des scripts, certes proposés par 3Liz mais qui commencent à dater.

N'hésitez pas à me recontacter si besoin.

Hors ligne

 

#3 Wed 31 July 2024 10:09

cteyssier
Juste Inscrit !
Date d'inscription: 18 Jul 2024
Messages: 5

Re: Lizmap : Aide API Lizmap pour la création d'un script js custom

Bonjour,

Merci pour votre réponse j'aurais quelques questions. Si j'ai bien compris la documentation on parle ici de filtrer des couches en fonction des utilisateurs. Dans le contexte de mon projet je pourrais utiliser cette fonctionnalité en utilisant le tag "all".

Imaginons que je veux filtrer ma couche "commune" qui contient toutes les delimitations géographiques des communes à l'échelle nationale. J'ai donc une couche "commune" dans mon projet parent provenant de ma base Postgresql qui est utilisée dans tous les projets enfants à l'échelle régionale. Je devrais donc créer une colonne par région dans ma table commune qui prendrait la valeur "all" ou NULL en fonction de si je veux l'afficher ou pas ?

Merci encore pour le temps pris à me répondre,

Corentin

Hors ligne

 

#4 Fri 02 August 2024 15:05

Al3+
Participant actif
Lieu: Fécamp
Date d'inscription: 5 Sep 2005
Messages: 59

Re: Lizmap : Aide API Lizmap pour la création d'un script js custom

C'est un peu l'idée mais il n'y a pas besoin de créer un champ par région, et heureusement...

On imagine que vous avez des couches gérées à l'échelon national : les délimitations de communes, les routes, le bâti etc... Ce sont ces couches que vous souhaitez filtrer en fonction des "droits" d'accès de vos utilisateurs.

Vous utilisez une autre couche "filtrante" : celle des régions (ou des départements, je n'ai pas bien compris votre niveau de filtre attendu), dans laquelle vous venez ajouter 1 et 1 seul champ. Ce champ doit alors contenir la liste des "groupes d'utilisateurs" définis dans la gestion des comptes de LizMap.
Vous aurez le choix de lister les groupes ou les utilisateurs, ça va dépendre du nombre de comptes que vous gérez et du nombre d'utilisateurs devant avoir les mêmes droits.
Typiquement, j'ai 33 communes pour lesquelles j'ai créé un groupe spécifique et pour chaque groupe je peux avoir de 1 à n comptes utilisateurs en fonction de la taille de chaque commune.

Ensuite, il vous reste à définir pour chaque couche de votre projet, si elle doit être filtrée ou non (voir en pièce jointe un aperçu de l'interface).

En l'occurrence, mon projet contient plus de 50 couches mais je n'en ai que 3 ou 4 pour lesquelles j'ai besoin de filtrer les données en fonction du périmètre de compétence. De votre côté, il faudra peut-être toutes les ajouter.

Si vous ne proposez que de la consultation de données via l'interface carto, c'est à dire sans passer par les tables attributaires proposées par LizMap, une autre astuce consiste à utiliser le principe de filtre non pas spatial mais attributaire sur une couche "mask".
J'ai utilisé cette astuce sur mon projet ouvert aux communes pour éviter d'avoir à définir toutes les couches 1 par 1 comme étant filtrées.

D'un point de vue performances, c'est peut-être moins bon car dans l'absolu toutes les données sont chargées. Il y a des compromis à faire entre le rendu, la gestion et les temps de réponse...


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#5 Tue 06 August 2024 16:55

cteyssier
Juste Inscrit !
Date d'inscription: 18 Jul 2024
Messages: 5

Re: Lizmap : Aide API Lizmap pour la création d'un script js custom

Je vois merci beaucoup pour la réponse et le temps pris à expliquer !

Hors ligne

 

Pied de page des forums

Powered by FluxBB