Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
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

Printemps des cartes 2024

#1 Mon 13 September 2021 08:13

SALES P
Participant occasionnel
Date d'inscription: 14 Jul 2013
Messages: 41

QGIS: Regrouper des parcelles cadastrales

Bonjour,
Je cherche une solution pour regrouper les parcelles cadastrales composant une unité d'épandage définie (voir capture d'écran - pour l'unité 12.1, j'ai les parcelles 25 et 30).
Lorsque je fait la fonction vecteur intersection, l'outil me remonte autant de ligne d'intersection que de parcelles cadastrales rencontrées (souvent plus du fait du manque de superposition parfaite entre les couches !). Alors que je souhaiterais, pour une Unité d'épandage qu'il me liste les parcelles cadastrales rencontrées.
A défaut d'obtenir cette présentation, il me faudrait alors sous EXCEL pouvoir regrouper pour une unité d'épandage, les parcelles cadastrales et ensuite les lister avec séparation par une virgule, dans un tableau de présentation.
Je ne suis pas sûr d'avoir été clair mais bon si vous aviez des idées que je puisse explorer ?
Merci d'avance
Bien cordialement


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#2 Tue 14 September 2021 22:34

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 722

Re: QGIS: Regrouper des parcelles cadastrales

Bonsoir,
Une méthode :
Créer une couche de centroide à l'intérieur de vos parcelles
Joindre par localisation à votre couche d'épandage pour récupérer un identifiant unique
Faire une jointure entre la couche nouvellement créée et votre couche des parcelles
Enfin regrouper (geotraitement dissolve) votre couche des parcelles en  groupant par l'identifiant unique d'épandage

Édit : je ne sais pas trop si vous voulez récupérer la liste des parcelles ou générer la géométrie. Auquel cas s'arrêter à l'étape 2 devrait suffire

Hors ligne

 

#3 Wed 15 September 2021 13:44

aheurion
Participant actif
Lieu: NANTES
Date d'inscription: 8 Oct 2020
Messages: 141

Re: QGIS: Regrouper des parcelles cadastrales

Bonjour,
Faire des centroïdes peut être problématique : si le centre n'est pas dans l'unité d'épandage alors qu'un bout de la parcelle y est, faut-il la considérer dans la liste ?
Si oui alors on peut imaginer de créer un nouveau champs dans la couche des unités d'épandage (champ "parcelles" par exemple) dans lequel on viendra renseigner la liste des id des parcelles rencontrées avec l'expression suivante :

Code:

aggregate(
'id_couche_parcelles',
'concatenate_unique',
"champ_ID_de_la_couche_parcelles",
intersects(geometry(@parent),$geometry),
';'
)

Ainsi pour chaque unité d'épandage le champ parcelles va contenir un string de ce type :
id_parcelle_1;id_parcelle_34;id_parcelle_99;etc

Dernière modification par JD (Wed 15 September 2021 21:00)

Hors ligne

 

#4 Wed 15 September 2021 21:03

JD
Moderateur
Date d'inscription: 8 Aug 2013
Messages: 722

Re: QGIS: Regrouper des parcelles cadastrales

aheurion a écrit:

Faire des centroïdes peut être problématique : si le centre n'est pas dans l'unité d'épandage alors qu'un bout de la parcelle y est, faut-il la considérer dans la liste ?


C'est sûr, c'est juste que sur l'exemple les unités d'épandages avaient l'air d'épouser les limites cadastrales.

Mais on pourra adapter la formule donnée selon le résultat souhaité.

Hors ligne

 

#5 Thu 16 September 2021 12:19

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3799

Re: QGIS: Regrouper des parcelles cadastrales

Bonjour,

Si oui alors on peut imaginer de créer un nouveau champs dans la couche des unités d'épandage (champ "parcelles" par exemple) dans lequel on viendra renseigner la liste des id des parcelles rencontrées avec l'expression suivante :


Même si cela répond à la demande de Sales P, j'aurais plutôt vu la logique inverse, à savoir créer un champ dans la couche parcelle qui indique l'unité d'épandage à laquelle elle appartient (plus facile ensuite de faire un regroupement ou d'autres stats sans passer par du array ou autres analyses de contenus).
Bref... Je pense toutefois qu'il faudrait considérer filtrer sur une condition de proportion de superposition plutôt qu'une simple intersection, pour se débarrasser notamment de ces faux positifs dus à la numérisation des entités. Genre attribuer un ilot d'épandage à une parcelle (pour reprendre ma logique précédente) si l'intersection entre les deux représente au moins tel pourcent (majoritaire) de la parcelle (code non testé mais devrait le faire, je pense)

Code:

aggregate(
'id_couche_epandage',
'concatenate_unique',
"champ_ID_de_la_couche_epandage",
area(intersection(geometry(@parent),$geometry))/area(geometry (@parent))>0.8, -- 80%
';'
)

Hors ligne

 

Pied de page des forums

Powered by FluxBB