Changeset: 85babf396b8f for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/85babf396b8f
Added Files:
        geom/sql/functions/Tests/ST_Collect-3.12.test
        geom/sql/functions/Tests/ST_Transform-3.12.reqtests
        geom/sql/functions/Tests/ST_Transform-3.12.test
Modified Files:
        geom/sql/functions/Tests/All
Branch: default
Log Message:

Deal with version 3.12 of the geos library.


diffs (271 lines):

diff --git a/geom/sql/functions/Tests/All b/geom/sql/functions/Tests/All
--- a/geom/sql/functions/Tests/All
+++ b/geom/sql/functions/Tests/All
@@ -13,7 +13,8 @@ HAVE_GEOM&GEOS_VERSION>=3.12.0?ST_GeomFr
 HAVE_GEOM?dropTestWKT
 
 HAVE_GEOM?ST_MakePoint
-HAVE_GEOM?ST_Collect
+HAVE_GEOM&!GEOS_VERSION>=3.12.0?ST_Collect
+HAVE_GEOM&GEOS_VERSION>=3.12.0?ST_Collect-3.12
 HAVE_GEOM?ST_MakeLine
 HAVE_GEOM?loadTestPolygons
 HAVE_GEOM?ST_Intersects
@@ -91,6 +92,7 @@ HAVE_GEOM?ST_MakeBox2D
 
 HAVE_GEOM?dropTestGeometries
 HAVE_GEOM?ST_DWithin2
-HAVE_GEOM?ST_Transform
+HAVE_GEOM&!GEOS_VERSION>=3.12.0?ST_Transform
+HAVE_GEOM&GEOS_VERSION>=3.12.0?ST_Transform-3.12
 
 HAVE_GEOM?geomcasts
