AddEdge
Prev | 10.8. Topology Processing | Next

## Name

AddEdge — Adds a linestring edge to the edge table and associated start and end points to the point nodes table of the specified topology schema using the specified linestring geometry and returns the edgeid of the new (or existing) edge.

## Synopsis

`integer AddEdge(`varchar toponame, geometry aline`)`;

## Description

Adds an edge to the edge table and associated nodes to the nodes table of the specified `toponame` schema using the specified linestring geometry and returns the edgeid of the new or existing record. The newly added edge has "universe" face on both sides and links to itself.

If the `aline` geometry crosses, overlaps, contains or is contained by an existing linestring edge, then an error is thrown and the edge is not added.

The geometry of `aline` must have the same `srid` as defined for the topology otherwise an invalid spatial reference sys error will be thrown.

Performed by the GEOS module.

Availability: 2.0.0

## Examples

    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

## See Also

TopoGeo_AddLineString, CreateTopology, Section 4.5, “Spatial Reference Systems”

Prev | Up | Next
AddNode | Home | AddFace