#1 Wed 15 March 2017 14:03
- AnBruck
- Juste Inscrit !
- Date d'inscription: 14 Feb 2017
- Messages: 9
Jointure et supression de lignes - Cadastre
Bonjour,
Je suis stagiaire en ce moment et dans mes missions je dois travailler sur un SIG et particulièrement sur les données du cadastre, et les fichiers Majic. Ces données sont stockés sur une base postgresql/postgis.
Je commence vraiment depuis peu à utiliser postgresql/postgis et du coup pgadmin pour effectuer des requêtes, et je comprends pas tout tout. Du coup d'avance désolé si c'est un peu hésitant/peu clair, je maitrise pas des masses ... Voilà pour le contexte on va dire haha
Je voudrai reconstituer les unités foncières pour travailler dessus par la suite. Dans la base, j'ai à priori deux tables qui me sont utiles :
parcelle : avec des informations sur la parcelle (avec un champ dnupro sur le propriétaire et ccocom sur la commune)
geo_parcelle : les informations géométriques de mes parcelles
D'après moi la manipulation se fait en deux étapes:
La première est de joindre les deux tables au-dessus pour pouvoir avoir les champs propriétaire et commune dans ma table geo_parcelle.
La deuxième, faire une concaténation des deux (propriétaire et commune) et les agréger pour avoir les unités foncières. Je suis obligé de concaténer parce que les attributs propriétaires peuvent se répéter sur deux communes différentes.
Pour la jointure je fais cette requête :
Code:
CREATE TABLE test_jointure AS SELECT geo_parcelle, geom, ccocom, dnupro,parcelle FROM geo_parcelle JOIN parcelle ON geo_parcelle.geo_parcelle=parcelle.parcelle
Elle marche sauf que certaines parcelles ne s'affichent plus quand j'importe la couche dans QGIS.
J'ai fait la jointure directement dans QGIS pour voir les écarts possibles, et je me suis rendu compte que certaines valeurs sont NULL dans les trois champs joints (parcelle, dnupro et ccocom). Après vérification c'est ces valeurs qui ne sont pas prises en compte lors de la requête dans pgadmin. J'avoue ne pas vraiment comprendre pourquoi ces valeurs nulles ne sont pas prises en compte ...
J'ai lu beaucoup de choses par rapport aux contraintes et à une clef primaire, mais je bloque non seulement à comprendre l'utilité de ces fonctions, mais d'autant plus pourquoi ce serait lié à mon problème, vu que les valeurs nulles sont censées être intégrées.
Si quelqu'un a la solution !
Hors ligne
#2 Thu 16 March 2017 16:01
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: Jointure et supression de lignes - Cadastre
Salut,
la différence que vous observez est certainement due au fait
que vous utilisez un INNER JOIN alors que QGIS à plutôt l'air
de réaliser un LEFT JOIN
https://fr.wikipedia.org/wiki/Jointure_(informatique)
Dernière modification par tumasgiu (Thu 16 March 2017 16:02)
Hors ligne
#3 Thu 16 March 2017 17:56
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: Jointure et supression de lignes - Cadastre
Bonsoir,
Il y a effectivement des parcelles sans geom.
Au prealable, mettez des geom dans la table parcelle, histoire d'avoir une seule table avec geom
puis faites la requete des unités foncieres (union des parcelles contigües de meme idprocpte).
Là, vous joignez à l'envers parcelle_geo et parcelle, donc seule les parcelles avec geom restent.
Nicolas
Hors ligne
#4 Thu 23 March 2017 10:01
- AnBruck
- Juste Inscrit !
- Date d'inscription: 14 Feb 2017
- Messages: 9
Re: Jointure et supression de lignes - Cadastre
Bonjour, et désolé pour la réponse tardive, beaucoup de choses à faire dernièrement.
@tumasgiu : cela ne change rien même si je fais un LEFT JOIN ... Au contraire j'ai encore moins de parcelles ...
@Nicolas : il y a sûrement quelque chose qui m'échappe mais je ne vois pas la nuance qui est faite entre les deux manipulations ... Vous me dites de mettre les geom dans la table parcelle. Pour faire ça je dois forcément faire une jointure entre les parcelle et geo_parcelle non ? Ou alors il s'agit d'un moyen que je ne connais pas. D'après moi, pour faire cela, il faut que je joigne mes tables parcelles et geo_parcelle en ne gardant que mes attributs geom. Je reviens donc au même point que ma première idée : toutes les parcelles ne sont pas visualisables.
Merci pour votre aide, je continue à creuser
Hors ligne
#5 Fri 24 March 2017 09:07
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Jointure et supression de lignes - Cadastre
Bonjour,
Pour faire ça je dois forcément faire une jointure entre les parcelle et geo_parcelle non ?
J'ai lu beaucoup de choses par rapport aux contraintes et à une clef primaire, mais je bloque non seulement à comprendre l'utilité de ces fonctions, mais d'autant plus pourquoi ce serait lié à mon problème, vu que les valeurs nulles sont censées être intégrées.
Ben y'a encore du boulot ! Comme me le disait un prof il y a longtemps "vous voulez faire du calcul d'intégrales avant de connaitre l'addition".
Le plus gros soucis est que vous nous parlez de jointures et compagnie sans nous préciser le modèle de données qui n'est pas le votre et que vous souhaitez utiliser sans même avoir compris ce qu'est un lien logique entre deux tables d'une base de données relationnelle.
JOIN parcelle
ON geo_parcelle.geo_parcelle=parcelle.parcelle
Qui nous dit que la valeur geo_parcelle et parcelle sont des identifiant numériques uniques (ou non) dont les valeurs identiques désignent le même objet parcelle (dans la vraie vie) et désignent pour l'un les données littérales et pour l'autre la géométrie (curieuse façon au passage d’appréhender la notion de BDR spatial ...) ?
Si vous savez comment vous avez intégrer les données et selon quel modèle vous devriez commencer à comprendre.
Je voudrai reconstituer les unités foncières
Et votre définition des unités foncières c'est quoi ?
[Edit:] J'oubliai faites vous une culture sur les données MAJIC et celle du plan cadastral avant de tenter de les utiliser. Votre post initial montre vos lacunes et une forme de requête qui peut conduire à du grand n'importe quoi [Edit]
Dernière modification par ChristopheV (Fri 24 March 2017 09:11)
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#6 Fri 24 March 2017 10:51
- AnBruck
- Juste Inscrit !
- Date d'inscription: 14 Feb 2017
- Messages: 9
Re: Jointure et supression de lignes - Cadastre
Bonjour,
J'avoue être assez étonné par votre réponse. Si je viens ici, poster sur ce forum, c'est bien parce que je n'ai pas envie de faire n'importe quoi, mais d'apprendre. Et de comprendre. Je dois me dépatouiller avec une base de données que je n'ai pas créé, sans que personne autour de moi puisse vraiment m'expliquer les choses. D'où mon message ici et les lectures que j'ai à côté.
Si j'ai écrit cela sur les contraintes et tutti cuanti, c'est parce que j'ai vu qu'elles étaient présentes dans la BDR, et que je me suis demandé ce que c'était ; bien évidemment cela me paraissait déjà bien trop compliqué pour mon utilisation. Contrairement à ce que vous semblez penser, je n'essaye pas de faire des intégrales avant les additions, mais bien de comprendre comment faire les additions.
Maintenant désolé si je vous ai offusqué par mon manque de savoir. S'il manque, j'en suis bien conscient, c'est pourquoi je cherche des réponses, entre autre sur ce genre de forum.
L'unité foncière est pour pour moi un regroupement de parcelles contigües appartenant à un même propriétaire.
Quant au reste, je me rends effectivement compte de mes erreurs dans l'utilisation des différentes valeurs.
Au vu des lacunes qui me manquent : auriez-vous des lectures à me conseiller pour pouvoir avancer comme il faut ? A la fois sur les données MAJIC, mais aussi sur les bases de données relationnelles ? Puisque celles que j'ai pu faire jusqu'à présent ne suffisent pas apparemment.
Hors ligne
#7 Fri 24 March 2017 11:53
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Jointure et supression de lignes - Cadastre
Bonjour,
Ne le prenez pas mal mais les deux précédents intervenants dont le savoir faire et la qualité sont reconnus par tous ont fait l'effort de vous faire une réponse et elle est claire.
Et de comprendre. Je dois me dépatouiller avec une base de données que je n'ai pas créé, sans que personne autour de moi puisse vraiment m'expliquer les choses.
C'est bien là le problème ! On vous demande d'utiliser des données dont vous n'avez aucune connaissance et dont vos responsables n'ont eux aussi aucune connaissance, mais eux ils veulent des résultats.... chroniques de la géomatique. La preuve ils ont choisi d'intégrer les données avec un logiciel X sans aucune connaissance du modèle résultant et des la confections des données initiales. Classique, on veut utiliser les données MAJIC, oui mais pourquoi ? ben parce que ... demandez leur pourquoi le plug-in cadastre (car c'est de lui dont il s'agit non ?)?, demandez si la relation entre parcelle et geo_parcelle est 1-1 (comme la logique le voudrait) ou 1-n (comme la conception du plug-in à pu l'engendrer). Prévenez les que votre histoire d'unité foncière c'est plus que risqué :
1 légalement : les attributs des ayant droits qui sont des personnes physiques est une information à caractère personnelle avec des restriction de diffusion.
2 Si je suis propriétaire d'une parcelle et propriétaire indivis d'une autre elle sont dans la même unité foncière ?
Pour les lectures une recherche sur GeoRezo s'impose.
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#8 Fri 24 March 2017 18:52
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1160
Re: Jointure et supression de lignes - Cadastre
Salut,
une ressource que je n'ai pas testé mais qui a l'air bien sur le SQL ( en anglais ) :
http://sqlzoo.net
Hors ligne
#9 Wed 29 March 2017 12:21
- AnBruck
- Juste Inscrit !
- Date d'inscription: 14 Feb 2017
- Messages: 9
Re: Jointure et supression de lignes - Cadastre
Salut,
une ressource que je n'ai pas testé mais qui a l'air bien sur le SQL ( en anglais ) :
http://sqlzoo.net
Super merci beaucoup !
Hors ligne