Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Tue 29 March 2022 19:40
- didine44
- Juste Inscrit !
- Date d'inscription: 6 Dec 2020
- Messages: 4
coller géométriquement des multipolygones via postgis
Bonjour,
je vous écrit concernant une problématique liée au traitement de multi-polygones.
j'ai une table dans laquelle plusieurs multi-polygones ont été constatés
j'ai crée un code en sql qui me permet de séparer les multi-polygones en plusieurs géométries (dans une table intermédiaire);
with ts as (
select
gid,
st_buffer (geom, 0) as geom
from
source.ppi_test
where
st_numgeometries(geom) > 1
), ts1 as (
select
gid,
ST_GeometryN(geom, generate_series(1, ST_NumGeometries(geom))) AS geom
from
ts
group by
gid, geom
)
en clair si on a un mulltipolygone (de 4 polygones) ayant l'identifiant 200 et bien on aura 4 polygones distincts ayant l'identifiant 200.
jusque là il n'y a pas de problème.
la problématique est surtout après dans la suite du code où je souhaite couvrir en un seul polygone tous les cas de multipolygones.
select
distinct
st_Concavehull(
st_collect (array(
select
geom
from
ts1
)
),0.0
)
ici on aura un polygone qui viendra recouvrir l'ensemble des cas de multi polygones; alors que moi je souhaite de la même manière que dans la requête intermédiaire (en utilisant le générate séries) couvrir distinctement les cas de multipolygones.
exemple :
un nouveau polygone viendrait recouvrir en un polygone unique l'étendue des multipolygones ayant l'identifiant 200, 300 etc..
sans crée une géométrie unique pour les cas 200, 300 etc...
je peux le faire pour un seul en mettant la clause wher gid in '200' mais si je met where gid in '200', '300' ça m'enveloppera les deux cas.
merci d'avance
Hors ligne