File: st_getfaceedges.sql

package info (click to toggle)
postgis 2.5.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 75,792 kB
  • sloc: ansic: 139,314; sql: 136,281; xml: 48,954; sh: 4,906; perl: 4,509; makefile: 2,897; python: 1,198; yacc: 441; cpp: 305; lex: 132
file content (44 lines) | stat: -rw-r--r-- 1,785 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
set client_min_messages to ERROR;

SELECT topology.CreateTopology('tt') > 0;

SELECT topology.ST_GetFaceEdges(null, null);
SELECT topology.ST_GetFaceEdges('tt', null);
SELECT topology.ST_GetFaceEdges(null, 1);
SELECT topology.ST_GetFaceEdges('', 1);
SELECT topology.ST_GetFaceEdges('NonExistent', 1);

SELECT 'E'||topology.AddEdge('tt', 'LINESTRING(2 2, 2  8)');        -- 1
SELECT 'E'||topology.AddEdge('tt', 'LINESTRING(2  8,  8  8)');      -- 2
SELECT 'E'||topology.AddEdge('tt', 'LINESTRING(8  8,  8 2, 2 2)');  -- 3
SELECT 'E'||topology.AddEdge('tt', 'LINESTRING(0 0, 0 10, 10 10)'); -- 4
SELECT 'E'||topology.AddEdge('tt', 'LINESTRING(0 0, 10 0)');        -- 5
SELECT 'E'||topology.AddEdge('tt', 'LINESTRING(10 10, 10 5)');      -- 6
SELECT 'E'||topology.AddEdge('tt', 'LINESTRING(10 0, 10 5)');       -- 7

SELECT 'F' ||
  topology.AddFace('tt',
    'POLYGON((0 0, 10 0, 10 10, 0 10, 0 0),(2 2, 2 8, 8 8, 8 2, 2 2))');
SELECT 'F' ||
  topology.AddFace('tt',
    'POLYGON((2 2, 2 8, 8 8, 8 2, 2 2))');

SELECT 'F1', (topology.ST_GetFaceEdges('tt', 1)).*;
SELECT 'F2', (topology.ST_GetFaceEdges('tt', 2)).*;

SELECT 'F0', (topology.ST_GetFaceEdges('tt', 0)).*;

SELECT topology.DropTopology('tt');

-- See https://trac.osgeo.org/postgis/ticket/3265
SELECT topology.CreateTopology('tt') > 0;
SELECT '#3265.1', 'E'||topology.TopoGeo_addLinestring('tt',
  'LINESTRING(150 150, 180 150, 180 180)');
SELECT '#3265.2', 'E'||topology.TopoGeo_addLinestring('tt',
  'LINESTRING(150 150, 180 180)');
SELECT '#3265.3', 'E'||topology.TopoGeo_addLinestring('tt',
  'LINESTRING(178 170, 178 161, 170 161, 178 170)');
SELECT '#3265.4', 0, ST_GetFaceEdges('tt', 0);
SELECT '#3265.5', 1, ST_GetFaceEdges('tt', 1);
SELECT '#3265.6', 2, ST_GetFaceEdges('tt', 2);
SELECT topology.DropTopology('tt');