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 Mon 22 May 2017 12:01

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

[POSTGIS] fusionner parcelles voisines

Bonjour,

J'ai une table contenant les parcelles cadastrales d'un propriétaire. J'aimerais que toutes les parcelles de ce propriétaire qui sont côte à côte forment un seul polygone.
J'aimerais trouver une fonction postgis qui me fusionnerais des parcelles voisines.

J'arrive à détecter quelles parcelles ont une voisine (st_touches).
Je n'arrive pas à évacuer tous les doubles comptes. Ex si la parcelle p1 est voisine de p2 et p3 : j'obtiens les couples (p1,p2), (p1,p3), (p2,p1) et (p3,p1). Je voudrais obtenir qu'un couple (p1, p2, p3)


Cdlt,
Romary

Hors ligne

 

#2 Mon 22 May 2017 14:06

Florent LUQUET
Participant occasionnel
Lieu: Vallet
Date d'inscription: 24 Mar 2016
Messages: 12

Re: [POSTGIS] fusionner parcelles voisines

Bonjour,

Si j'ai bien compris l'objectif, je fonctionnerai de la manière suivante :

1. Fusion de toutes les parcelles d'un même propriétaire => résultat 1 multi-polygone par propriétaire
2. Éclatement des entités multiparties en entités mono => ST_GeometryN couplé à ST_NumGeometries

Résultat :
Les parcelles contiguës d'un même propriétaire forment une seule entité.

A tester


Florent LUQUET
www.maply.fr

Hors ligne

 

#3 Mon 22 May 2017 14:36

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3197
Site web

Re: [POSTGIS] fusionner parcelles voisines

Bonjour,

Un petit st_union() sur l'ensemble des parcelles d'un même propriétaire donnera un multi polygone où les parcelles voisines sont fusionnées.

Une méthode avec st_clusterintersecting() un peu plus compliqué à mettre en œuvre mais résultats supérieurs (on peu gérer le nombre de parcelles mini pour constituer un groupe).


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#4 Wed 24 May 2017 10:14

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

Re: [POSTGIS] fusionner parcelles voisines

Bonjour,

Merci pour vos réponses.
La commande st_clusterintersecting() (ChristopheV)n'est pas disponible avec version de postgis (2.1).

J'ai donc procédé en travaillant avec des requêtes imbriquées :
1. st_union()  : fusion de toutes les parcelles d'un même propriétaire. Les parcelles voisines sont fusionnées dans une partie du multipolygon formé
2. st_dump() : éclatement du multipolygon en polygon.



Ry

Hors ligne

 

#5 Wed 07 June 2017 15:12

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

Re: [POSTGIS] fusionner parcelles voisines

Bonjour,

La précédente méthode ne me convient pas complétement car il faut que j'agrège tous les polygones distants de moins de 5m.
Quelqu'un connaît il une méthode équivalente à ST_ClusterWithin() (disponible à partir de 2.2) dans ma version 2.1 de postgis?


Romary

Hors ligne

 

#6 Mon 19 June 2017 16:48

Romary
Participant assidu
Lieu: Epinal
Date d'inscription: 17 Jun 2011
Messages: 211

Re: [POSTGIS] fusionner parcelles voisines

J'ai trouvé en faisant tout une série de sous requêtes (avec un with qui m'a permis de bien structurer) rapidement résumées ici :

1) une table t1 avec 1 geométrie  et un table t2 avec la même géométrie + buffer 10m
2) jointure sur intersection entre t1 et t2 et récupération de données attributaires de t2 avec l'association des géométrie issues de t1


Cordialement,

Romary

Hors ligne

 

Pied de page des forums

Powered by FluxBB