#1 Wed 12 July 2023 14:46
- ccam86
- Participant occasionnel
- Date d'inscription: 28 Sep 2022
- Messages: 21
SQL Qgis avec Gestionnaire BD
J'ai un petit problème SQL dans QGIS, je souhaite réaliser une requête pour distinguer chaque action.
Les couches en question sont des couches surfacique | Géométrie de type Polygone (MultiPolygon).
La chaque couche est organiser au niveau des champs de la même manière.
Chaque action est repartie par type de champ.
Voici les champs suivant par type d'action.
Couche avec les actions surfacique:
"LA_intripi" = intervention ripisylve
Couche avec les actions Linéaire :
"EL_TVX" = Etat linéaire travaux
"EL_ANNTVX"
Couche avec les actions Ponctuel :
"EP_TVX" = Etat ponctuel travaux
"EP_ANNTVX"
Chaque couche indépendamment entre elle comporte des actions différentes.
L'identifiant unique va correspondre au champ.
"LA_ID" et "proprietai" attention plusieurs propriétaires peuvent avoir la même parcelle et le même propriétaire plusieurs parcelles.
Exemple :
-------------------------
La_ID | proprietai |
---------|---------------
0325 | Marie
0325 | paul
0325 | jule
0325 | Marie
0125 | marie
0125 | helene
Pour 4 actions ponctuelles ou linéaires ou surfaciques, il faut multiplier par 4 le même multipolygone parcellaire pour le même propriétaire pour avoir 4 actions différentes sur chaque multipolygone.
4 ponctuels sur 1 parcelle = 4x la même parcelle.
Selon le résultat, nous multiplions par le nombre de propriétaires.
4 fois, la même parcelle x 2 propriétaires différents = 8 fois la même parcelle
Attention --> !! Sauf que certaines actions et années sont les mêmes pour le même multipolygone avec le même propriétaire et je souhaiterais les regrouper, mais attention cela peut aussi varier les années d'actions peuvent aussi changer pour le même propriétaire !!
Enfin voici les explications comme exemple de cas type du problème et ensuite ce que je souhaiterais.
Cas type de mon problème feuille excel en jaune et en vert ce que je souhaite avoir en résultat (voir excel fournit)
Finalement, la requête peut être simplement de supprimer les valeurs NULL présentes pour les différents champs qui définissent les actions et les années de réalisation afin d'avoir au final 1 couche qui regroupe les autres couches avec des valeurs non NULL sauf pour les champs comportant des valeurs.
Merci à tous pour vos lumières !
Hors ligne
#2 Wed 19 July 2023 13:57
- ccam86
- Participant occasionnel
- Date d'inscription: 28 Sep 2022
- Messages: 21
Re: SQL Qgis avec Gestionnaire BD
Solution trouvée voici le script en PJ et écrit :
SELECT code_insee, section, num_parcel, idu, dnomlp, dprnlp, nom_usage, prenom_usa, proprietai, adresse_pr, LA_ID, LA_INTRIPI, EL_TVX, EL_ANNTVX, EP_TVX, EP_ANNTVX, geometry
FROM Couche_regroupement
WHERE NOT (LA_INTRIPI IS NULL AND EL_TVX IS NULL AND EL_ANNTVX IS NULL AND EP_TVX IS NULL AND EP_ANNTVX IS NULL)
GROUP BY LA_ID, proprietai, LA_INTRIPI, EL_TVX, EL_ANNTVX, EP_TVX, EP_ANNTVX;
N'hésitez pas à poser des questions si vous souhaitez afin d'échanger sur ce poste et de voir même de faire plus simple ! ^^
À bientôt !
ccam86
Hors ligne