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 !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Thu 30 November 2017 15:30

BenB
Participant actif
Date d'inscription: 29 Dec 2015
Messages: 120

[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: 1132

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

 

Pied de page des forums

Powered by FluxBB