Sommaire
1. Présentation générale 2. Installer 3. Configurer 4. Paramétrer & administrer
Gestion des données
Dans
Alias
Style
Mots-clefs
Zone
Thème
Cluster
Stats
Ordre
Journal des tâches
Maintenance
5. Utiliser
Croisement dynamique
Options du plugin
Rendu cluster
Tampon
Simplifier
Découper résultat
Correction à la volée
Décompte des entités
Travailler dans un masque
Liste compact
Arborescence en thèmes
Enjeux seuls
Fond de plan
Animation
Explications
Aide en ligne
Administration
Filtre sur aléas
Statistiques
6. Approfondir
Les styles
Les images
Le paramétrage
Les requêtes SQL
 
RDI Croisement dynamique
Notice d’utilisation
version 2.2
1. Présentation générale

Le plugin Qgis RDI croisement dynamique est un outil qui permet de réaliser simplement et rapidement des croisements spatiaux d’entités géométriques, comme extraire les enjeux inclus dans une zone inondable.
Tout en restant dans un environnement de Qgis (affichage et toutes les fonctionnalités de l’application qui vont avec), le plugin s’appuie sur la puissance de traitement d’un serveur Postgis en parallélisant les requêtes multiples en tâche de fond pour ne pas freiner l’utilisateur dans son exploration du territoire.
Tout est entièrement en « clic bouton » et ne nécessite aucune compétence particulière en langage SQL.

En résumé, le plugin fabrique dynamiquement la requête adaptée aux différentes options choisies et affiche en retour le résultat dans la symbologie pré-paramétrée. Un petit module de statistiques permet ensuite de travailler sur les valeurs contenues dans les champs (somme, moyenne, etc) en les regroupant par l’agrégation spatiale choisie.



