Changeset: b9744423b10d for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/b9744423b10d Added Files: geom/sql/functions/Tests/ST_IntersectsRTree.reqtest geom/sql/functions/Tests/ST_IntersectsRTree.test geom/sql/functions/Tests/createRTreeIndex.test Modified Files: geom/sql/functions/Tests/All Branch: geo-update Log Message:
Added test to create RTree geometries. Added ST_IntersectsRTree test. diffs (142 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,6 +13,7 @@ HAVE_GEOM?dropTestWKT HAVE_GEOM?ST_MakePoint HAVE_GEOM?ST_Collect HAVE_GEOM?ST_MakeLine +HAVE_GEOM?ST_IntersectsRTree HAVE_GEOM?loadTestGeometries diff --git a/geom/sql/functions/Tests/ST_IntersectsRTree.reqtest b/geom/sql/functions/Tests/ST_IntersectsRTree.reqtest new file mode 100644 --- /dev/null +++ b/geom/sql/functions/Tests/ST_IntersectsRTree.reqtest @@ -0,0 +1,1 @@ +createRTreeIndex diff --git a/geom/sql/functions/Tests/ST_IntersectsRTree.test b/geom/sql/functions/Tests/ST_IntersectsRTree.test new file mode 100644 --- /dev/null +++ b/geom/sql/functions/Tests/ST_IntersectsRTree.test @@ -0,0 +1,91 @@ +# Geometric Intersects with RTree + +## Point - Polygon +query T rowsort +SELECT + geom +FROM geometries_rtree +WHERE + [ST_POINT(10,10)] + ST_INTERSECTS + [geom] +---- +POLYGON ((10 10, 20 10, 20 20, 10 20, 10 10)) +POLYGON ((10 10, 20 10, 10 20, 10 10)) + +query T rowsort +SELECT + geom +FROM geometries_rtree +WHERE + [ST_POINT(15,10)] + ST_INTERSECTS + [geom] +---- +POLYGON ((10 10, 20 10, 20 20, 10 20, 10 10)) +POLYGON ((10 10, 20 10, 10 20, 10 10)) + +query T rowsort +SELECT + geom +FROM geometries_rtree +WHERE + [ST_POINT(15,15)] + ST_INTERSECTS + [geom] +---- +POLYGON ((10 10, 20 10, 20 20, 10 20, 10 10)) +POLYGON ((10 10, 20 10, 10 20, 10 10)) +POLYGON ((10 20, 20 10, 20 20, 10 20)) +POLYGON ((0 20, 10 20, 20 20, 20 10, 0 20)) + +query T rowsort +SELECT + geom +FROM geometries_rtree +WHERE + [ST_POINT(17.5,17.5)] + ST_INTERSECTS + [geom] +---- +POLYGON ((10 10, 20 10, 20 20, 10 20, 10 10)) +POLYGON ((10 20, 20 10, 20 20, 10 20)) +POLYGON ((0 20, 10 20, 20 20, 20 10, 0 20)) + +query T rowsort +SELECT + geom +FROM geometries_rtree +WHERE + [ST_POINT(5,15)] + ST_INTERSECTS + [geom] +---- + + +## Line - Polygon +query T rowsort +SELECT + geom +FROM geometries_rtree +WHERE + [ST_GEOMFROMTEXT('LINESTRING (0 0, 15 15)')] + ST_INTERSECTS + [geom] +---- +POLYGON ((10 10, 20 10, 20 20, 10 20, 10 10)) +POLYGON ((10 10, 20 10, 10 20, 10 10)) + +query T rowsort +SELECT + geom +FROM geometries_rtree +WHERE + [ST_GEOMFROMTEXT('LINESTRING(5 5, 10 15)')] + ST_INTERSECTS + [geom] +---- +POLYGON ((10 10, 20 10, 20 20, 10 20, 10 10)) +POLYGON ((10 10, 20 10, 10 20, 10 10)) +POLYGON ((0 20, 10 20, 20 20, 20 10, 0 20)) + diff --git a/geom/sql/functions/Tests/createRTreeIndex.test b/geom/sql/functions/Tests/createRTreeIndex.test new file mode 100644 --- /dev/null +++ b/geom/sql/functions/Tests/createRTreeIndex.test @@ -0,0 +1,24 @@ +statement ok +CREATE TABLE geometries_rtree (id serial, geom geometry) + +statement ok +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((10 10, 20 10, 20 20, 10 20, 10 10))')) + +statement ok +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((10 10, 20 10, 10 20, 10 10))')) + +statement ok +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((10 20, 20 10, 20 20, 10 20))')) + +statement ok +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((0 20, 10 20, 20 20, 20 10, 0 20))')) + +statement ok +SELECT mbr(geom) FROM geometries_rtree + + +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((10 10, 20 10, 20 20, 10 20, 10 10))')); +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((10 10, 20 10, 10 20, 10 10))')); +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((10 20, 20 10, 20 20, 10 20))')); +INSERT INTO geometries_rtree (geom) VALUES (ST_WKTToSQL('POLYGON((0 20, 10 20, 20 20, 20 10, 0 20))')); +SELECT mbr(geom) FROM geometries_rtree; _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org