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 !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 lun. 22 mai 2017 12:01

Romary
Membre
Lieu: Epinal
Date d'inscription: 17 juin 2011
Messages: 153

[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 lun. 22 mai 2017 14:06

Florent LUQUET
Membre
Lieu: Vallet
Date d'inscription: 24 mars 2016
Messages: 9

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 lun. 22 mai 2017 14:36

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 sept. 2005
Messages: 2299
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 mer. 24 mai 2017 10:14

Romary
Membre
Lieu: Epinal
Date d'inscription: 17 juin 2011
Messages: 153

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 mer. 07 juin 2017 15:12

Romary
Membre
Lieu: Epinal
Date d'inscription: 17 juin 2011
Messages: 153

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 lun. 19 juin 2017 16:48

Romary
Membre
Lieu: Epinal
Date d'inscription: 17 juin 2011
Messages: 153

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

Partagez  |