Name

AddEdge — Ajoute une arête linéaire à la table des arêtes et les points de départ et d'arrivée associés à la table des nœuds de points du schéma topologique spécifié en utilisant la géométrie linéaire spécifiée et renvoie l'identifiant de l'arête nouvelle (ou existante).

Synopsis

integer AddEdge(varchar toponame, geometry aline);

Description

Ajoute une arête à la table des arêtes et les nœuds associés à la table des nœuds du schéma toponame spécifié en utilisant la géométrie de ligne spécifiée et renvoie l'identifiant de l'arête du nouvel enregistrement ou de l'enregistrement existant. L'arête nouvellement ajoutée a une face "univers" des deux côtés et est liée à elle-même.

[Note]

Si la géométrie aline croise, chevauche, contient ou est contenue par un bord de ligne existant, une erreur est générée et l'arête n'est pas ajoutée.

[Note]

La géométrie de aline doit avoir la même srid que celle définie pour la topologie, sinon une erreur sys de référence spatiale non valide sera levée.

Effectué par le module GEOS.

Disponibilité : 2.0.0

Exemples

SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227575.8 893917.2,227591.9 893900.4)', 26986) ) As edgeid;
-- result-
edgeid
--------
 1

SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227591.9 893900.4,227622.6 893844.2,227641.6 893816.5,
 227704.5 893778.5)', 26986) ) As edgeid;
-- result --
edgeid
--------
 2

 SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227591.2 893900, 227591.9 893900.4,
  227704.5 893778.5)', 26986) ) As edgeid;
 -- gives error --
 ERROR:  Edge intersects (not on endpoints) with existing edge 1

Voir aussi

TopoGeo_AddLineString, CreateTopology, Section 4.5, “Systèmes de référence spatiale”