Nombre

AddEdge — Agrega una arista de LineString a la tabla de arista y los puntos de inicio y fin asociados a la tabla nodos de puntos del esquema de topología usando la geometría LineString especificada y devuelve el identificador de arista de la arista nueva (o existente).

Sinopsis

bigint AddEdge(varchar toponame, geometry aline);

Description

Agrega un borde a la tabla arista y los nodos asociados a la tabla nodos del esquema toponame especificado usando la geometría LineString especificada y devuelve el identificador de arista del registro nuevo o existente. El borde recién añadido tiene la cara de "universo" en ambos lados y enlaces a sí mismo.

[Nota]

Si la geometría aline se cruza, se superpone, contiene o está contenida por un borde de cadena de línea existente, entonces se genera un error y no se agrega el borde.

[Nota]

La geometría de aline debe tener el mismo srid que el definido para la topología de lo contrario se lanzará un error de sistema de referencia espacial no válido.

Realizado por el módulo GEOS.

[Aviso]

AddEdge is deprecated as of 3.5.0. Use TopoGeo_AddLineString instead.

Disponibilidad: 2.0.0

Ejemplos

Code
SELECT topology.AddEdge('ma_topo', ST_GeomFromText('LINESTRING(227575.8 893917.2,227591.9 893900.4)', 26986)) AS edgeid;
Output
1
Code
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;
Output
2

This query errors because the edge intersects an existing edge away from the endpoints.

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