334 lines
15 KiB
Plaintext
334 lines
15 KiB
Plaintext
# Creating the spatial objects
|
|
CREATE TABLE gis_point (fid INTEGER NOT NULL PRIMARY KEY, g POINT);
|
|
CREATE TABLE gis_linestring (fid INTEGER NOT NULL PRIMARY KEY, g LINESTRING);
|
|
CREATE TABLE gis_polygon (fid INTEGER NOT NULL PRIMARY KEY, g POLYGON);
|
|
CREATE TABLE gis_multi_point (fid INTEGER NOT NULL PRIMARY KEY, g MULTIPOINT);
|
|
CREATE TABLE gis_multi_linestring (fid INTEGER NOT NULL PRIMARY KEY,
|
|
g MULTILINESTRING);
|
|
CREATE TABLE gis_multi_polygon (fid INTEGER NOT NULL PRIMARY KEY,
|
|
g MULTIPOLYGON);
|
|
CREATE TABLE gis_geometrycollection (fid INTEGER NOT NULL PRIMARY KEY,
|
|
g GEOMETRYCOLLECTION);
|
|
# Inserting POINT Geometry Values
|
|
INSERT INTO gis_point VALUES
|
|
(101, POINT(1.1111,-2.2222)),
|
|
(102, POINT(10.0000,20.0000));
|
|
INSERT INTO gis_point VALUES
|
|
(103, POINT(1e308, 1e202));
|
|
# Displaying the inserted POINT Geometry Data
|
|
SELECT fid, ST_ASTEXT(g) FROM gis_point;
|
|
fid ST_ASTEXT(g)
|
|
101 POINT(1.1111 -2.2222)
|
|
102 POINT(10 20)
|
|
103 POINT(1e308 1e202)
|
|
# Inserting LINESTRING Geometry Values
|
|
INSERT INTO gis_linestring VALUES
|
|
(201, ST_LINEFROMTEXT('LINESTRING(0 2,2 4,4 8)'));
|
|
INSERT INTO gis_linestring VALUES
|
|
(202, ST_LINESTRINGFROMTEXT('LINESTRING(0 12,12 24,24 48)'));
|
|
INSERT INTO gis_linestring VALUES
|
|
(203, LINESTRING(POINT(0,0), POINT(-5,7),
|
|
POINT(-10,70)));
|
|
# Displaying the inserted LINESTRING Geometry Data
|
|
SELECT fid, ST_ASTEXT(g) FROM gis_linestring;
|
|
fid ST_ASTEXT(g)
|
|
201 LINESTRING(0 2,2 4,4 8)
|
|
202 LINESTRING(0 12,12 24,24 48)
|
|
203 LINESTRING(0 0,-5 7,-10 70)
|
|
# Inserting POLYGON Geometry Values
|
|
INSERT INTO gis_polygon VALUES
|
|
(301, ST_POLYFROMTEXT('POLYGON((0 0,5 0,5 5, 0 0))'));
|
|
INSERT INTO gis_polygon VALUES
|
|
(302, ST_POLYGONFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0),
|
|
(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))'));
|
|
INSERT INTO gis_polygon VALUES
|
|
(303, POLYGON(LINESTRING(POINT(0,0), POINT(10,0),
|
|
POINT(10,10), POINT(0,10), POINT(0,0)), LINESTRING(POINT(4,4), POINT(4,6),
|
|
POINT(6,6), POINT(6,4), POINT(4,4))));
|
|
# Displaying the inserted POLYGON Geometry Data
|
|
SELECT fid, ST_ASTEXT(g) FROM gis_polygon;
|
|
fid ST_ASTEXT(g)
|
|
301 POLYGON((0 0,5 0,5 5,0 0))
|
|
302 POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))
|
|
303 POLYGON((0 0,10 0,10 10,0 10,0 0),(4 4,4 6,6 6,6 4,4 4))
|
|
# Inserting MULTIPOINT Geometry Values
|
|
INSERT INTO gis_multi_point VALUES
|
|
(401, ST_MPOINTFROMTEXT('MULTIPOINT(0 0,5 5,10 10)'));
|
|
INSERT INTO gis_multi_point VALUES
|
|
(402, ST_MULTIPOINTFROMTEXT('MULTIPOINT(1e308 1e308,1e308 -1e308,-1e308
|
|
1e308,-1e308 -1e308)'));
|
|
INSERT INTO gis_multi_point VALUES
|
|
(403, ST_MPOINTFROMTEXT('MULTIPOINT(1e308
|
|
1e308, 1e308 -1e308, -1e308 1e308, -1e308 -1e308, 1e308 1e308)'));
|
|
# Displaying the inserted MULTIPOINT Geometry Data
|
|
SELECT fid, ST_ASTEXT(g) FROM gis_multi_point;
|
|
fid ST_ASTEXT(g)
|
|
401 MULTIPOINT((0 0),(5 5),(10 10))
|
|
402 MULTIPOINT((1e308 1e308),(1e308 -1e308),(-1e308 1e308),(-1e308 -1e308))
|
|
403 MULTIPOINT((1e308 1e308),(1e308 -1e308),(-1e308 1e308),(-1e308 -1e308),(1e308 1e308))
|
|
# Inserting MULTILINESTRING Geometry Values
|
|
INSERT INTO gis_multi_linestring VALUES
|
|
(501, ST_MLINEFROMTEXT('MULTILINESTRING((0 0,2 2,4 4),(6 6,8 8,10 10))'));
|
|
INSERT INTO gis_multi_linestring VALUES
|
|
(502, MULTILINESTRING(LINESTRING(POINT(0,0),
|
|
POINT(12,12), POINT(24,24)),
|
|
LINESTRING(POINT(36,36), POINT(48,48), POINT(50,50))));
|
|
INSERT INTO gis_multi_linestring VALUES
|
|
(503, ST_MULTILINESTRINGFROMTEXT
|
|
('MULTILINESTRING((0 0,0 100),(0 0,100 0),(0 0,0 -100),(0 0,-100 0))'));
|
|
# Displaying the inserted MULTILINESTRING Geometry Data
|
|
SELECT fid, ST_ASTEXT(g) FROM gis_multi_linestring;
|
|
fid ST_ASTEXT(g)
|
|
501 MULTILINESTRING((0 0,2 2,4 4),(6 6,8 8,10 10))
|
|
502 MULTILINESTRING((0 0,12 12,24 24),(36 36,48 48,50 50))
|
|
503 MULTILINESTRING((0 0,0 100),(0 0,100 0),(0 0,0 -100),(0 0,-100 0))
|
|
# Inserting MULTIPOLGYON Geometry Values
|
|
INSERT INTO gis_multi_polygon VALUES
|
|
(601, MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))))),
|
|
(602, MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(10, 0), POINT(10,10), POINT(10, 0), POINT(0,0)),
|
|
LINESTRING(POINT(4,4),
|
|
POINT(4,6), POINT(6,6),
|
|
POINT(6,4), POINT(4,4))))),
|
|
(603, MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))),
|
|
POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(-5, 0), POINT(-5,-5), POINT(0 ,-5),
|
|
POINT(0,0)))));
|
|
# Displaying the inserted MULTIPOLYGON Geometry Data
|
|
SELECT fid, ST_ASTEXT(g) FROM gis_multi_polygon;
|
|
fid ST_ASTEXT(g)
|
|
601 MULTIPOLYGON(((0 0,5 0,5 5,0 5,0 0)))
|
|
602 MULTIPOLYGON(((0 0,10 0,10 10,10 0,0 0),(4 4,4 6,6 6,6 4,4 4)))
|
|
603 MULTIPOLYGON(((0 0,5 0,5 5,0 5,0 0)),((0 0,-5 0,-5 -5,0 -5,0 0)))
|
|
INSERT INTO gis_geometrycollection VALUES
|
|
(701, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))')),
|
|
(702, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),
|
|
LINESTRING(0 0,10 10))')),
|
|
(703, ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(5 5),
|
|
POLYGON((0 0,10 0,10 10,0 10,0 0)))'));
|
|
# Displaying the inserted GEOMETRYCOLLECTION Geometry Data
|
|
SELECT fid, ST_ASTEXT(g) FROM gis_geometrycollection;
|
|
fid ST_ASTEXT(g)
|
|
701 GEOMETRYCOLLECTION(POINT(0 0))
|
|
702 GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
|
|
703 GEOMETRYCOLLECTION(POINT(5 5),POLYGON((0 0,10 0,10 10,0 10,0 0)))
|
|
#=======================================================================
|
|
# ST_SWAPXY(point)
|
|
#=======================================================================
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_point WHERE fid = 101;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
POINT(-2.2222 1.1111)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_point WHERE fid = 102;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
POINT(20 10)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_point WHERE fid = 103;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
POINT(1e202 1e308)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_POINTFROMTEXT(
|
|
'POINT(1.1111 -2.2222)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_POINTFROMTEXT(
|
|
'POINT(1.1111 -2.2222)')))
|
|
POINT(-2.2222 1.1111)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_POINTFROMTEXT(
|
|
'POINT(10.0000 20.0000)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_POINTFROMTEXT(
|
|
'POINT(10.0000 20.0000)')))
|
|
POINT(20 10)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_POINTFROMTEXT(
|
|
'POINT(1e308 1e202)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_POINTFROMTEXT(
|
|
'POINT(1e308 1e202)')))
|
|
POINT(1e202 1e308)
|
|
#=======================================================================
|
|
# ST_SWAPXY(linestring)
|
|
#=======================================================================
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_linestring WHERE fid = 201;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
LINESTRING(2 0,4 2,8 4)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_linestring WHERE fid = 202;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
LINESTRING(12 0,24 12,48 24)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_linestring WHERE fid = 203;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
LINESTRING(0 0,7 -5,70 -10)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_LINEFROMTEXT('LINESTRING(0 2,2 4,4 8)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_LINEFROMTEXT('LINESTRING(0 2,2 4,4 8)')))
|
|
LINESTRING(2 0,4 2,8 4)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_LINESTRINGFROMTEXT('LINESTRING(0 12,12 24,24 48)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_LINESTRINGFROMTEXT('LINESTRING(0 12,12 24,24 48)')))
|
|
LINESTRING(12 0,24 12,48 24)
|
|
SELECT ST_ASTEXT(ST_SWAPXY(LINESTRING(POINT(0,2), POINT(-5,7),
|
|
POINT(-10,70))));
|
|
ST_ASTEXT(ST_SWAPXY(LINESTRING(POINT(0,2), POINT(-5,7),
|
|
POINT(-10,70))))
|
|
LINESTRING(2 0,7 -5,70 -10)
|
|
#=======================================================================
|
|
# ST_SWAPXY(polygon)
|
|
#=======================================================================
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_polygon WHERE fid = 301;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
POLYGON((0 0,0 5,5 5,0 0))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_polygon WHERE fid = 302;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
POLYGON((0 0,0 10,10 10,10 0,0 0),(2 2,4 2,4 4,2 4,2 2),(6 6,8 6,8 8,6 8,6 6))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_polygon WHERE fid = 303;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,6 4,6 6,4 6,4 4))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_POLYFROMTEXT('POLYGON((0 0,5 0,5 5, 0 0))')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_POLYFROMTEXT('POLYGON((0 0,5 0,5 5, 0 0))')))
|
|
POLYGON((0 0,0 5,5 5,0 0))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_POLYGONFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0),
|
|
(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_POLYGONFROMTEXT('POLYGON((0 0,10 0,10 10,0 10,0 0),
|
|
(2 2,2 4,4 4,4 2,2 2),(6 6,6 8,8 8,8 6,6 6))')))
|
|
POLYGON((0 0,0 10,10 10,10 0,0 0),(2 2,4 2,4 4,2 4,2 2),(6 6,8 6,8 8,6 8,6 6))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(POLYGON(LINESTRING(POINT(0,0), POINT(10,0),
|
|
POINT(10,10), POINT(0,10), POINT(0,0)), LINESTRING(POINT(4,4), POINT(4,6),
|
|
POINT(6,6), POINT(6,4), POINT(4,4)))));
|
|
ST_ASTEXT(ST_SWAPXY(POLYGON(LINESTRING(POINT(0,0), POINT(10,0),
|
|
POINT(10,10), POINT(0,10), POINT(0,0)), LINESTRING(POINT(4,4), POINT(4,6),
|
|
POINT(6,6), POINT(6,4), POINT(4,4)))))
|
|
POLYGON((0 0,0 10,10 10,10 0,0 0),(4 4,6 4,6 6,4 6,4 4))
|
|
#=======================================================================
|
|
# ST_SWAPXY(multipoint)
|
|
#=======================================================================
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_point WHERE fid = 401;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTIPOINT((0 0),(5 5),(10 10))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_point WHERE fid = 402;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTIPOINT((1e308 1e308),(-1e308 1e308),(1e308 -1e308),(-1e308 -1e308))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_point WHERE fid = 403;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTIPOINT((1e308 1e308),(-1e308 1e308),(1e308 -1e308),(-1e308 -1e308),(1e308 1e308))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_MPOINTFROMTEXT('MULTIPOINT(0 5,5 10,10 20)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_MPOINTFROMTEXT('MULTIPOINT(0 5,5 10,10 20)')))
|
|
MULTIPOINT((5 0),(10 5),(20 10))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_MPOINTFROMTEXT('MULTIPOINT(
|
|
1e308 1e208,1e308 -1e208,-1e308 1e208,-1e308 -1e208)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_MPOINTFROMTEXT('MULTIPOINT(
|
|
1e308 1e208,1e308 -1e208,-1e308 1e208,-1e308 -1e208)')))
|
|
MULTIPOINT((1e208 1e308),(-1e208 1e308),(1e208 -1e308),(-1e208 -1e308))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_MPOINTFROMTEXT(
|
|
'MULTIPOINT(1e308 1e308,1e308 -1e308,-1e308 1e308,
|
|
-1e308 -1e308,1e308 1e308)')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_MPOINTFROMTEXT(
|
|
'MULTIPOINT(1e308 1e308,1e308 -1e308,-1e308 1e308,
|
|
-1e308 -1e308,1e308 1e308)')))
|
|
MULTIPOINT((1e308 1e308),(-1e308 1e308),(1e308 -1e308),(-1e308 -1e308),(1e308 1e308))
|
|
#=======================================================================
|
|
# ST_SWAPXY(multilinestring)
|
|
#=======================================================================
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_linestring WHERE fid = 501;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTILINESTRING((0 0,2 2,4 4),(6 6,8 8,10 10))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_linestring WHERE fid = 502;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTILINESTRING((0 0,12 12,24 24),(36 36,48 48,50 50))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_linestring WHERE fid = 503;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTILINESTRING((0 0,100 0),(0 0,0 100),(0 0,-100 0),(0 0,0 -100))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_MLINEFROMTEXT('MULTILINESTRING((0 0,2 2,4 4),
|
|
(6 6,8 8,10 10))')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_MLINEFROMTEXT('MULTILINESTRING((0 0,2 2,4 4),
|
|
(6 6,8 8,10 10))')))
|
|
MULTILINESTRING((0 0,2 2,4 4),(6 6,8 8,10 10))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(MULTILINESTRING(
|
|
LINESTRING(POINT(0,0), POINT(12,12), POINT(24,24)), LINESTRING(POINT(36,36),
|
|
POINT(48,48), POINT(50,50)))));
|
|
ST_ASTEXT(ST_SWAPXY(MULTILINESTRING(
|
|
LINESTRING(POINT(0,0), POINT(12,12), POINT(24,24)), LINESTRING(POINT(36,36),
|
|
POINT(48,48), POINT(50,50)))))
|
|
MULTILINESTRING((0 0,12 12,24 24),(36 36,48 48,50 50))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(
|
|
ST_MULTILINESTRINGFROMTEXT('MULTILINESTRING((0 0,0 100),(0 0,100 0),
|
|
(0 0,0 -100),(0 0,-100 0))')));
|
|
ST_ASTEXT(ST_SWAPXY(
|
|
ST_MULTILINESTRINGFROMTEXT('MULTILINESTRING((0 0,0 100),(0 0,100 0),
|
|
(0 0,0 -100),(0 0,-100 0))')))
|
|
MULTILINESTRING((0 0,100 0),(0 0,0 100),(0 0,-100 0),(0 0,0 -100))
|
|
#=======================================================================
|
|
# ST_SWAPXY(multipolygon)
|
|
#=======================================================================
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_polygon WHERE fid = 601;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_polygon WHERE fid = 602;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTIPOLYGON(((0 0,0 10,10 10,0 10,0 0),(4 4,6 4,6 6,4 6,4 4)))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_multi_polygon WHERE fid = 603;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((0 0,0 -5,-5 -5,-5 0,0 0)))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))))));
|
|
ST_ASTEXT(ST_SWAPXY(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))))))
|
|
MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(10,0), POINT(10,10), POINT(0,10), POINT(0,0)), LINESTRING(POINT(4,4),
|
|
POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))))));
|
|
ST_ASTEXT(ST_SWAPXY(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(10,0), POINT(10,10), POINT(0,10), POINT(0,0)), LINESTRING(POINT(4,4),
|
|
POINT(4,6), POINT(6,6), POINT(6,4), POINT(4,4))))))
|
|
MULTIPOLYGON(((0 0,0 10,10 10,10 0,0 0),(4 4,6 4,6 6,4 6,4 4)))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))),
|
|
POLYGON(LINESTRING(POINT(0,0), POINT(-5, 0), POINT(-5,-5), POINT(0, -5),
|
|
POINT(0,0))))));
|
|
ST_ASTEXT(ST_SWAPXY(MULTIPOLYGON(POLYGON(LINESTRING(POINT(0,0),
|
|
POINT(5,0), POINT(5,5), POINT(0,5), POINT(0,0))),
|
|
POLYGON(LINESTRING(POINT(0,0), POINT(-5, 0), POINT(-5,-5), POINT(0, -5),
|
|
POINT(0,0))))))
|
|
MULTIPOLYGON(((0 0,0 5,5 5,5 0,0 0)),((0 0,0 -5,-5 -5,-5 0,0 0)))
|
|
#=======================================================================
|
|
# ST_SWAPXY(geometrycollection)
|
|
#=======================================================================
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_geometrycollection WHERE fid = 701;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
GEOMETRYCOLLECTION(POINT(0 0))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_geometrycollection WHERE fid = 702;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(g)) FROM gis_geometrycollection WHERE fid = 703;
|
|
ST_ASTEXT(ST_SWAPXY(g))
|
|
GEOMETRYCOLLECTION(POINT(5 5),POLYGON((0 0,0 10,10 10,10 0,0 0)))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0))')))
|
|
GEOMETRYCOLLECTION(POINT(0 0))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),
|
|
LINESTRING(0 0,10 10))')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(0 0),
|
|
LINESTRING(0 0,10 10))')))
|
|
GEOMETRYCOLLECTION(POINT(0 0),LINESTRING(0 0,10 10))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(5 5),
|
|
POLYGON((0 0,10 0,10 10,0 10,0 0)))')));
|
|
ST_ASTEXT(ST_SWAPXY(ST_GEOMCOLLFROMTEXT('GEOMETRYCOLLECTION(POINT(5 5),
|
|
POLYGON((0 0,10 0,10 10,0 10,0 0)))')))
|
|
GEOMETRYCOLLECTION(POINT(5 5),POLYGON((0 0,0 10,10 10,10 0,0 0)))
|
|
SELECT ST_ASTEXT(ST_SWAPXY(NULL));
|
|
ST_ASTEXT(ST_SWAPXY(NULL))
|
|
NULL
|
|
SELECT ST_ASTEXT(ST_SWAPXY());
|
|
ERROR 42000: Incorrect parameter count in the call to native function 'ST_SWAPXY'
|
|
SELECT ST_SWAPXY('foobar');
|
|
ERROR 22023: Invalid GIS data provided to function st_swapxy.
|
|
SELECT ST_SWAPXY(x'0101000000');
|
|
ERROR 22023: Invalid GIS data provided to function st_swapxy.
|
|
SELECT ST_SWAPXY(x'010200000000000000');
|
|
ERROR 22023: Invalid GIS data provided to function st_swapxy.
|
|
# Final cleanup
|
|
DROP TABLE gis_point;
|
|
DROP TABLE gis_linestring;
|
|
DROP TABLE gis_polygon;
|
|
DROP TABLE gis_multi_point;
|
|
DROP TABLE gis_multi_linestring;
|
|
DROP TABLE gis_multi_polygon;
|
|
DROP TABLE gis_geometrycollection;
|
|
#
|
|
# WL#11096 Don't do Cartesian computations on geographic geometries
|
|
#
|
|
DO ST_SWAPXY(x'0A000000010100000000000000000000000000000000000000');
|
|
ERROR SR001: There's no spatial reference system with SRID 10.
|