]> granicus.if.org Git - postgis/commitdiff
Test roundtrip of WKT. Higher dimensions still needed (#1455)
authorSandro Santilli <strk@keybit.net>
Thu, 12 Jan 2012 08:52:11 +0000 (08:52 +0000)
committerSandro Santilli <strk@keybit.net>
Thu, 12 Jan 2012 08:52:11 +0000 (08:52 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@8786 b70326c6-7e19-0410-871a-916f4a2858ee

regress/wkt.sql
regress/wkt_expected

index 21b27bb7a5ea28009af083c164d09842262e621a..0a86103f8b68d730a89ea207bdf0cd51441c2d29 100644 (file)
-select ST_astext('POINT EMPTY');
-select ST_astext('POINT(EMPTY)');
-select ST_astext('POINT(0 0)');
-select ST_astext('POINT((0 0))');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POINT EMPTY'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POINT(EMPTY)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POINT(0 0)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POINT((0 0))'
+::text as g ) as foo;
 
-select ST_astext('MULTIPOINT EMPTY');
-select ST_astext('MULTIPOINT(EMPTY)');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOINT EMPTY'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOINT(EMPTY)'
+::text as g ) as foo;
 -- This is supported for backward compatibility
-select ST_astext('MULTIPOINT(0 0, 2 0)');
-select ST_astext('MULTIPOINT((0 0), (2 0))');
-select ST_astext('MULTIPOINT((0 0), (2 0), EMPTY)');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOINT(0 0, 2 0)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOINT((0 0), (2 0))'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOINT((0 0), (2 0), EMPTY)'
+::text as g ) as foo;
 
-select ST_astext('LINESTRING EMPTY');
-select ST_astext('LINESTRING(EMPTY)');
-select ST_astext('LINESTRING(0 0, 1 1)');
-select ST_astext('LINESTRING((0 0, 1 1))');
-select ST_astext('LINESTRING((0 0), (1 1))');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'LINESTRING EMPTY'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'LINESTRING(EMPTY)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'LINESTRING(0 0, 1 1)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'LINESTRING((0 0, 1 1))'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'LINESTRING((0 0), (1 1))'
+::text as g ) as foo;
 
-select ST_astext('MULTILINESTRING EMPTY');
-select ST_astext('MULTILINESTRING(EMPTY)');
-select ST_astext('MULTILINESTRING(0 0, 2 0)');
-select ST_astext('MULTILINESTRING((0 0, 2 0))');
-select ST_astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2))');
-select ST_astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2), EMPTY)');
-select ST_astext('MULTILINESTRING((0 0, 2 0), (1 1, 2 2), (EMPTY))');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTILINESTRING EMPTY'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTILINESTRING(EMPTY)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTILINESTRING(0 0, 2 0)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTILINESTRING((0 0, 2 0))'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTILINESTRING((0 0, 2 0), (1 1, 2 2))'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTILINESTRING((0 0, 2 0), (1 1, 2 2), EMPTY)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTILINESTRING((0 0, 2 0), (1 1, 2 2), (EMPTY))'
+::text as g ) as foo;
 
-select ST_astext('POLYGON EMPTY');
-select ST_astext('POLYGON(EMPTY)');
-select ST_astext('POLYGON((0 0,1 0,1 1,0 1,0 0))');
-select ST_astext('POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2))');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POLYGON EMPTY'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POLYGON(EMPTY)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POLYGON((0 0,1 0,1 1,0 1,0 0))'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2))'
+::text as g ) as foo;
 
-select ST_astext('MULTIPOLYGON EMPTY');
-select ST_astext('MULTIPOLYGON(EMPTY)');
-select ST_astext('MULTIPOLYGON((EMPTY))');
-select ST_astext('MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2)))');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOLYGON EMPTY'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOLYGON(EMPTY)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOLYGON((EMPTY))'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2)))'
+::text as g ) as foo;
 
-select ST_astext('GEOMETRYCOLLECTION EMPTY');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'GEOMETRYCOLLECTION EMPTY'
+::text as g ) as foo;
 -- This is supported for backward compatibility
-select ST_astext('GEOMETRYCOLLECTION(EMPTY)');
-select ST_astext('GEOMETRYCOLLECTION((EMPTY))');
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'GEOMETRYCOLLECTION(EMPTY)'
+::text as g ) as foo;
+SELECT g,
+      ST_AsText(g::geometry),
+      ST_OrderingEquals(g::geometry, St_GeomFromText(ST_AsText(g::geometry))) FROM ( SELECT
+'GEOMETRYCOLLECTION((EMPTY))'
+::text as g ) as foo;
index e959d7814af2cff9d31f747ba97b1623228d54d8..a0f0affe56334074a5ac21ec76169e98ed26ed12 100644 (file)
@@ -1,47 +1,47 @@
-POINT EMPTY
+POINT EMPTY|POINT EMPTY|t
 ERROR:  parse error - invalid geometry
 HINT:  "POINT(EMPTY" <-- parse error at position 11 within geometry
