#1 Fri 17 March 2023 00:57
- dadou82
- Juste Inscrit !
- Date d'inscription: 6 Feb 2022
- Messages: 4
QGIS Aide Requete SQL: Donnees MAJIC/Proprietaires
Bonjour à tous et à toutes,
J'ai en possession les fichiers EDIGEO et la base MAJIC d'une commune. J'ai téléchargé le plugin cadastre et j'ai obtenu les couches de bases "cadastre". Or, dans la couche Parcelle, dans laquelle on trouve le champ propriétaire, les informations sur le propriétaire sont mélangées.
Mon but est de pouvoir récupérer une couche avec un champ dans "Parcelle" dans laquelle on aurait les informations suivantes :
M ou Mme DURANT Laurent ou Laurence :p, avec son nom d'épouse (ou à défaut de jeune fille) et/ou l'ensemble des propriétaires (indivisaires) dans cette même entité. Dans le cas, ou il ne s'agirait pas d'une personne privée mais d'une personne morale il me faudrait sa dénomination (entreprise, commune propriétaire etc ...).
Ainsi, je m'intéresse actuellement à gérer cela avec les requêtes SQL dans les base de données qgis.
Avec la requête suivante :
select gp.geom, gp.geo_parcelle, pa.ccosec, pa.dnupla, pa.dnupro, group_concat(trim(pr.ddenom), '|') proprietaires from geo_parcelle gp
join parcelle pa on gp.geo_parcelle = pa.parcelle
join proprietaire pr on pa.dnupro = pr.dnupro
group by gp.geo_parcelle
j'arrive presque au résultat, cependant le ddenom, ne me fournit pas le nom d'usage d'une femme (lié au mariage) (le dnomlp) mais de son nom de naissance. Ce résultat m'est insuffisant pour mon étude.
Pour rappel :
gtoper Indicateur de personne physique ou morale 1 = physique, 2 = morale
dqualp Qualité abrégée M, MME
ddenom Nom d’usage dénomination de la personne physique structurée sous la forme : « nom/prénoms »
dnomus Nom d’usage Nom de naissance/dejeune fille
ddenom Dénomination de personne physique ou morale
dnomlp Nom d’usage du libellé partiel Nom d’usage
dprnlp Prénoms associés au nom d’usage
Je suis actuellement bloqué, je vais encore chercher voir apprendre mieux le SQL.
Je serai très reconnaissant si vous pouviez me fournir une aide pour ce problème. Merci à vous !
Dernière modification par dadou82 (Fri 17 March 2023 00:58)
Hors ligne
#2 Tue 28 March 2023 10:13
- E.Gonthier
- Participant occasionnel
- Lieu: Antoingt
- Date d'inscription: 15 Mar 2009
- Messages: 23
Re: QGIS Aide Requete SQL: Donnees MAJIC/Proprietaires
Très intéressant, il y a longtemps que je cherche quelque chose qui permette ce résultat.
Je ne suis malheureusement pas au point en SQL et ne pourrai pas faire avancer la requête vers le résultat souhaité.
Hors ligne
#3 Tue 11 April 2023 21:14
- dadou82
- Juste Inscrit !
- Date d'inscription: 6 Feb 2022
- Messages: 4
Re: QGIS Aide Requete SQL: Donnees MAJIC/Proprietaires
Pour ma part, je ne suis pas arrivé à aller plus loin. Je remercie les personnes qui se sont attelées à rechercher le problème. L'absence de solution me contraint à utiliser un autre logiciel que Qgis, une solution payante et plus contraignante pour beaucoup d'aspects. Peut être un jour on y arrivera !
Dernière modification par dadou82 (Tue 11 April 2023 21:14)
Hors ligne
#4 Wed 12 April 2023 10:52
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS Aide Requete SQL: Donnees MAJIC/Proprietaires
Sans avoir les tables et le MCD sous la main, ce n'est pas évident de vous proposer une requête SQL répondant à vos besoins spécifiques.
Mais ça vaut vraiment le coup de se plonger sur l'apprentissage du SQL pour tenter de faire soi-même la requête : c'est comme ça qu'on apprend !
N'hésitez pas à réécrire votre requête de manière plus lisible pour bien comprendre chaque ligne/fonction.
Voici comment j'écrirais votre requête :
Code:
SELECT gp.geom, gp.geo_parcelle, pa.ccosec, pa.dnupla, pa.dnupro, group_concat(trim(pr.ddenom), '|') proprietaires FROM geo_parcelle gp JOIN parcelle pa ON gp.geo_parcelle = pa.parcelle JOIN proprietaire pr ON pa.dnupro = pr.dnupro GROUP BY gp.geo_parcelle
La partie qui vous bloque est donc :
Code:
group_concat(trim(pr.ddenom), '|') proprietaires
(moi, j'écris "AS proprietaires" pour bien voir que c'est un Alias)
Du coup, il faut que vous compreniez ce que font les fonctions group_concat() et trim().
Dans votre cas, vous souhaitez ajouter le nom de jeune fille à ce champ alias.
Voici une proposition :
Code:
group_concat(trim(pr.ddenom) || ' (' || trim(pr.dnomlp) || ')', '|') AS proprietaires
Ce qui donne en version complète :
Code:
SELECT gp.geom, gp.geo_parcelle, pa.ccosec, pa.dnupla, pa.dnupro, group_concat(trim(pr.ddenom) || ' (' || trim(pr.dnomlp) || ')', '|') AS proprietaires FROM geo_parcelle AS gp JOIN parcelle AS pa ON gp.geo_parcelle = pa.parcelle JOIN proprietaire AS pr ON pa.dnupro = pr.dnupro GROUP BY gp.geo_parcelle
A tester !
Dernière modification par Sylvain M. (Wed 12 April 2023 10:54)
Sylvain M.
Hors ligne
#5 Wed 12 April 2023 11:02
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS Aide Requete SQL: Donnees MAJIC/Proprietaires
PS. : pour la concaténation des noms, j'ai utilisé l'opérateur ||, mais j'aurais pu le faire avec la fonction CONCAT( colonne1, colonne2 ), ce qui aurait donné (à l'intérieur du group_concat) :
concat( trim(pr.ddenom), ' (', trim(pr.dnomlp), ')' )
(vous aurez compris que je mets le dnomlp entre parenthèses, après le ddenom)
Sylvain M.
Hors ligne
#6 Wed 12 April 2023 23:04
- dadou82
- Juste Inscrit !
- Date d'inscription: 6 Feb 2022
- Messages: 4
Re: QGIS Aide Requete SQL: Donnees MAJIC/Proprietaires
Je vous remercie énormément pour votre réponse et pour votre grande aide Sylvain ! Vous m'avez démêlé de ce problème et je vais songer sérieusement à bosser mon SQL. Le problème est toujours le même, une question de temps et de patience. Pour ma part, c'est rare d'utiliser cet outil dans le cadre de mon travail mais au fur et à mesure des années il peut s'imposer et ouvrir à de nouvelles perspectives. En effet, nous sommes soucieux d'évoluer et de changer nos méthodes de travail pour évoluer vers la SIG. Encore merci à vous. Si vous avez des conseils de site pour apprendre le SQL sur qgis, je suis preneur.
Hors ligne
#7 Thu 13 April 2023 09:24
- Sylvain M.
- Participant assidu
- Lieu: Saint-Pierre-des-Nids (53)
- Date d'inscription: 8 Sep 2005
- Messages: 995
Re: QGIS Aide Requete SQL: Donnees MAJIC/Proprietaires
Si vous avez des conseils de site pour apprendre le SQL sur qgis, je suis preneur.
L'intérêt du SQL, c'est que c'est un langage universel des bases de données relationnelles, donc pas limité à QGis.
Le site sur lequel je postais mes liens est très complet. Si vous suivez les cours dans l'ordre, en commençant par le SELECT, le SQL n'aura plus de secret :
https://sql.sh/cours/select
Après, quand on comprend le SQL, on voit la puissance d'y ajouter la composante spatiale, et là ça va dépendre du système : Spatialite, PostGis (avec de grandes similitudes).
Exemple de tuto SQL spatial : https://www.sigterritoires.fr/index.php … t-spatial/
A+
Sylvain M.
Hors ligne