File: st_removeisonode.sql

package info (click to toggle)
postgis 3.3.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 87,748 kB
  • sloc: ansic: 158,671; sql: 91,546; xml: 54,004; cpp: 12,339; sh: 5,187; perl: 5,100; makefile: 3,085; python: 1,205; yacc: 447; lex: 151; javascript: 6
file content (59 lines) | stat: -rw-r--r-- 1,693 bytes parent folder | download | duplicates (5)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
\set VERBOSITY terse
set client_min_messages to ERROR;

-- Import city_data
\i :top_builddir/topology/test/load_topology.sql

-- Non isolated node (is used by an edge);
SELECT 'non-iso', topology.ST_RemoveIsoNode('city_data', 1);

-- Isolated node
SELECT 'iso', topology.ST_RemoveIsoNode('city_data',
  topology.TopoGeo_addPoint('city_data', 'POINT(100 100)')
);


-- See https://trac.osgeo.org/postgis/ticket/3231
CREATE TABLE city_data.poi(id serial primary key);
SELECT NULL FROM AddTopoGeometryColumn('city_data', 'city_data', 'poi', 'tg', 'POINT');
CREATE TABLE city_data.mix(id serial primary key);
SELECT NULL FROM AddTopoGeometryColumn('city_data', 'city_data', 'mix', 'tg', 'COLLECTION');
BEGIN;
INSERT INTO city_data.poi(tg) VALUES(
  topology.CreateTopoGeom(
    'city_data', -- Topology name
    1, -- Topology geometry type (point)
    1, -- TG_LAYER_ID for this topology (from topology.layer)
    ARRAY[
      ARRAY[
        topology.TopoGeo_addPoint('city_data', 'POINT(100 100)'),
        1 -- node
      ]
    ]
  )
);
SELECT '#3231.point', 'remove', ST_RemoveIsoNode('city_data',
  topology.TopoGeo_addPoint('city_data', 'POINT(100 100)')
);
ROLLBACK;
BEGIN;
INSERT INTO city_data.mix(tg) VALUES(
  topology.CreateTopoGeom(
    'city_data', -- Topology name
    4, -- Topology geometry type (point)
    2, -- TG_LAYER_ID for this topology (from topology.layer)
    ARRAY[
      ARRAY[
        topology.TopoGeo_addPoint('city_data', 'POINT(100 100)'),
        1 -- node
      ]
    ]
  )
);
SELECT '#3231.collection', 'remove', ST_RemoveIsoNode('city_data',
  topology.TopoGeo_addPoint('city_data', 'POINT(100 100)')
);
ROLLBACK;


SELECT NULL FROM DropTopology('city_data');