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 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

 

Pied de page des forums

Powered by FluxBB