From 29c95b58be4c53e64a9af536cbb2647e95e829b5 Mon Sep 17 00:00:00 2001 From: Bborie Park Date: Fri, 14 Dec 2012 20:27:38 +0000 Subject: [PATCH] Added regression tests for ST_IsCoverageTile(). git-svn-id: http://svn.osgeo.org/postgis/trunk@10840 b70326c6-7e19-0410-871a-916f4a2858ee --- raster/test/regress/Makefile.in | 3 +- raster/test/regress/rt_iscoveragetile.sql | 200 ++++++++ .../test/regress/rt_iscoveragetile_expected | 429 ++++++++++++++++++ 3 files changed, 631 insertions(+), 1 deletion(-) create mode 100644 raster/test/regress/rt_iscoveragetile.sql create mode 100644 raster/test/regress/rt_iscoveragetile_expected diff --git a/raster/test/regress/Makefile.in b/raster/test/regress/Makefile.in index 16e9470d9..d64d9c600 100644 --- a/raster/test/regress/Makefile.in +++ b/raster/test/regress/Makefile.in @@ -112,7 +112,8 @@ TEST_SREL = \ rt_gist_relationships \ rt_intersects \ rt_samealignment \ - rt_geos_relationships + rt_geos_relationships \ + rt_iscoveragetile TEST_BUGS = \ bug_test_car5 \ diff --git a/raster/test/regress/rt_iscoveragetile.sql b/raster/test/regress/rt_iscoveragetile.sql new file mode 100644 index 000000000..8e0f80eaa --- /dev/null +++ b/raster/test/regress/rt_iscoveragetile.sql @@ -0,0 +1,200 @@ +DROP TABLE IF EXISTS raster_iscoveragetile; +CREATE TABLE raster_iscoveragetile AS + WITH foo AS ( + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, 0, 1, -1, 0, 0, 0), 1, '8BUI', 1, 0), 2, '8BUI', 10, 0) AS rast UNION ALL + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, 0, 1, -1, 0, 0, 0), 1, '8BUI', 2, 0), 2, '8BUI', 20, 0) AS rast UNION ALL + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, 0, 1, -1, 0, 0, 0), 1, '8BUI', 3, 0), 2, '8BUI', 30, 0) AS rast UNION ALL + + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, -3, 1, -1, 0, 0, 0), 1, '8BUI', 4, 0), 2, '8BUI', 40, 0) AS rast UNION ALL + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, -3, 1, -1, 0, 0, 0), 1, '8BUI', 5, 0), 2, '8BUI', 50, 0) AS rast UNION ALL + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, -3, 1, -1, 0, 0, 0), 1, '8BUI', 6, 0), 2, '8BUI', 60, 0) AS rast UNION ALL + + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 0, -6, 1, -1, 0, 0, 0), 1, '8BUI', 7, 0), 2, '8BUI', 70, 0) AS rast UNION ALL + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 3, -6, 1, -1, 0, 0, 0), 1, '8BUI', 8, 0), 2, '8BUI', 80, 0) AS rast UNION ALL + SELECT ST_AddBand(ST_AddBand(ST_MakeEmptyRaster(3, 3, 6, -6, 1, -1, 0, 0, 0), 1, '8BUI', 9, 0), 2, '8BUI', 90, 0) AS rast + ) + SELECT ST_Union(rast) AS rast FROM foo; + +WITH foo AS ( + SELECT ST_Tile(rast, 3, 3, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 1, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, ARRAY[1], 3, 3, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 2, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, ARRAY[2, 1], 3, 3, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 3, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 3, 3, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 4, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 2, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 5, ST_IsCoverageTile(foo.rast, ict.rast, 2, 2) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 1, 1, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 6, ST_IsCoverageTile(foo.rast, ict.rast, 1, 1) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 5, 5, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 7, ST_IsCoverageTile(foo.rast, ict.rast, 5, 5) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 3, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 8, ST_IsCoverageTile(foo.rast, ict.rast, 2, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 3, 2, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 9, ST_IsCoverageTile(foo.rast, ict.rast, 3, 2) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 3, 3) AS rast FROM raster_iscoveragetile +) +SELECT + 11, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, ARRAY[1], 3, 3) AS rast FROM raster_iscoveragetile +) +SELECT + 12, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, ARRAY[2, 1], 3, 3) AS rast FROM raster_iscoveragetile +) +SELECT + 13, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 3, 3) AS rast FROM raster_iscoveragetile +) +SELECT + 14, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 2) AS rast FROM raster_iscoveragetile +) +SELECT + 15, ST_IsCoverageTile(foo.rast, ict.rast, 2, 2) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 1, 1) AS rast FROM raster_iscoveragetile +) +SELECT + 16, ST_IsCoverageTile(foo.rast, ict.rast, 1, 1) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 5, 5) AS rast FROM raster_iscoveragetile +) +SELECT + 17, ST_IsCoverageTile(foo.rast, ict.rast, 5, 5) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 3) AS rast FROM raster_iscoveragetile +) +SELECT + 18, ST_IsCoverageTile(foo.rast, ict.rast, 2, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 3, 2) AS rast FROM raster_iscoveragetile +) +SELECT + 19, ST_IsCoverageTile(foo.rast, ict.rast, 3, 2) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 4, 4) AS rast FROM raster_iscoveragetile +) +SELECT + 20, ST_IsCoverageTile(foo.rast, ict.rast, 2, 2) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +-- try a skewed coverage +DELETE FROM raster_iscoveragetile; + +INSERT INTO raster_iscoveragetile + SELECT ST_MakeEmptyRaster(9, 9, 0, 0, 1, -1, -0.1, -0.1, 0); + +WITH foo AS ( + SELECT ST_Tile(rast, 3, 3) AS rast FROM raster_iscoveragetile +) +SELECT + 51, ST_IsCoverageTile(foo.rast, ict.rast, 3, 3) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 2, TRUE) AS rast FROM raster_iscoveragetile +) +SELECT + 52, ST_IsCoverageTile(foo.rast, ict.rast, 2, 2) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +WITH foo AS ( + SELECT ST_Tile(rast, 2, 2) AS rast FROM raster_iscoveragetile +) +SELECT + 53, ST_IsCoverageTile(foo.rast, ict.rast, 2, 2) +FROM foo +CROSS JOIN raster_iscoveragetile ict; + +DROP TABLE IF EXISTS raster_iscoveragetile; diff --git a/raster/test/regress/rt_iscoveragetile_expected b/raster/test/regress/rt_iscoveragetile_expected new file mode 100644 index 000000000..53c7bc5c9 --- /dev/null +++ b/raster/test/regress/rt_iscoveragetile_expected @@ -0,0 +1,429 @@ +NOTICE: table "raster_iscoveragetile" does not exist, skipping +1|t +1|t +1|t +1|t +1|t +1|t +1|t +1|t +1|t +2|t +2|t +2|t +2|t +2|t +2|t +2|t +2|t +2|t +3|t +3|t +3|t +3|t +3|t +3|t +3|t +3|t +3|t +4|t +4|t +4|t +4|t +4|t +4|t +4|t +4|t +4|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +5|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +6|t +7|t +7|t +7|t +7|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +8|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +9|t +11|t +11|t +11|t +11|t +11|t +11|t +11|t +11|t +11|t +12|t +12|t +12|t +12|t +12|t +12|t +12|t +12|t +12|t +13|t +13|t +13|t +13|t +13|t +13|t +13|t +13|t +13|t +14|t +14|t +14|t +14|t +14|t +14|t +14|t +14|t +14|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +15|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +16|t +17|t +17|t +17|t +17|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +18|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +19|t +NOTICE: Raster width/height is invalid for interior tile of coverage +NOTICE: Raster width/height is invalid for interior tile of coverage +NOTICE: Raster width/height is invalid for right-most tile of coverage +NOTICE: Raster width/height is invalid for interior tile of coverage +NOTICE: Raster width/height is invalid for interior tile of coverage +NOTICE: Raster width/height is invalid for right-most tile of coverage +NOTICE: Raster width/height is invalid for bottom-most tile of coverage +NOTICE: Raster width/height is invalid for bottom-most tile of coverage +20|f +20|f +20|f +20|f +20|f +20|f +20|f +20|f +20|t +51|t +51|t +51|t +51|t +51|t +51|t +51|t +51|t +51|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +52|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t +53|t -- 2.50.1