diff --git a/geom/sql/functions/Tests/ST_Collect-3.12.test 
b/geom/sql/functions/Tests/ST_Collect-3.12.test
new file mode 100644
--- /dev/null
+++ b/geom/sql/functions/Tests/ST_Collect-3.12.test
@@ -0,0 +1,185 @@
+# column aggregation
+
+## points
+query T rowsort
+SELECT
+    ST_COLLECT(pts)
+FROM (
+    VALUES
+        (ST_GeomFromText('POINT(1 1)')),
+        (ST_GeomFromText('POINT(2 2)'))
+) AS REL(pts)
+----
+MULTIPOINT ((1 1), (2 2))
+
+## lines
+query T rowsort
+SELECT
+    ST_COLLECT(lns)
+FROM (
+    VALUES
+        (ST_GeomFromText('LINESTRING(10 20, 30 40, 60 40, 10 20)')),
+        (ST_GeomFromText('LINESTRING(10 10, 50 50)'))
+) AS REL(lns)
+----
+MULTILINESTRING ((10 20, 30 40, 60 40, 10 20), (10 10, 50 50))
+
+## polygons
+query T rowsort
+SELECT
+    ST_COLLECT(pgs)
+FROM (
+    VALUES
+        (ST_GeomFromText('POLYGON((10 10, 30 40, 50 50, 40 30, 10 10))')),
+        (ST_GeomFromText('POLYGON( EMPTY )')),
+        (ST_GeomFromText('POLYGON((30 30, 30 50, 50 30, 30 30))'))
+) AS REL(pgs)
+----
+MULTIPOLYGON (((10 10, 30 40, 50 50, 40 30, 10 10)), EMPTY, ((30 30, 30 50, 50 
30, 30 30)))
+
+## multi-types
+query T rowsort
+SELECT
+    ST_COLLECT(pgs)
+FROM (
+    VALUES
+        (ST_GeomFromText('MULTIPOLYGON (((10 10, 30 40, 50 50, 40 30, 10 10)), 
EMPTY, ((30 30, 30 50, 50 30, 30 30)))')),
+        (ST_GeomFromText('MULTILINESTRING ((10 20, 30 40, 60 40, 10 20), (10 
10, 50 50))')),
+        (ST_GeomFromText('POLYGON((30 30, 30 50, 50 30, 30 30))'))
+) AS REL(pgs)
+----
+GEOMETRYCOLLECTION (MULTIPOLYGON (((10 10, 30 40, 50 50, 40 30, 10 10)), 
EMPTY, ((30 30, 30 50, 50 30, 30 30))), MULTILINESTRING ((10 20, 30 40, 60 40, 
10 20), (10 10, 50 50)), POLYGON ((30 30, 30 50, 50 30, 30 30)))
+
+query T rowsort
+SELECT
+    ST_COLLECT(pgs)
+FROM (
+    VALUES
+        (ST_GeomFromText('MULTIPOLYGON (((10 10, 30 40, 50 50, 40 30, 10 10)), 
EMPTY, ((30 30, 30 50, 50 30, 30 30)))')),
+        (ST_GeomFromText('MULTIPOLYGON (((10 10, 30 40, 50 50, 40 30, 10 
10)))')),
+        (ST_GeomFromText('MULTIPOLYGON( EMPTY )'))
+) AS REL(pgs)
+----
+GEOMETRYCOLLECTION (MULTIPOLYGON (((10 10, 30 40, 50 50, 40 30, 10 10)), 
EMPTY, ((30 30, 30 50, 50 30, 30 30))), MULTIPOLYGON (((10 10, 30 40, 50 50, 40 
30, 10 10))), MULTIPOLYGON EMPTY)
+
+# per row aggregation
+
+## points-points
+query T rowsort
+SELECT
+    ST_COLLECT(p1, p2) AS points
+FROM (
+    VALUES
+        (
+            ST_GeomFromText('POINT(1 2)'),
+            ST_GeomFromText('POINT(3 4)')
+        ),
+        (
+            ST_GeomFromText('POINT(10 20)'),
+            ST_GeomFromText('POINT(30 40)')
+        )
+) AS REL(p1, p2)
+----
+MULTIPOINT ((1 2), (3 4))
+MULTIPOINT ((10 20), (30 40))
+
+## points-lines
+query T rowsort
+SELECT
+    ST_COLLECT(p1, p2) AS points
+FROM (
+    VALUES
+        (
+            ST_GeomFromText('POINT(1 2)'),
+            ST_GeomFromText('LINESTRING(10 20, 30 40, 60 40, 10 20)')
+        ),
+        (
+            ST_GeomFromText('POINT(10 20)'),
+            ST_GeomFromText('LINESTRING(10 10, 50 50)')
+        )
+) AS REL(p1, p2)
+----
+GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (10 20, 30 40, 60 40, 10 20))
+GEOMETRYCOLLECTION (POINT (10 20), LINESTRING (10 10, 50 50))
+
+## points-polygons
+query T rowsort
+SELECT
+    ST_COLLECT(p1, p2) AS points
+FROM (
+    VALUES
+        (
+            ST_GeomFromText('POINT(1 2)'),
+            ST_GeomFromText('POLYGON( EMPTY )')
+        ),
+        (
+            ST_GeomFromText('POINT(10 20)'),
+            ST_GeomFromText('POLYGON((10 10, 30 40, 50 50, 40 30, 10 10))')
+        )
+) AS REL(p1, p2)
+----
+GEOMETRYCOLLECTION (POINT (1 2), POLYGON EMPTY)
+GEOMETRYCOLLECTION (POINT (10 20), POLYGON ((10 10, 30 40, 50 50, 40 30, 10 
10)))
+
+## lines-lines
+query T rowsort
+SELECT
+    ST_COLLECT(p1, p2) AS points
+FROM (
+    VALUES
+        (
+            ST_GeomFromText('LINESTRING(0 0, 30 30, 40 40)'),
+            ST_GeomFromText('LINESTRING(10 20, 30 40, 60 40, 10 20)')
+        ),
+        (
+            ST_GeomFromText('LINESTRING(10 20, 30 40, 60 40, 10 20)'),
+            ST_GeomFromText('LINESTRING(10 10, 50 50)')
+        )
+) AS REL(p1, p2)
+----
+MULTILINESTRING ((0 0, 30 30, 40 40), (10 20, 30 40, 60 40, 10 20))
+MULTILINESTRING ((10 20, 30 40, 60 40, 10 20), (10 10, 50 50))
+
+## lines-polygons
+query T rowsort
+SELECT
+    ST_COLLECT(p1, p2) AS points
+FROM (
+    VALUES
+        (
+            ST_GeomFromText('LINESTRING(0 0, 30 30, 40 40)'),
+            ST_GeomFromText('POLYGON( EMPTY )')
+        ),
+        (
+            ST_GeomFromText('LINESTRING(10 20, 30 40, 60 40, 10 20)'),
+            ST_GeomFromText('POLYGON((10 10, 30 40, 50 50, 40 30, 10 10))')
+        ),
+        (
+            ST_GeomFromText('LINESTRING(0 0, 1 1)'),
+            ST_GeomFromText('POLYGON((10 10, 30 40, 50 50, 40 30, 10 10))')
+        )
+) AS REL(p1, p2)
+----
+GEOMETRYCOLLECTION (LINESTRING (0 0, 1 1), POLYGON ((10 10, 30 40, 50 50, 40 
30, 10 10)))
+GEOMETRYCOLLECTION (LINESTRING (0 0, 30 30, 40 40), POLYGON EMPTY)
+GEOMETRYCOLLECTION (LINESTRING (10 20, 30 40, 60 40, 10 20), POLYGON ((10 10, 
30 40, 50 50, 40 30, 10 10)))
+
+## polygons-polygons
+query T rowsort
+SELECT
+    ST_COLLECT(p1, p2) AS points
+FROM (
+    VALUES
+        (
+            ST_GeomFromText('POLYGON((10 10, 30 40, 50 50, 40 30, 10 10))'),
+            ST_GeomFromText('POLYGON( EMPTY )')
+        ),
+        (
+            ST_GeomFromText('POLYGON((30 30, 30 50, 50 30, 30 30))'),
+            ST_GeomFromText('POLYGON((30 20, 40 50, 50 30, 50 50, 30 20))')
+        )
+) AS REL(p1, p2)
+----
+MULTIPOLYGON (((10 10, 30 40, 50 50, 40 30, 10 10)), EMPTY)
+MULTIPOLYGON (((30 30, 30 50, 50 30, 30 30)), ((30 20, 40 50, 50 30, 50 50, 30 
20)))
+
diff --git a/geom/sql/functions/Tests/ST_Transform-3.12.reqtests 
b/geom/sql/functions/Tests/ST_Transform-3.12.reqtests
new file mode 100644
--- /dev/null
+++ b/geom/sql/functions/Tests/ST_Transform-3.12.reqtests
@@ -0,0 +1,1 @@
+loadTestGeometries
diff --git a/geom/sql/functions/Tests/ST_Transform-3.12.test 
b/geom/sql/functions/Tests/ST_Transform-3.12.test
new file mode 100644
--- /dev/null
+++ b/geom/sql/functions/Tests/ST_Transform-3.12.test
@@ -0,0 +1,48 @@
+# Point from 4326 to 4326
+query T rowsort
+SELECT ST_AsText(ST_Transform(st_setsrid(st_pointfromtext('POINT (-4.4657183 
48.38249)'), 4326), 4326))
+----
+POINT (-4.4657183 48.38249)
+
+# Point from 4326 to 3035
+query T rowsort
+SELECT ST_AsText(ST_Transform(st_setsrid(st_pointfromtext('POINT (-4.4657183 
48.38249)'), 4326), 3035))
+----
+POINT (3256910.236847341 2912495.4152792906)
+
+# MultiPoint from 4326 to 3035
+query T rowsort
+SELECT ST_AsText(ST_Transform(st_setsrid(st_geomfromtext('MULTIPOINT 
(-4.4657183 48.38249, -4.4965715 48.38242, -4.644325 48.092247, -4.4851084 
48.38132, -4.4954414 48.38366, -4.347825 48.117958, -4.7691517 47.987152, 
-4.4719133 48.16634, -4.782632 48.005634, -4.46572 48.382507)'), 4326), 3035))
+----
+MULTIPOINT ((3256910.236847341 2912495.4152792906), (3254672.9232832035 
2912934.464415785), (3237755.624311555 2883346.764096317), (3255480.2556084394 
2912648.0202165362), (3254781.139009903 2913053.7668744745), (3259904.442835956 
2881843.1157471547), (3226399.412122161 2873698.5144423316), 
(3251885.3356214464 2888932.855248591), (3225814.1034443 2875919.873412735), 
(3256910.4738176083 2912497.300134165))
+
+# Linestring from 4326 to 3035
+query T rowsort
+SELECT ST_AsText(ST_Transform(st_setsrid(st_linefromtext('LINESTRING 
(-5.6873484 48.344147, -5.6681333 48.33428, -5.6679835 48.33422, -5.66766 
48.33412)'), 4326), 3035))
+----
+LINESTRING (3167671.8168278513 2926719.292472556, 3168833.765553358 
2925341.3530472373, 3168843.2145084543 2925332.4584952043, 3168864.2978334744 
2925316.4775951537)
+
+# MultiLinestring from 4326 to 3035
+query T rowsort
+SELECT ST_AsText(ST_Transform(st_setsrid(st_geomfromtext('MULTILINESTRING 
((-5.6873484 48.344147, -5.6681333 48.33428), (-5.6681333 48.33428, -5.6679835 
48.33422), (-5.6679835 48.33422, -5.66766 48.33412))'), 4326), 3035))
+----
+MULTILINESTRING ((3167671.8168278513 2926719.292472556, 3168833.765553358 
2925341.3530472373), (3168833.765553358 2925341.3530472373, 3168843.2145084543 
2925332.4584952043), (3168843.2145084543 2925332.4584952043, 3168864.2978334744 
2925316.4775951537))
+
+# Polygon from 4326 to 3035
+query T rowsort
+SELECT ST_AsText(ST_Transform(st_setsrid(st_polygonfromtext('POLYGON ((-70 35, 
-70 39, -65 39, -65 35, -70 35))'), 4326), 3035))
+----
+POLYGON ((-1551336.6886370108 4960140.610519264, -1181855.207118743 
5226023.370006166, -1007637.697308938 4831052.145729965, -1359624.1787992017 
4542397.806396248, -1551336.6886370108 4960140.610519264))
+
+# MultiPolygon from 4326 to 3035
+query T rowsort
+SELECT ST_AsText(ST_Transform(st_setsrid(st_geomfromtext('MULTIPOLYGON (((-20 
-50, -20 -40, 30 -40, 30 -50, -20 -50)), ((30 -50, 30 -45, 40 -45, 40 -50, 30 
-50)))'), 4326), 3035))
+----
+MULTIPOLYGON (((951463.5890125036 -6309234.415106328, 687127.3565636296 
-5482088.556344701, 6760173.911872292 -5732283.7683529835, 6581741.604272356 
-6509599.735591641, 951463.5890125036 -6309234.415106328)), ((6581741.604272356 
-6509599.735591641, 6682271.808015617 -6128844.200428242, 7839821.83702993 
-5902264.746195812, 7690536.410987496 -6309234.415106328, 6581741.604272356 
-6509599.735591641)))
+
+# GeometryCollection from 4326 to 3035
+# TODO: Not yet supported
+#query T rowsort
+#SELECT ST_AsText(ST_Transform(st_setsrid(st_geomfromtext('GEOMETRYCOLLECTION 
(POLYGON ((-20 -50, -20 -40, 30 -40, 30 -50, -20 -50)), POLYGON ((30 -50, 30 
-45, 40 -45, 40 -50, 30 -50)), MULTIPOINT (-4.4657183 48.38249, -4.4965715 
48.38242, -4.644325 48.092247))'), 4326), 3035))
+#----
+#GEOMETRYCOLLECTION (POLYGON ((951463.5890125036 -6309234.415106328, 
687127.3565636296 -5482088.556344701, 6760173.911872292 -5732283.768352984, 
6581741.604272356 -6509599.735591641, 951463.5890125036 -6309234.415106328)), 
POLYGON((6581741.604272356 -6509599.735591641, 6682271.808015617 
-6128844.200428242, 7839821.83702993 -5902264.746195812, 7690536.410987496 
-6309234.415106328, 6581741.604272356 -6509599.735591641)), MULTIPOINT 
(3256910.236847341 2912495.415279291, 3254672.923283204 2912934.464415785, 
3237755.624311555 2883346.764096317))
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to