-- nahrání dat ve formě simple features
CREATE TABLE p2 (fid serial PRIMARY KEY, geom geometry(Polygon));
INSERT INTO p2 (geom) VALUES (ST_GeomFromText('Polygon(
(0 0, 100 0, 100 100, 0 100, 0 0))'));
INSERT INTO p2 (geom) VALUES (ST_GeomFromText('Polygon(
(100 0, 200 0, 200 100, 100 100, 100 0))'));
-- vytvoření topologického schématu
SELECT topology.CreateTopology('topo_p2');
-- přidání topologického datového atributu
SELECT topology.AddTopoGeometryColumn('topo_p2', 'topo_test', 'p2', 'topo', 'POLYGON');
-- sestavení topologických elementů na zakladě jednoduchých prvků
UPDATE p2 SET topo = topology.toTopoGeom(geom, 'topo_p2', 1);
-- seznam uzlů
SELECT node_id,containing_face,st_astext(geom) from topo_p2.node;
-- seznam hran
SELECT edge_id,start_node,end_node,next_left_edge,next_right_edge,
left_face,right_face,st_astext(geom) from topo_p2.edge;
-- seznam stěn
SELECT face_id,ST_AsText(mbr) from topo_p2.face;
-- vypsání topogeometrie
SELECT fid,ST_AsText(geom),(topo).* FROM p2;
-- dotaz na topologická primitiva
SELECT f.face_id, ST_AsText(mbr)
FROM
(
SELECT *
FROM p2
WHERE fid = 1
) as p2
JOIN topo_p2.face AS f
ON (topo).id = f.face_id;
-- validace
SELECT topology.TopologySummary('topo_p2');
SELECT topology.ValidateTopology('topo_p2');
-- vybereme část parcel na území Hl. města Prahy
CREATE TABLE parcely AS
SELECT * FROM ruian_praha.parcely WHERE katastralniuzemikod = 732583;
-- přídáme primární klíč
ALTER TABLE parcely ADD PRIMARY KEY (ogc_fid);
-- a prostorové indexy
CREATE INDEX ON parcely USING gist (geom);
-- topologické schéma
SELECT topology.CreateTopology('topo_parcely', 5514);
-- topologický atribut
SELECT topology.AddTopoGeometryColumn('topo_parcely', 'topo_test',
'parcely', 'topo', 'POLYGON');
-- sestavení topologických primitiv
UPDATE parcely SET topo = topology.toTopoGeom(geom, 'topo_parcely', 1, 0.01);