#1 Thu 30 November 2017 15:30
- BenB
- Participant actif
- Date d'inscription: 29 Dec 2015
- Messages: 121
[POSTGIS] Polygones contigues vers lignes uniques
Bonjour,
Je dois faire un rendu carto de PLU sous QGIS. j'ai mon zonage (polygones) dans une base de données POSTGIS.
Pour le rendu je fais un aplat couleur par type de zone et des pointillés pour les contours.
Pour le contour pointillé je veux faire une une vue qui transforme mes polygones en lignes pour ne pas voir de problème de rendu. En effet vu que tout mes polygones sont contigus (PLU oblige) les pointillés sont doublés, donc se superposent et forme une ligne continue.
J'ai donc fait ces deux vues :
Code:
CREATE OR REPLACE VIEW plu.contour_zonage AS
SELECT foo.id,
foo.insee,
st_collect(st_exteriorring(foo.geom))::geometry(MultiLineString,2154) AS geom
FROM ( SELECT a.id,
a.insee,
(st_dump(a.geom)).geom AS geom
FROM plu.zone_urba a) foo
GROUP BY foo.id, foo.insee;Code:
CREATE OR REPLACE VIEW plu.contour_zonage_test AS
SELECT foo.id,
foo.insee,
st_collect(st_boundary(foo.geom)) AS geom_ligne
FROM ( SELECT a.id,
a.insee,
(st_dump(a.geom)).geom AS geom
FROM plu.zone_urba a) foo
GROUP BY foo.id, foo.insee;Ces deux requêtes rendent bien des lignes mais il faut que j'arrive à supprimer les doublons pour ne pas avoir de superposition de ligne et avoir de
jolis pointillés !
Une idée ?
Merci à tous !
Hors ligne
#2 Fri 01 December 2017 10:59
- tumasgiu
- Membre
- Lieu: Ajaccio
- Date d'inscription: 5 Jul 2010
- Messages: 1218
Re: [POSTGIS] Polygones contigues vers lignes uniques
Salut,
remplacez le st_collect par un st_union, je pense que vous devriez arriver
au résultat attendu.
Une autre façon de faire aurait été d'intégrer vos zonages dans le système de
topologie de postgis.
Si je devais établir un PLU numérique sous postgis, je pense que c'est ce que j'utiliserais.
Hors ligne


