Pages: 1
- Sujet précédent - Trucs et astuces : comment virer les trous de polygones qui font x m² - Sujet suivant
#1 Mon 27 May 2019 15:12
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Trucs et astuces : comment virer les trous de polygones qui font x m²
Bonjour,
Pas une question mais une solution. Voilà j'ai fabriqué des polygones (resgeom) qui contiennent des trous, je veux reconstituer ces polygones en enlevant les trous qui font moins de 1000 m² (par exemple):
Code:
WITH p as (SELECT row_number as a,unnest((st_dumprings((st_dump (resgeom)).geom)).path) as b,((st_dumprings((st_dump (resgeom)).geom)).geom) as c FROM testgeom3 ), -- On transforme les multipolygones à trous en n polygones sans trous si path = 0 exterior ring si >0 trous p1 as (SELECT a,b,st_exteriorring(c) as e,st_area(c) as d FROM p order by a,b), -- on transforme les polygones ext en polyline p2 as (SELECT a, st_accum(e) as sg FROM p1 WHERE b<>0 AND d >=1000 GROUP BY a), les trous de plus de 1000 m² p3 as (SELECT a, e FROM p1 WHERE b=0) les enveloppes ext (shells) SELECT p2.a,CASE WHEN not sg is null THEN st_makepolygon(e,sg) ELSE st_makepolygon(e) END into testpoly1 FROM p3 LEFT JOIN p2 ON p2.a=p3.a ORDER BY a -- On reconstitue les polygones soit avec les trous qui restent soit sans.
Voilà si ça peut aider.
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
#2 Mon 27 May 2019 15:47
- tevrard
- Participant assidu
- Date d'inscription: 23 May 2016
- Messages: 320
Re: Trucs et astuces : comment virer les trous de polygones qui font x m²
Merci du partage !
Hors ligne
#3 Mon 27 May 2019 15:51
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: Trucs et astuces : comment virer les trous de polygones qui font x m²
Joli !
J'avais fait quelque chose du même style pour identifier les gros terre-pleins ou rond-point à partir d'un buffer sur le réseau routier.
Merci effectivement pour le partage !
Pascal PLUVINET
Hors ligne
#4 Mon 27 May 2019 15:54
Re: Trucs et astuces : comment virer les trous de polygones qui font x m²
La vie est belle, je viens de recevoir ce post dans ma messagerie
L'abonnement aux listes de diffusion semble sur la bonne voie!
Je sors...
Hors ligne
#5 Mon 27 May 2019 15:57
Re: Trucs et astuces : comment virer les trous de polygones qui font x m²
La vie est belle, je viens de recevoir ce post dans ma messagerie
L'abonnement aux listes de diffusion semble sur la bonne voie!
Je sors...
Pour info, c'est activé uniquement pour les modos pour le moment
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#6 Mon 27 May 2019 16:14
- ChristopheV
- Membre
- Lieu: Ajaccio
- Date d'inscription: 7 Sep 2005
- Messages: 3199
- Site web
Re: Trucs et astuces : comment virer les trous de polygones qui font x m²
Heu ...
Pour le row_number dans ma requête (première CTE) c'est une valeur issue d'une précédente requête qui utilise la fonction row_number() over().
ça sert juste à identifier de façon unique le multipolygone pour pouvoir le reconstituer correctement après.
Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close
Hors ligne
Pages: 1
- Sujet précédent - Trucs et astuces : comment virer les trous de polygones qui font x m² - Sujet suivant