AddEdge — 설정한 지형 스키마의 경계선 테이블에 라인스트링 경계선을 추가하고, 설정한 라인스트링 도형을 이용해서 포인트 노드 테이블에 경계선의 시작점 및 종단점을 추가한 다음 새 (또는 기존) 경계선의 경계선 ID(edgeid)를 반환합니다.
integer AddEdge(
varchar toponame, geometry aline)
;
설정한 라인스트링 도형을 이용해서 설정한 toponame
스키마의 경계선 테이블에 경계선을, 노드 테이블에 경계선의 노드를 추가한 다음 새 (또는 기존) 레코드의 경계선 ID(edgeid)를 반환합니다. 새로 추가된 경계선은 양쪽에 "세계(universe)" 표면을 가지며 자기 자신에게 링크합니다.
기존 라인스트링 경계선이 |
|
GEOS 모듈로 실행
2.0.0 버전부터 사용할 수 있습니다.
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