]> granicus.if.org Git - postgis/commitdiff
Added regression tests for ST_IsCoverageTile().
authorBborie Park <bkpark at ucdavis.edu>
Fri, 14 Dec 2012 20:27:38 +0000 (20:27 +0000)
committerBborie Park <bkpark at ucdavis.edu>
Fri, 14 Dec 2012 20:27:38 +0000 (20:27 +0000)
git-svn-id: http://svn.osgeo.org/postgis/trunk@10840 b70326c6-7e19-0410-871a-916f4a2858ee

raster/test/regress/Makefile.in
raster/test/regress/rt_iscoveragetile.sql [new file with mode: 0644]
raster/test/regress/rt_iscoveragetile_expected [new file with mode: 0644]

index 16e9470d964b28073f1720c3b6fa96fefe6d1514..d64d9c600e34ecfa8b5629001daa73be41e1fec9 100644 (file)
@@ -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 (file)
index 0000000..8e0f80e
--- /dev/null
@@ -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 (file)
index 0000000..53c7bc5
--- /dev/null
@@ -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