-POINT(0 0)
+POINT(0 0)|POINT(0 0)|t
 ERROR:  parse error - invalid geometry
 HINT:  "POINT((" <-- parse error at position 7 within geometry
-MULTIPOINT EMPTY
+MULTIPOINT EMPTY|MULTIPOINT EMPTY|t
 ERROR:  parse error - invalid geometry
 HINT:  "MULTIPOINT(EMPTY" <-- parse error at position 16 within geometry
-MULTIPOINT(0 0,2 0)
-MULTIPOINT(0 0,2 0)
+MULTIPOINT(0 0, 2 0)|MULTIPOINT(0 0,2 0)|t
+MULTIPOINT((0 0), (2 0))|MULTIPOINT(0 0,2 0)|t
 ERROR:  parse error - invalid geometry
 HINT:  "MULTIPOINT((0 0), (2 0), EMPTY" <-- parse error at position 30 within geometry
-LINESTRING EMPTY
+LINESTRING EMPTY|LINESTRING EMPTY|t
 ERROR:  parse error - invalid geometry
 HINT:  "LINESTRING(EMPTY" <-- parse error at position 16 within geometry
-LINESTRING(0 0,1 1)
+LINESTRING(0 0, 1 1)|LINESTRING(0 0,1 1)|t
 ERROR:  parse error - invalid geometry
 HINT:  "LINESTRING((" <-- parse error at position 12 within geometry
 ERROR:  parse error - invalid geometry
 HINT:  "LINESTRING((" <-- parse error at position 12 within geometry
-MULTILINESTRING EMPTY
+MULTILINESTRING EMPTY|MULTILINESTRING EMPTY|t
 ERROR:  parse error - invalid geometry
 HINT:  "MULTILINESTRING(EMPTY" <-- parse error at position 21 within geometry
 ERROR:  parse error - invalid geometry
 HINT:  "MULTILINESTRING(0" <-- parse error at position 17 within geometry
-MULTILINESTRING((0 0,2 0))
-MULTILINESTRING((0 0,2 0),(1 1,2 2))
+MULTILINESTRING((0 0, 2 0))|MULTILINESTRING((0 0,2 0))|t
+MULTILINESTRING((0 0, 2 0), (1 1, 2 2))|MULTILINESTRING((0 0,2 0),(1 1,2 2))|t
 ERROR:  parse error - invalid geometry
 HINT:  "...ESTRING((0 0, 2 0), (1 1, 2 2), EMPTY" <-- parse error at position 45 within geometry
 ERROR:  parse error - invalid geometry
 HINT:  "...STRING((0 0, 2 0), (1 1, 2 2), (EMPTY" <-- parse error at position 46 within geometry
-POLYGON EMPTY
+POLYGON EMPTY|POLYGON EMPTY|t
 ERROR:  parse error - invalid geometry
 HINT:  "POLYGON(EMPTY" <-- parse error at position 13 within geometry
-POLYGON((0 0,1 0,1 1,0 1,0 0))
-POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2))
-MULTIPOLYGON EMPTY
+POLYGON((0 0,1 0,1 1,0 1,0 0))|POLYGON((0 0,1 0,1 1,0 1,0 0))|t
+POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2))|POLYGON((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2))|t
+MULTIPOLYGON EMPTY|MULTIPOLYGON EMPTY|t
 ERROR:  parse error - invalid geometry
 HINT:  "MULTIPOLYGON(EMPTY" <-- parse error at position 18 within geometry
 ERROR:  parse error - invalid geometry
 HINT:  "MULTIPOLYGON((EMPTY" <-- parse error at position 19 within geometry
-MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2)))
-GEOMETRYCOLLECTION EMPTY
+MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2)))|MULTIPOLYGON(((0 0,10 0,10 10,0 10,0 0),(2 2,2 5,5 5,5 2,2 2)))|t
+GEOMETRYCOLLECTION EMPTY|GEOMETRYCOLLECTION EMPTY|t
 ERROR:  parse error - invalid geometry
 HINT:  "GEOMETRYCOLLECTION(EMPTY" <-- parse error at position 24 within geometry
 ERROR:  parse error - invalid geometry