Point d'intersection

Objectif de cette requête :

       Calculer les points d'intersections dans une couche d'objets linéaires (ici un réseau hydrographique -> HydrographyNetwork_Line)


Instruction SQL :

        -- Une couche intermédiaire est créée avec un nom d'alias.

       select register('explose');

       -- On utilise la fonction explode pour décomposer les multilignes.

       create table explose as select STO_explode() from HydrographyNetwork_Line;

       -- On créé une nouvelle couche intermédiaire.

       select register('intersection');

       -- On calcul l'intersection de chaque cours d'eau compris dans la couche

       create table intersection as select ST_intersection(a.the_geom, b.the_geom) as the_geom from explose a, explose b where ST_intersects(a.the_geom, b.the_geom);

       -- On créé une nouvelle couche intermédiaire.

       select register('points');

       -- Ici, on filtre les données afin de supprimer les doublons de points et de géométrie

       create table points as select distinct the_geom from intersection where ST_dimension(the_geom) = 0;


Résultat :

Avant

Après

(pensez à glisser/déposer la nouvelle couche dans la TOC pour la voir)

Copyright - IRSTV - 2009 - www.orbisgis.org