#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: 1159
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