123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- -- In this example the boundary_test table is created with two columns:
- -- geotype defined as a varchar, and g1 defined as the superclass geometry.
- -- The INSERT statements that follow insert each one of the subclass
- -- geometries. The ST_Boundary function retrieves the boundary of each
- -- subclass stored in the g1 geometry column. Note that the dimension of
- -- the resulting geometry is always one less than the input geometry.
- -- Points and multipoints always result in a boundary that is an empty
- -- geometry, dimension -1. Linestrings and multilinestrings return
- -- a multipoint boundary, dimension 0. A polygon or multipolygon always
- -- returns a multilinestring boundary, dimension 1.
- CREATE TABLE boundary_test (geotype varchar(20),
- g1 ST_Geometry);
- INSERT INTO boundary_test VALUES(
- 'Point', ST_PointFromText('point (10.02 20.01)',1000)
- );
- INSERT INTO boundary_test VALUES(
- 'Linestring',
- ST_LineFromText('linestring (10.02 20.01,10.32 23.98,11.92 25.64)',1000)
- );
- INSERT INTO boundary_test VALUES(
- 'Polygon',
- ST_PolyFromText('polygon ((10.02 20.01,11.92 35.64,25.02 34.15,19.15 33.94, 10.02 20.01))',1000)
- );
- INSERT INTO boundary_test VALUES(
- 'Multipoint',
- ST_MPointFromText('multipoint (10.02 20.01,10.32 23.98,11.92 25.64)',1000)
- );
- INSERT INTO boundary_test VALUES(
- 'Multilinestring',
- ST_MLineFromText('multilinestring ((10.02 20.01,10.32 23.98,11.92 25.64), (9.55 23.75,15.36 30.11))',1000)
- );
- INSERT INTO boundary_test VALUES(
- 'Multipolygon',
- ST_MPolyFromText('multipolygon (((10.02 20.01,11.92 35.64,25.02 34.15,19.15 33.94,10.02 20.01)),((51.71 21.73,73.36 27.04,71.52 32.87,52.43 31.90,51.71 21.73)))',1000)
- );
- SELECT geotype, ST_Boundary(g1)
- FROM boundary_test;
|