Pré-requis:

  • Qgis version 3 minimum
  • Postgis version 2 minimum
  • 2. Installer

    Le plugin est distribué sur le dépôt de la DDT67 : http://piece-jointe-carto.developpement-durable.gouv.fr/DEPT067A/QGIS/plugins/plugins.xml
    qu’il suffit d’ajouter à la liste de vos dépôts dans le menu d’extension pour pouvoir le télécharger et bénéficier de ses mises à jour


    Une fois installée, vous pouvez accéder aux deux modules disponibles par le menu général :


    Analyser : module principal du plugin, est également accessible par sa petite icône qui s’installe aussi dans la barre de raccourcis des extensions et sera décrit plus précisément dans les chapitres 4.paramétrer & administrer et 5.Utiliser


    Configurer : module de paramétrage de la connexion à Postgres/Postgis, sera également proposé via le module principal lorsque la connexion échoue (ou à la première utilisation), décrit au chapitre 3.Configurer


    A propos : Lien vers le manuel d'utilisation que vous êtes en train de lire

    3. Configurer

    La première chose à faire est de définir la connexion à la base de donnée Postgis souhaitée, ces paramètres sont ensuite stockés dans le fichier de configuration parameter.ini du plugin et ne seront pas redemandés.

    Liste déroulante qui contient toutes les connexions déjà enregistrées dans Qgis
    Adresse IP du serveur
    Port de connexion (généralement 5432)
    Login et mot de passe associé
    Nom de la base de données ciblée

    Une fois la connexion établie, il faut spécifier le (ou les) schéma(s) où le plugin ira travailler et le nom des tables qui servent à son fonctionnement. Pour bénéficier d’un environnement partagé entre les différents utilisateurs, il conviendra de bien spécifier les mêmes noms de tables. Ces tables seront créées automatiquement par le plugin à l’aide du bouton Générer si elles n’existent pas déjà ou si leur structure ne correspond pas à celle attendue.



    Le schéma d’exécution
    Il doit impérativement être accessible en lecture / écriture à tous les utilisateurs. C’est un prérequis sans lequel le plugin ne pourra pas fonctionner car tous les résultats de croisements spatiaux sont stockés dans des tables temporaires. La table définie dans Execution y est générée ainsi que toutes les tables de stockage temporaire du résultat des requêtes. Le plugin ne monte pas de processus de nettoyage automatique intégré à la base de données, mais ces tables peuvent être toutes supprimées en un clic via l’interface.

    Astuce: Un ADL peut facilement envisager la mise en place d’une routine automatique via une tâche planifiée (par exemple avec pg_agent), toutes ces tables temporaires commencent par un même préfixe :« _tmp_ »

    Le schéma d’administration
    Il peut être identique au schéma d’exécution (comportement par défaut si laissé vide) ou spécifié différent pour restreindre les utilisateurs qui pourront effectuer le paramétrage du plugin (décrit dans le chapitre 4.paramétrer & administrer).
    La table définie dans Administration y est générée. C’est celle qui permet d’administrer le plugin en enregistrant la liste des couches qui seront présentées et utilisées dans le plugin, ainsi que des métadonnées associées pour permettre une personnalisation et une fluidification de l’utilisation.

    La base peut contenir d’autres schémas, uniquement accessible en lecture, qui contiennent déjà des couches SIG pouvant être référencées et utilisées par le plugin, sans que les utilstateurs puissent risquer de les modifier ou les supprimer.

    ⇒ La gestion des droits d’accès est donc intégralement dépendante de celle définie dans Postgres, et directement liée au login utilisé pour se connecter. Aucun droit spécifique n’est géré par le plugin lui-même.

    Une fois les choix effectués et les tables générées… il n’y a plus qu’à Lancer l’application !

    4. Paramétrer & administrer

    Ce chapitre décrit l’utilisation des 3 onglets

    Par défaut les trois onglets d’administration ne sont pas visibles, pour les activer il suffit de cocher, dans l’onglet des « Options du plugin » , la case « Administration »


    A la toute première utilisation dans votre environnement Postgis, la table d’administration est générée vide, il est donc nécessaire d’y référencer les couches SIG qui vont servir aux croisements spatiaux. Le paramétrage associé est stocké en base de données, cela signifie qu’il est commun à tous les utilisateurs.



    Gestion des données

    Filtre pour limiter le nombre de couches présentées
    Bascule en mode modification par lots
    Sélection de la couche à paramétrer au moyen de la liste déroulante ou de celle présentée en dessous lorsqu'aucune couche n'est sélectionnée.
    Les deux listes sont automatiquement mises à jour en fonction du filtre

    L’ajout de nouvelles couches se fait à l’aide du bouton
    Il y a trois façons d’ajouter une nouvelle couche

  • Si la couche est déjà présente dans la base de donnée Postgis
  • Il suffit alors de cibler le schéma et la table désirés
  • Si la couche n’existe pas encore dans la base de données, l’insertion peur se faire soit depuis des couches chargées dans Qgis, soit depuis un Fichier
  • Liste déroulante avec les couches vectorielles chargées dans Qgis
    Cocher la case pour inclure celles venant d'une autre base Postgis
    Choisir le schéma où insérer la couche (droits d’écriture nécessaire)
    et le nom de la table souhaité
    Ouvre l'explorateur de fichiers
    Choisir le schéma où insérer la couche (droits d’écriture nécessaire)
    et le nom de la table souhaité

    En cliquant sur Ajouter l’écran bascule alors sur le paramétrage de la couche (qui pourra ensuite être repris ultérieurement en la sélectionnant dans la liste)

    Nom complet en base de données (avec icône indiquant le type de géométrie)
    Nom présenté à l'affichage (composé du grupe et de l'alias)
    Choix de la fonction pour la couche
     
    * Alias pour renommer la couche
     
    * Paramétrage d’un style par défaut
     
    * Mots clefs utilisés dans les barres de filtre
     
    * Choix d'une zone existante ou la créer
     
    * Choix d'un thème existant ou le créer
     
    * Préréglage pour le rendu cluster
     
    * Préréglage pour les statistiques
     
    * Ordre de la couche
     
    ⇒ Les paramètres précédés d'une * sont facultatifs

    Détail des paramètres :
    « Dans »

    Définit la fonctionnalité de la couche, et surtout les endroits où elle sera présentée. La modification de ce paramètre sera gelée si la couche est associée à une zone (les couches d'une même zone devant être nécessairement de même type). Il y a trois sortes de couches possibles :

  • Enjeux : la couche sera présentée dans le bloc du même nom du module principal et représente des données dont on veut extraire celles qui sont à l’intérieur (ou extérieur) d’un polygone. Cette couche peut être de n’importe quel type (point, ligne, polygone)
    Exemple : Des points représentant la population sur le territoire
  • Aléas : la couche sera présentée dans le bloc du même nom du module principal et représente les polygones qui servent à intersecter les « enjeux ». Il n’y a pas de verrou physique sur le type, mais il sera peu utile d’y mettre des points ou des lignes (à moins d’activer l’option de tampon)
    Exemple : un polygone représentant une emprise de zone inondable
  • Statistiques : la couche servira à discrétiser les regroupements spatiaux utilisés avec les opérateurs d’agrégation, elle sera présentée dans le module « statistiques »
    Exemple : le périmètre des communes, pour sommer la population en zone inondable commune par commune
  • « Alias »

    Permet d’avoir un nom affiché pour la couche plus humain que celui, parfois un peu barbare, utilisé pour le stockage en base de donnée qui respecte une convention précise. Permet aussi de ne préciser que la sous-partie spécifique à la couche lorsque celle-ci est rattachée à une zone. Le nom affiché sera :
    - le nom de la table si rien n’est spécifié
    - le nom de l’alias si spécifié
    - le nom de la zone suivi de l’alias entre parenthèses si rattaché

    Exemple : Le zone « Kogenheim » contient 4 aléas associés à des hauteurs d’eau différentes pour cette station de mesure. Il suffit de renommer l’alias de chaque occurrence avec la seule hauteur « 2m88 » pour obtenir en affichage synthétique le nom complet : « Kogenheim (2m88) ».

    « Style »

    Permet d’enregistrer pour chaque couche un style par défaut qui sera automatiquement utilisé lors de l’affichage d’une couche. La liste de styles proposés variera en fonction du type de géométrie de la couche.

  • Il y aura toujours :
    Auto : Laissera Qgis utilisé son style par défaut
    Simple : Choix d’une couleur et d’une taille
    Personnalisé : Enregistrement du style préfabriqué depuis une couche chargée dans Qgis ou un fichier QML
    Texte brut : Édite le contenu du champ
  • Pour des points ou multipoints :
    Image : Choix d’une image SVG et d’une taille
  • Et tous les styles issus d'un fichier  :
    Il y en a 2 pré-paramétrés, mais il et possible d'en rajouter en respectant le format JSON
    ZIP : remplissage simple avec une couleur unie
    ZICH : remplissage simple avec un dégradé de bleu selon la hauteur
  • « Mots-clefs »

    Sont utilisés par les filtres (en plus du nom de la table, de son alias et des noms de zone & thème si renseignés) pour effectuer la recherche de correspondance et réduire le nombre de couches présentées dans les différents blocs.

    « Zone »

    Sert à regrouper toutes les couches d’un même périmètre géographique sous un même item. Lorsque l’option Liste compacte est activée, ces couches seront présentées en liste déroulante d’une même case à cocher et l’affichage de l’une remplacera automatiquement celle de l’autre sans faire de superposition sur la cartographie.
    Une fois créée, la zone est une entité (presque) comme les autres couches sur lequel on peut affecter (presque tous) les paramètres de ce chapitre qui s'appliqueront en cascade sur toutes les couches enfantes lorsque l'option Liste compacte est activée.

    Exemple : On regroupe sous le nom de la station limnimétrique « Kogenheim » toutes les zones inondables associées à différentes occurrence de crue.

    « Thème »

    Sert à rassembler toutes les couches d’une même thématique sous un même item. Lorsque l’option Arborescence en thèmes est activée, ces couches pourront être affichées ou masquées sur simple clic du nom du thème.
    Contrairement à la zone, le thème n'est qu'un dossier sans aucune propriété à part son nom. La pemière liste déroulante ne concerne que l'affectation de l'objet en cours. Ainsi, modifier le nom d'un thème dans cette liste créera un nouvel item sans affecter le rattachement des autres couches ciblant le même thème. Pour modifier le libellé d'un thème en cascade sur tous les objets qui lui sont rattachés, il faut passer par la petite icône .

    Exemple : On crée un bloc PPRi pour gagner en compacité dans la présentation des couches disponibles.

    « Cluster »

    Ce paramètre est accessible uniquement pour les couches ponctuelles (point ou multipoint).
    Lorsque l’affichage est activé en mode cluster il est possible de choisir le champ sur lequel faire une somme au lieu de simplement compter le nombre d’entités. Il s’agit d’un préréglage par défaut, chaque utilisateur pourra toujours choisir de le modifier via l’onglet de croisement dynamique.

    Exemple : Sur la couche population où chaque point représente un nombre d’habitants, en choisissant la bonne colonne à sommer on pourra reporter directement la population regroupée dans le cluster sur l’affichage cartographique.

    « Stats »

    Permet d’enregistrer les statistiques qui sont souvent utilisées sur une couche donnée, opération et champ cible (cf onglet des Statistiques). Il s’agit d’un préréglage par défaut, chaque utilisateur pourra toujours choisir de le modifier via l’onglet de statistiques.

    « Ordre »

    Permet de forcer l'odre de renvoi des couches avec un indice numérique (par défaut c'est l'ordre alphabétique de l'alias qui prime).

    Exemple : On affecte les valeurs d'ordre [1, 2, 3, 4] respectivement aux occurences [Q10, Q30, Q50, Q100] de façon à les avoir dans l'ordre de fréquence et non alphabétique (ie: [Q10, Q100, Q30, Q50])


    Pour éviter les manipulations répétitives et fastidieuses, il est possible d'affecter en un clic une même propriété à un ensemble de couches. Accessible au moyen du petit bouton ce mode permet d'une part de sélectionner les couches souhaitées, puis d'affecter la valeur de propriété voulue.
    Seuls les paramètres Style & Bloc peuvent être ainsi affectés, les autres étant trop spécifiques à chaque couche ou nécessitant un contrôle de cohérence.



    Journal des tâches
    Liste de toutes les requêtes construites dynamiquement par l’action de l’utilisateur et qui sont en cours ou en attente de traitement. Un rappel de la charge de travail est également reporté sur l’onglet principal de travail ( croisement dynamique) au moyen d’une barre qui se colore selon le nombre de tâches en traitement (vert-jaune-orange-rouge).
    Si trop de tâches sont lancées simultanément, il est conseillé de calmer l’utilisation pour éviter de provoquer un plantage de Qgis.
    Enfin, un petit bouton d’arrêt permet d’essayer d’annuler des tâches qui mettraient trop de temps à s’exécuter (action globale sur toutes les tâches en cours)



    Maintenance
    Le premier bloc donne quelques informations générales (version du plugin, connexion à la base de données, etc). Cela peut être utile si vous basculez l'utilisation du plugin entre des environnements différents, pour vérifier ce sur quoi vous travaillez. La petite icône en bas à droite de ce bloc permet de sauvegarder une copie de tout le fichier parameter.ini en cours pour une bascule plus rapide entre les connexions, au moyen d'une liste déroulante qui apparaîtra lorsqu'au moins une configuration aura été sauvegardée (sous le bloc décrit ici et en en cas d'échec de connexion du plugin).
    L'icône du bouton de connexion sera rappelée devant chaque élément de la liste déroulante dont les éléments de connexion sont identiques à celle en cours.

    Viennent ensuite une série de blocs qui permettent un contrôle plus avancé :

    Gestion des données, pour agir sur le serveur et les paramètre de connexion
       NB: un clic droit sur le titre permet de voir le contenu des tables en base de données
  • Etat du serveur : Petit gestionnaire sur les transactions en cours sur le serveur postgres
  • Paramètres communs : Possibilité de supplanter la valeur de certains paramètres du fichier parameter.ini par des valeurs communes en base de données
  • Purger stockage temporaire : supprime toutes les tables temporaires qui ont été créées pour forcer la ré-exécution des requêtes SQL
       NB: le point d'interrogation qui précède permet de connaître le nombre de tables sans les supprimer
  • : ouvre le module de configuration (identique à l'action du menu général Configurer)
  • : réinitialise le plugin (relance la connexion et supprime toutes les couches chargées)
  • Ouvrir, pour accèder aux fichiers du plugin
  • Dossier : ouvre l'explorateur à la racine du plugin
  • parameter.ini : ouvre le fichier de paramétrage dans l'éditeur de texte par défaut
  • Sauvegarde locale, pour ne pas perdre la personnalisation de sa configuration lors d'une mise à jour
       NB: un peu moins utile depuis la version 2.0 mais laissé néanmoins
  • Enregistrer : sauvegarde toute la paramétrisation locale (styles, images, etc)
  • Restaurer : restaure une paramétrisation précédemment sauvegardée
  • Génération automatique, pour lancer des croisements en série

    La génération automatique permet d'enregistrer tout ou partie des croisement spatiaux disponibles par le plugin.
    L'enregistrement se fera dans le dossier ciblé.
    Le script bouclera au choix sur tous les aléas/enjeux définis dans la connexion ou seulement ceux sélectionnés dans la session en cours.
           NB: un message de confirmation sera demandé si la génération excède la valeur du paramètre autoGenAlert du fichier de configuration parameter.ini
    L'enregistrement est disponible au choix en :
  • GeoPackage : Format vectoriel pour exporter les couches dans n'importe quel autre outil SIG
  • Regroupement : Choix du regroupement des couches en un ou plusieurs fichiers
  • Auncun : toutes les couches sont dans des fichiers séparés
  • Par Aléas : création d'un package contenant l'aléa et tous les enjeux croisés
  • Tout en un : création d'un package unique
  • Intégrer le style : Option d'enregistrement du style associé
  • Cartes PDF : Format image pour consultation ou impression
  • Mise en page : Choix d'une mise en page personnalisée et pré-parémétrée dans Qgis
  • Les mises en page proposées sont celles définies dans le projet
  • Mise en page minimaliste si « Auto »
  • Atlas : Choix d'une couche pour générer un atlas
  • Les couches proposées sont celles mises en Statistiques
  • Zoom sur l'emprise inondable totale si « Aucun »
  • Nom : Choix de la colonne pour donner un nom aux pages de l'atlas
  • Effet Pochoir : Option mettre un pochoir sur l'entité de l'atlas
  • Cartes thématiques : Option pour séparer en cartes distinctes les enjeux d'un même thème
  • PDF multi-couches : Option pour rendre les enjeux cliquables dans le PDF (Qgis v3.16 minimum)
  • 5. Utiliser
    Ce chapitre décrit l’utilisation des 4 onglets

    Ce sont les onglets de simple utilisation, aucune action dedans ne créera de modification dans la base Postgres hormis la création des tables temporaires issues des différentes requêtes effectuées.



    Croisement dynamique
    Il s’agit de l’onglet principal de travail, il propose la liste des couches paramétrées en Enjeux et Aléas avec des possibilités de filtre pour limiter l’affichage et retrouver plus facilement une couche ciblée.


    Sur chaque ligne, on retrouve le libellé de la couche avec une case à cocher pour la sélectionner ou non (clic "gauche" ou "normal").
    Au moyen d'un clic "droit" on ouvre un petit menu en popup pour accèder à plus de fonctionnalités :
  • Renommer : personnalisation du nom de la couche qui perdurera pendant toute la durée de la session
  • Propriétés : ouvre la fenêtre de propriétés de la couche chargée (symbologie)
  • Afficher les données : ouvre la table attributaire de la couche chargée
  • Zoomer sur : zoom sur l'étendu de la couche chargée
  • Inverser : possibilité d'inverser le croisement, c'est à dire de restituer les enjeux qui sont à l'extérieur de l'emprise des aléas sélectionnés.
    Si inversée, le symbole se placera en début de ligne.
    Fonctionnalité disponible pour les enjeux uniquement
  • Somme sur attribut : possibilité de modifier le rendu cluster en affectant la valeur du libellé sur la somme d'un attribut de la couche au lieu de compter simplement les entités.
    Le choix de l'attribut sur lequel faire la somme sera alors proposé sur la même ligne à la suite du libellé de la couche:
    Fonctionnalité disponible pour les enjeux ponctuels uniquement, lorsque l'option cluster est activée.
  • Administrer : renvoi vers la page de paramétrage de la couche.
    Fonctionnalité disponible lorsque l'option Administration est activée.


  • Lorsque la couche a été personnalisée (nom ou style modifié), son libellé apparaît en italique. Le menu intègrera alors la possibilité de revenir aux valeurs par défaut inscrite dans la table de gestion des couches.

    A chaque activation / désactivation d’une couche, le plugin génère automatiquement toutes les requêtes nécessaires pour calculer les aléas et les enjeux croisés selon l’ensemble des options choisies.
    Les couches résultats sont alors directement chargées dans Qgis.



    Options du plugin
    Regroupe toutes les options qui permettent de personnaliser le travail de chaque utilisateur. Il y a les options de géométrie qui agissent sur le croisement des données et le rendu des couches et les options d’affichage qui agissent sur l’interface du plugin. Toutes les options sont interactives et la modification d’un paramètre va, si nécessaire, générer le re-calcul de toutes les couches affichées.
    Tous les choix sont mémorisés dans le fichier parameter.ini et seront conservés à la prochaine utilisation du plugin.

    Géométrie
    Rendu cluster
    Fonctionne uniquement sur les couches ponctuelles (point ou multipoint). La création du style utilisera la fonction de « groupe de points » du moteur de symbologie pour n’afficher qu’un seul symbole avec un libellé indiquant le nombre d’entités regroupées.
    En activant Points en fond, le rendu affichera en dessous la même couche non regroupée en légère opacité (pratique pour mieux voir la dispersion des points).
    Tampon
    Permet de rajouter un tampon de valeur variable sur les couches d’aléas. Les bornes du tampon peuvent être modifiées par un clic droit sur la ligne.
    Simplifier
    Permet de simplifier la géométrie des aléas (diminution du nombre de points des polygones) et d’accélérer le temps de traitement. La valeur maximale de la simplification peut être modifiée par un clic droit sur la ligne.
    Découper résultat
    Fonctionne uniquement sur les couches linéaires ou surfaciques (ligne ou multiligne et polygone ou multipolygone). Découpe la géométrie issu du croisement pour afficher un résultat strictement inclus dans l’emprise souhaitée.
    Correction à la volée
    Rajoute des fonctions de correction de géométrie dans chaque requête de croisement d’enjeux. Cela permet parfois de réussir un croisement qui a échoué, mais la systématisation des corrections au préalable peut augmenter sensiblement le temps d’exécution des traitements.
    Décompte des entités
    Ajoute, dans le libellé des couches d'enjeux, le nombre d'entités présentes dans le résultat du croisement spatial.
    Travailler dans un masque
    Permet de réduire l'espace de travail à l'intérieur masque. Voir Filtre sur aléas pour plus de détails.

    Affichage
    Liste compacte
    Bascule entre l’affichage à plat de toutes les couches ou leur regroupement en liste déroulante selon le paramétrage effectué dans l’onglet de Gestion des données.
    Arborescence en thèmes
    Bascule entre l’affichage de toutes les couches en un seul bloc ou la séparation par les thèmes définis dans l’onglet de Gestion des données.
    En activant Tout déplier, les thèmes seront présentés dépliés à l'ouverture de l'interface
    Enjeux seuls
    Permet d'afficher la totalité des couches d'enjeux lorsqu'aucun aléa n'est sélectionné. Attention, cela peut provoquer quelques lenteurs si la couche est volumineuse...
    Fond de plan
    Pour charger automatiquement un fond de plan au démarrage du plugin.
    Lorsqu'activé, un encart sous le bloc Affichage vous permet de choisir une image raster parmi toutes celles qui sont chargées dans votre projet Qgis et de le mémoriser. Le raster choisi restera mémorisé (y compris en cas de désactivation de cette option) jusqu'à qu'il soit "supprimé"
    Animation
    Pour désactiver les petits points qui défilent à côté de chaque couche d’enjeu en attendant la fin du traitement Postgis.
    Explications
    Pour masquer les explications détaillées dans l’interface et la rendre plus compacte (les explications resteront disponibles en infobulle au survol de la souris).
    Aide en ligne
    Pour masquer les renvois à l'aide en ligne dans l’interface et la rendre plus compacte.
    Lorsque activé, les envois sont intégrés au plus proche de l'objet cible. Le renvoi vers la description de l'onglets est en bas à gauche du plugin (ou toujours disponible en double cliquant sur l'icone de l'onglet)
    Administration
    Pour afficher les onglets d’administration (décrits dans le chapitre 4.paramétrer & administrer).

    Fond de plan
    Apparaît si l'option Fond de plan est cochée.
    Si aucun fond n'a été choisi, une liste déroulante affichant tous les rasters chargés dans Qgis permet de sélectionner le type de fond souhaité. Seule la référence au raster sera mémorisée. Aussi, il sera nécessaire d'avoir accès à la source de la donnée pour que l'affichage du fond se fasse.
    Lorsque qu'un fond a été sélectionné. la référence du fond s'affiche et une glissière permet de régler son opacité.
    Pour changer de fond, il suffit de le supprimer et de recommencer.

    Zoom initial
    Par défaut, le plugin fait automatiquement à son démarrage un zoom sur l'emprise maximale de toutes les couches Aléas qui sont paramétrées.
    Cette opération peut devenir un peu coûteuse selon le nombre de couches ou leur taille. Il est alors possible de mémoriser l'emprise du canevas en cours qui servira de bornes pour le zoom initial.



    Filtre sur aléas
    Permet de limiter les entités d'aléas à partir desquelles le croisement des enjeux est effectué.

  • Légende

    Toutes les couches qui utilisent le style «Fichier» peuvent bénéficier de cette fonctionnalité. Il suffit de décocher un item de la légende pour que les enjeux ne soient pas croisés avec.

    Exemple avec le style ZICH
  • Sélection

    Relancera le croisement des enjeux à partir des entités d'aléas sélectionnées dans QGis.

  • Visible

    Relancera le croisement des enjeux à partir des entités d'aléas visibles dans QGis.



  • Lorsque l'option Travailler dans un masque est activée, un second bloc apparait dans l'onglet des filtres. Il permet de charger une couche de polygone présente dans Qgis qui viendra automatiquement restreindre l'emprise des aléas et des enjeux croisés pour ne renvoyer que les données à l'intérieur du masque.

    La couche choisie est chargée dans les tables temporaires de la base Postgis et restera accesible durant toute la session. Le masque sera par contre perdu si "supprimé" via l'interface ou si la table temporaire n'est plus disponible.



    Statistiques
    Permet de lancer des calcul d’agrégation spatiale sur les enjeux croisés. Les fonctions disponibles sont « somme », « moyenne », « minimum » et « maximum ».
    Pour chaque enjeu, il est possible de rajouter autant d’opération souhaitée sur les champs de la couche (« somme & moyenne » ne proposeront que les champs numériques, « minimum & maximum » travailleront avec l’ordre alphabétique des champs textes).
    Les entités sont systématiquement comptées sans qu’il soit nécessaire le paramétrer. De la même manière, si la couche est linéaire (ligne ou multiligne) la longueur totale sera calculée, et si la couche est surfacique (polygne ou multipolygone) la surface totale sera calculée.



    Il est possible de discrétiser les statistiques au moyen d’une couche de poygones (ex : celle des communes), les agrégations seront alors réalisées pour chaque entité. En choisissant une clef de regroupement non unique (ex : la colonne des intercommunalités) l’agrégation sera réalisée sur la fusion des entités ayant la même valeur.



    Chaque statistique calculée apparaît comme une nouvelle case à cocher listée dans l'encart de "Résultats" en lien avec la chargée par défaut dans le projet dans le bloc "Statistiques".
    Au moyen d'un clic droit sur la case à cocher, il est possible de
  • Renommer : personnalisation du nom de la statistique produite
  • Propriétés : ouvre la fenêtre de propriétés de la couche chargée (symbologie)
  • Afficher les données : ouvre la table attributaire pour voir les statistiques
  • Zoomer sur : zoom sur l'étendu de la couche chargée
  • Imprimer : Bientôt disponible... développement en cours
  • Supprimer : supprime la statistique (définitif)
  • 6. Approfondir

    Cette section est loin d'être indispensable pour utiliser le plugin, mais permet de mieux comprendre certains mécanismes et de personnaliser son utilisation au-delà des possibilités prévues par l'interface.


    Les styles
    Outre les possibilités de symbologie natives au plugin, il est possible d'en définir de nouvelles au moyen de fichiers JSON à placer dans le répertoire styles à la racine du dossier du plugin. Il est possible de modifier, enlever ou rajouter autant de fichiers JSON souhaités, lors de leur affectation à une couche donnée ils seront chargés en base de données pour que les autres utilisateurs d'un même environnement de travail (ie: base, schéma et nom de table d'administration identique) puissent en bénéficier.
    Chaque style est un fichier texte qui doit obligatoirement avoir l'extension .json et respecter strictement le format JSON (il existe des valideurs en ligne pour vérifier et corriger la validité du format si nécessaire), sans quoi ils seront ignorés par le plugin.
    Enfin, il est possible de désactiver un style sans le supprimer en ajoutant un second fichier vide de même nom en changeant seulement l'extension .json en .freeze. Cela aura pour effet de ne plus proposer le style dans la liste déroulante, mais il continuera à pouvoir être utilisé pour les couches où il a été paramétré.


    A chaque nouvelle mise à jour du plugin, le répertoire styles reprendra intégralement sa configuration par défaut.
    Pour conserver les fichiers ajoutés, il faudra bien penser à réaliser une sauvegarde avant de procéder à la mise à jour, puis la restaurer (voir onglet
    Maintenance).

    Chaque fichier est un dictionnaire qui peut comporter les attributs suivants :
  • name (texte)
    Libellé qui sera utilisé pour représenter le style (le nom du fichier sera utilisé si non défini)
    Veillez à bien encoder votre fichier en UTF-8 pour une bonne compréhension des caractères spéciaux
  • target (texte)
    Restriction possible sur le type de couches cibles : point, line ou polygon
  • *style* : un ou plusieurs champs décrivant la symbologie
    Il est possible d'utiliser tous les champs de symbologie simple reconnu par la classe QgsProperties
    La liste ci-dessous présente les principaux mais n'est pas exhaustive
  • color (texte) : couleur, au format hexadécimal (#RGB)
  • size (numérique) : taille, en millimètres
  • outline_color (texte) : couleur du contour, au format hexadécimal (#RGB)
  • outline_width (numérique) : taille du contour, en millimètres
  • vars (dictionnaire)
    Décrit vos variables. Chaque élément, dénommé par le nom de variable souhaité, est à nouveau un dictionnaire
  • label (texte) : libellé utilisé dans l'interface
  • default (texte ou numérique) : valeur par défaut de la colonne des couches (utile lorsque plusieurs couches sont au même format de données)
  • coeff (dictionnaire) : pour ajouter un coefficient multiplicateur (ne pas utiliser si la colonne à traiter est du texte)
  • default (numérique) : valeur par défaut
  • unit (texte) : référence à une liste de valeur pour une saisie rapide sous forme de liste de choix, sinon la saisie sera sous forme de champ numérique
  • order (texte) : pour spécifier l'odre d'affichage des entités au sein de la couche (utile en cas de superposition), avec deux valeurs possibles :
  • asc: affichage dans l'ordre croissant des valeurs de cette variable (défaut si omis)
  • desc: affichage dans l'ordre décroissant des valeurs de cette variable
  • list (liste)
    Décrit vos règles. Chaque élément est à nouveau un dictionnaire
  • nom de variable : (dictionnaire) décrit la plage de valeurs correspondantes à la règle pour cette variable, au moyen d'une ou plusieurs conditions
  • *opérateur* (texte ou numérique) : une ou plusieurs conditions à partir des opérateurs de comparaison: <, >, =, <= ou >=
          les conditions seront ajoutées les unes aux autres (AND)
  • valeurs (liste) : la valeur doit être identique à l'un des éléments de la liste (OR)
  • label (texte) : libellé utilisé dans la légende
  • *style* : un ou plusieurs champs décrivant la symbologie (reprendre ceux marqués d'une )



  • Les images
    Toutes les images utilisables par le moteur de rendu Qgis pour représenter les entités doivent être au format SVG.
    Le plugin s'appuie à la fois sur la bibliothèque d'images native à Qgis, ainsi que toutes les images qui sont placées dans le répertoire svg situé à la racine du dossier du plugin: il est possible d'en rajouter autant que souhaité, elles seront automatiquement proposés par la paramétrisation du style, lors de leur affectation à une couche donnée elles seront chargées en base de données pour que les autres utilisateurs d'un même environnement de travail (ie: base, schéma et nom de table d'administration identique) puissent en bénéficier.

    A chaque nouvelle mise à jour du plugin, le répertoire images reprendra intégralement sa configuration par défaut.
    Pour conserver les fichiers ajoutés, il faudra bien penser à réaliser une sauvegarde avant de procéder à la mise à jour, puis la restaurer (voir onglet
    Maintenance).



    Le paramétrage
    Il y a le paramétrage général des couches (voir onglet Gestion des données) qui est stocké en base de données : cela permet de le partager entre plusieurs utilisateurs et de conserver les données lors de la mise à jour du plugin.

    Tout le reste est propre à chaque utilisateur et est mémorisé dans le fichier parameter.ini qui se trouve à la racine du dossier du plugin (peut être édité via l'onglet Maintenance). La plupart des paramètres sont directement modifiables par l'interface du plugin (notamment via l'onglet Options du plugin) mais il est possible d'en modifier directement certains pour mieux personnaliser son utilisation.
    En cas de modification manuelle, il faut veiller à respecter strictement le nom des variables et leur section de rattachement (mais l'ordre importe peu). Si le paramètre est manquant, il sera réinitialisé à sa valeur par défaut, mais si sa valeur ne correspond pas à un format attendu par le plugin, cela peut provoquer des dysfonctionnements.

    Le contenu du fichier parameter.ini est également conservé dans les paramères généraux de Qgis.
    Ainsi, vos paramètres ne seront pas perdus lors de la mise à jour du plugin.

    Le fichier parameter.ini comporte 4 sections :
      - les paramètres marqués d'une sont modifiables via l'interface
      - l'ordre (ici alphabétique) peut différer de celle de votre fichier mais les sections doivent être respectées

  • [CONN]
    Contient les informations de connexion à la base de données : 3. Configurer
  • db : base de données
  • host : adresse IP du serveur
  • password : mot de passe
  • port : port d'écoute (généralement Postgres utilise le 5432)
  • savePassword : mémorisation du mot de passe
  • schema : schéma d'exécution
  • user : nom d'utilisateur
  • [ADMIN]
    Contient les informations d'écriture en base de données : 3. Configurer
  • manualInsertion : pour utiliser un algorithme local lors de l'insertion des couches Qgis dans postgres au lieu de la fonction native de Qgis
  • schema : schéma d'administration
  • tableAdmin : table d'administration des couches du plugin
  • tableTmp : table de stockage des couches temporaires
  • tmpPrefixe : préfixe utilisé pour marquer les tables temporaires
  • [EXE]
    Contient les informations propre à l'exécution générale
  • admin : paramétrage de l'option Administration
  • alea : Libellé utilisé pour representer le groupe des Aléas
  • allowBeta : rend accessible certaines options non stables
  • animation : paramétrage de l'option Animation
  • autoCheckAlert : nombre de croisement spatiaux à partir duquel un message de confirmation sera systématiquement demandé lors d'une demande groupée d'activation des couches "Tout cocher"
  • autoCheckConnection : intervalle (en seconde) de vérification que le lien avec la base de données est toujours actif
  • autoGenAlert : nombre de croisement spatiaux à partir duquel un message de confirmation sera systématiquement demandé lors de la génération automatique de couches
  • baseAdmin : permet de modifier la référence en base des couches (nom de table & schéma de stockage), en cliquant sur l'icône du type de géométrie
  • backMap :paramétrage de l'option Fond de plan
  • blocDrop :paramétrage de l'option Arborescence en thèmes
  • blocDropExpand :paramétrage de l'option Tout déplier
  • buff : Libellé utilisé pour representer le groupe des couches de tampon
  • buffer : paramétrage de l'option Tampon
  • bufferMax : valeur minimale autorisée pour le tampon
  • bufferMin : valeur maximale autorisée pour le tampon
  • cbCompact : paramétrage de l'option Liste compacte
  • cluster : paramétrage de l'option Rendu cluster
  • clusterBack : paramétrage de l'option Points en fond
  • clusterField : paramétrage de l'option Somme sur attribut
  • clusterPrecision : précision utilisée pour sommer les attributs
  • clusterRound : arrondi la somme sur attribut à l'entier le plus proche
  • correction : paramétrage de l'option Correction à la volée
  • cutting : paramétrage de l'option Découper
  • enjeu : Libellé utilisé pour representer le groupe des Enjeux
  • enjeuAlone : paramétrage de l'option Enjeux seuls
  • enjeuLight : Libellé utilisé pour representer le groupe des couches de Points en fond
  • entityCount : paramétrage de l'option Décompte des entités
  • help : paramétrage de l'option Aide en ligne
  • info : paramétrage de l'option Explications
  • inversion : paramétrage de l'option Inversibilité croisement
  • logs : permet l'activation d'un fichier de traces de toutes les requêtes asynchrones
  • maskWorking : paramétrage de l'option Travailler dans un masque
  • queryTimeout : délai (en seconde) d'attente pour relancer une requête non achevée
  • root : Libellé utilisé pour representer le groupe global dans l'explorateur Qgis
  • simplify : paramétrage de l'option Simplifier
  • simplifyMax : valeur maximale autorisée pour la simplification
  • stats : Libellé utilisé pour representer le groupe des Statistiques
  • stockTimeout : délai (en seconde) de validité d'une table temporaire (au delà la requête sera systématiquement exécutée à nouveau)
  • [PAINT]
    Contient les informations de dessin
  • aleaOpacity : opacité appliquée à toutes les couches d'aléa
  • bufferFill : couleur de remplissage des couches Tampon
  • bufferPen : style de trait des couches Tampon
  • bufferStroke : couleur de trait des couches Tampon
  • bufferWidth : taille du trait des couches Tampon
  • rendererTag : nom de la balise de symbologie dans le QML de Qgis
  • rendererTolerance : taille des symboles des couches ponctuelles (la taille paramétrée dans l'interface sera un coefficient multiplicatif de cette valeur)
  • rendererUnit : unité des symboles des couches ponctuelles
  • statFill : couleur de remplissage des couches résultats des Statistiques
  • statPen : style de trait des couches résultats des Statistiques
  • statStroke : couleur de trait des couches résultats des Statistiques
  • statWidth : taille du trait des couches résultats des Statistiques
  • strokeUnit : unité du trait des couches linéaires
  • strokeWidth : taille du trait des couches linéaires (la taille paramétrée dans l'interface sera un coefficient multiplicatif de cette valeur)


  • Les requêtes SQL
    Cette section n'est pas un cours sur le langage SQL, mais vise à décrire les mécanismes du plugin et les fonctions Postgis associées. Il n'est pas possible d'implémenter de nouvelles fonctionnalités SQL dans le plugin sans passer par de la reprise du code. Néanmoins, une meilleure compréhension de ces mécanismes peut permettre de mieux appréhender les résultats obtenus, voire pour les néophytes, de se familiariser un peu au croisement spatial dans Postgis.

    Le coeur de l'application repose sur l'utilisation de la fonction ST_Intersects() qui permet de savoir si deux géométries se superposent au moins un peu. C'est donc cette fonction qui est systématiquement utilisée dans une clause WHERE pour croiser les enjeux inclus dans les aléas. A noter que cette fonction récupère également les géométries qui sont jointives (sur le trait).
    Pour ne pas récupérer la totalité de la géométrie mais uniquement la partie qui se superpose (activation de l'option Découper), la requête SELECT se combine avec la fonction ST_Intersection() appliquée à la colonne de géométrie des enjeux.
    A l'inverse, pour récupérer les enjeux qui ne sont pas inclus dans l'aléa (activation de l'option Inversibilité croisement) la requête SELECT se combine avec la fonction ST_Difference().

    Pour optimiser l'exécution des requêtes SQL, chaque croisement enjeu/aléa est réalisé de façon unitaire, puis le résultat est ensuite combiné (utilisation de UNION) pour avoir une couche unique par enjeu. Ainsi lorsque que la liste d'aléas cochés est modifiée (un de plus ou un de moins), il n'est pas nécessaire de relancer le croisement sur l'ensemble des combinaisons aléa/enjeu déjà traitées.
    Cette recombinaison n'est néanmoins pas toujours possible, notamment si on active Découper, car la géométrie d'une même entité issue de plusieurs croisement ne va plus être identique du fait de son découpage, et la réunion des croisements unitaires peut conduire à récupérer des entités en double (ou manquante dans le cas de l'inversion). Dans ce cas le plugin lancera un croisement unique sur la réunion des aléas sélectionnés.

    Ensuite, la requête SQL se complexifie en fonction des différentes options qui sont activées. Par exemple, on va combiner sur l'aléa en plus du ST_Union() de base (qui permet de réunir les entités), un ST_SimplifyPreserveTopology() pour Simplifier la géométrie, un ST_Buffer() pour ajouter un Tampon, et des mécanismes de Correction à la volée avec ST_MakeValid() et ST_SnapToGrid().
    Lors de l'application de fonctions qui modifient la géométrie, il est possible que certaines entités voient leur typologie changer, et pour être correctement affichée dans Qgis il est important de bien garder toutes les entités d'une couche dans un type unique. Les fonctions ST_Dump() & ST_Multi() permettent de forcer la passage à des géométries simples ou multiples. La fonction ST_CollectionExtract() permet de ne conserver que les entités point, ligne ou polygone selon le type d'origine de la couche (détection avec geometryType()).

    Enfin, bien qu'il soit préférable de travailler avec toutes les couches dans un système unique de projection, des mécanismes de reprojection avec ST_Transform() seront appliqués si les systèmes de coordonnées aléa/enjeu diffèrent (détection avec ST_Srid()).

    NB: pour contourner l'impossibilité via Qgis3 d'afficher dans son rendu "Groupe de points" une statistique d'attribut sur les points regroupés, le plugin va démultiplier avec generate_series() autant que nécessaire chaque entité pour que le nombre d'entités corresponde à la valeur de l'attribut ciblé (modulo la précision souhaitée). C'est pourquoi l'option somme sur attribut du Rendu cluster peut être très coûteuse en temps, à la fois en génération de la couche mais surtout en transfert de données du serveur vers Qgis.


    Liste des principales fonctions Postgis utilisées par ordre alphabétique :
    generate_series()
    geometryType()
    ST_Buffer()
    ST_CollectionExtract()
    ST_ConvexHull()
    ST_Difference()
    ST_Dump()
    ST_Intersection()
    ST_Intersects()
    ST_IsValid()
    ST_MakeValid()
    ST_Multi()
    ST_SimplifyPreserveTopology()
    ST_SnapToGrid()
    ST_Srid()
    ST_Transform()
    ST_Union()

    RDI - Croisement dynamique




    Une goutte de simplicité
    dans une analyse complexe