IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes PostgreSQL Discussion :

PostGis - ST_Union et objets multi-polygones [9.1]


Sujet :

Requêtes PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Par défaut PostGis - ST_Union et objets multi-polygones
    Bonjour,

    J'ai besoin d'utiliser la fonction ST_Union de Postgis pour agréger des objets grâce à un champ de regroupement.

    Voici la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    CREATE TABLE cad_d63_2012b.edi_parc_uf
      AS SELECT
    ROW_NUMBER () OVER () AS gid,
    ST_Union (the_geom) AS the_geom
      FROM
    cad_d63_2012b.edi_parc,
    cad_d63_2012b.ident_prop_desti_av_imp
      WHERE
    edi_parc.id_parc = ident_prop_desti_av_imp.codparc AND edi_parc.code_insee = '63300'
      GROUP BY
    ident_prop_desti_av_imp.id_prop;
    Celle-ci fonctionne très bien à l'exception près qu'elle génère, pour certains cas, des objets multi-polygones : agrégations de parcelles disjointes.

    Dans mon cas précis je ne veux pas d'objets multi-polygones.

    Existe-t-il un argument ou une fonction qui permette :

    - soit de ne pas autoriser les objets multi-polygones dans la fonction ST_Union ?
    - soit de décomposer ensuite les objets multipolygones ?

    D'avance merci pour votre aide.

  2. #2
    Membre émérite
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 552
    Par défaut
    Bonsoir,

    Une union de polygone peut renvoyer un MultiPolygon. Quand c'est le cas, il n'y a pas de raison de conserver une partie plutôt que l'autre et la fonction que tu demandes n'existe pas à ma connaissance.

    L'opération inverse existe par contre, à savoir ST_Multi pour forcer les Polygon/MultiPolygon à devenir des MultiPolygon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO resultat ( geometry )
           SELECT ST_Multi( ST_Union( geometry ) ) FROM table ;
    Quelques pistes peut-être pour ton cas :

    generate_series

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT ST_GeometryN(geometry,n) 
         FROM ( SELECT generate_series(1,ST_NumGeometries(geometry)) as n, geometry FROM test_polygon ) T ;
    ST_Dump

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT (ST_Dump('MULTIPOINT(0.0 0.0,1.0 1.0)'::geometry)).geom ;

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2010
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 101
    Par défaut
    Bonjour,

    Merci à toi Bretus, le ST_Dump correspond exactement à ce que je voulais faire.

    Mes multipolygones ont bien été explosés en polygones simples.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vider des Objets 'multi'
    Par BuzzLeclaire dans le forum Langage
    Réponses: 21
    Dernier message: 15/10/2008, 00h10
  2. Sous Delphi savoir dans Autocad si un objet est dans un polygone
    Par laventure dans le forum API, COM et SDKs
    Réponses: 0
    Dernier message: 29/06/2008, 22h11
  3. Objets de base (cube, triangles, polygones etc)
    Par crischprolch dans le forum OpenGL
    Réponses: 10
    Dernier message: 02/04/2008, 14h31
  4. interface : multi surface et objet
    Par DEVfan dans le forum SDL
    Réponses: 1
    Dernier message: 31/07/2006, 22h33
  5. Clic dans un polygone et trouver l'objet
    Par Zoons dans le forum Windows
    Réponses: 1
    Dernier message: 06/07/2006, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo