== Test 0: == {{{ #!sql CREATE TABLE test_source_raster_0 AS SELECT 1 AS rid,rast FROM (SELECT ST_MakeEmptyRaster(10,10,0,0,1,1,0,0,4326) AS rast)foo; CREATE TABLE test_source_geometry_0 AS SELECT generate_series(1,10) AS id,ST_RandomPoints(the_geom,10) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_source_raster_0)foo; CREATE TABLE test_ref_raster_0 AS SELECT 1 AS rid,rast FROM (SELECT ST_MakeEmptyRaster(10,10,0,0,1,1,0,0,4326) AS rast)foo; }}} 0-a: Test NULL Raster. Should be true. {{{ #!sql SELECT ST_EuclideanDistance(NULL,NULL,'public','test_source_geometry_0','the_geom',False) IS NULL FROM test_ref_raster_0; }}} 0-b: Test Empty Raster. Should be true. {{{ #!sql SELECT ST_IsEmpty(ST_EuclideanDistance(0,10,0,0,1,1,0,0,4326,-999,'32BF','public','test_source_geometry_0','the_geom',False)); }}} == Test 1: Small number of sources vs low resolution raster: (Source: 10 points, Raster: 10x10) == 1-a: Source geometry within the extent of the desired raster:[[BR]] {{{ #!sql CREATE TABLE test_source_raster_1 AS SELECT 1 AS rid,rast FROM (SELECT ST_MakeEmptyRaster(10,10,0,0,1,1,0,0,4326) AS rast)foo; CREATE TABLE test_source_geometry_1 AS SELECT generate_series(1,10) AS id,ST_RandomPoints(the_geom,10) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_source_raster_1)foo; CREATE TABLE test_ref_raster_1 AS SELECT 1 AS rid,rast FROM (SELECT ST_MakeEmptyRaster(10,10,0,0,1,1,0,0,4326) AS rast)foo; }}} 1-a-i: Generate Euclidean Distance from a one-band reference raster 1-a-i-1: Snap is True; Max distance NOT specified: {{{ #!sql CREATE TABLE test_eudist_1_a_i_1 AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_1','the_geom',True) AS rast FROM test_ref_raster_1); }}} result:[[BR]] [[Image(test_eudist_1_a_i_1.gif)]][[BR]] -------- 1-a-i-2: Snap is False; Max distance NOT specified: -------- 1-a-i-3: Snap is True; Max distance is specified: -------- 1-a-i-4: Snap is False; Max distance is specified: ------ 1-a-ii: Generate Euclidean Distance from a set of raster specifications: -------- 1-a-ii-1: Snap is True; Max distance NOT specified: -------- 1-a-ii-2: Snap is False; Max distance NOT specified: -------- 1-a-ii-3: Snap is True; Max distance is specified: -------- 1-a-ii-4: Snap is False; Max distance is specified: ---- 1-b: Source geometry completely outside of the extent of the desired raster: ------ 1-b-i: Generate Euclidean Distance from a one-band reference raster -------- 1-b-i-1: Snap is True; Max distance NOT specified: -------- 1-b-i-2: Snap is False; Max distance NOT specified: -------- 1-b-i-3: Snap is True; Max distance is specified: -------- 1-b-i-4: Snap is False; Max distance is specified: ------ 1-b-ii: Generate Euclidean Distance from a set of raster specifications: -------- 1-b-ii-1: Snap is True; Max distance NOT specified: -------- 1-b-ii-2: Snap is False; Max distance NOT specified: -------- 1-b-ii-3: Snap is True; Max distance is specified: -------- 1-b-ii-4: Snap is False; Max distance is specified: ---- 1-c: Source geometry partially outside of the extent of the desired raster: ------ 1-c-i: Generate Euclidean Distance from a one-band reference raster -------- 1-c-i-1: Snap is True; Max distance NOT specified: -------- 1-c-i-2: Snap is False; Max distance NOT specified: -------- 1-c-i-3: Snap is True; Max distance is specified: -------- 1-c-i-4: Snap is False; Max distance is specified: ------ 1-c-ii: Generate Euclidean Distance from a set of raster specifications: -------- 1-c-ii-1: Snap is True; Max distance NOT specified: -------- 1-c-ii-2: Snap is False; Max distance NOT specified: -------- 1-c-ii-3: Snap is True; Max distance is specified: -------- 1-c-ii-4: Snap is False; Max distance is specified: -- Test 2: Small number of sources vs high resolution raster:(Source: 10 points, Raster: 300x300) ---- 2-a: Source geometry within the extent of the desired raster: ------ 2-a-i: Generate Euclidean Distance from a one-band reference raster -------- 2-a-i-1: Snap is True; Max distance NOT specified: -------- 2-a-i-2: Snap is False; Max distance NOT specified: -------- 2-a-i-3: Snap is True; Max distance is specified: -------- 2-a-i-4: Snap is False; Max distance is specified: ------ 2-a-ii: Generate Euclidean Distance from a set of raster specifications: -------- 2-a-ii-1: Snap is True; Max distance NOT specified: -------- 2-a-ii-2: Snap is False; Max distance NOT specified: -------- 2-a-ii-3: Snap is True; Max distance is specified: -------- 2-a-ii-4: Snap is False; Max distance is specified: ---- 2-b: Source geometry completely outside of the extent of the desired raster: ------ 2-b-i: Generate Euclidean Distance from a one-band reference raster -------- 2-b-i-1: Snap is True; Max distance NOT specified: -------- 2-b-i-2: Snap is False; Max distance NOT specified: -------- 2-b-i-3: Snap is True; Max distance is specified: -------- 2-b-i-4: Snap is False; Max distance is specified: ------ 2-b-ii: Generate Euclidean Distance from a set of raster specifications: -------- 2-b-ii-1: Snap is True; Max distance NOT specified: -------- 2-b-ii-2: Snap is False; Max distance NOT specified: -------- 2-b-ii-3: Snap is True; Max distance is specified: -------- 2-b-ii-4: Snap is False; Max distance is specified: ---- 2-c: Source geometry partially outside of the extent of the desired raster: ------ 2-c-i: Generate Euclidean Distance from a one-band reference raster -------- 2-c-i-1: Snap is True; Max distance NOT specified: -------- 2-c-i-2: Snap is False; Max distance NOT specified: -------- 2-c-i-3: Snap is True; Max distance is specified: -------- 2-c-i-4: Snap is False; Max distance is specified: ------ 2-c-ii: Generate Euclidean Distance from a set of raster specifications: -------- 2-c-ii-1: Snap is True; Max distance NOT specified: -------- 2-c-ii-2: Snap is False; Max distance NOT specified: -------- 2-c-ii-3: Snap is True; Max distance is specified: -------- 2-c-ii-4: Snap is False; Max distance is specified: -- Test 3: Large number of sources vs low resolution raster:(Source: 1000 points, Raster: 300x300) ---- 3-a: Source geometry within the extent of the desired raster: ------ 3-a-i: Generate Euclidean Distance from a one-band reference raster -------- 3-a-i-1: Snap is True; Max distance NOT specified: -------- 3-a-i-2: Snap is False; Max distance NOT specified: -------- 3-a-i-3: Snap is True; Max distance is specified: -------- 3-a-i-4: Snap is False; Max distance is specified: ------ 3-a-ii: Generate Euclidean Distance from a set of raster specifications: -------- 3-a-ii-1: Snap is True; Max distance NOT specified: -------- 3-a-ii-2: Snap is False; Max distance NOT specified: -------- 3-a-ii-3: Snap is True; Max distance is specified: -------- 3-a-ii-4: Snap is False; Max distance is specified: ---- 3-b: Source geometry completely outside of the extent of the desired raster: ------ 3-b-i: Generate Euclidean Distance from a one-band reference raster -------- 3-b-i-1: Snap is True; Max distance NOT specified: -------- 3-b-i-2: Snap is False; Max distance NOT specified: -------- 3-b-i-3: Snap is True; Max distance is specified: -------- 3-b-i-4: Snap is False; Max distance is specified: ------ 3-b-ii: Generate Euclidean Distance from a set of raster specifications: -------- 3-b-ii-1: Snap is True; Max distance NOT specified: -------- 3-b-ii-2: Snap is False; Max distance NOT specified: -------- 3-b-ii-3: Snap is True; Max distance is specified: -------- 3-b-ii-4: Snap is False; Max distance is specified: ---- 3-c: Source geometry partially outside of the extent of the desired raster: ------ 3-c-i: Generate Euclidean Distance from a one-band reference raster -------- 3-c-i-1: Snap is True; Max distance NOT specified: -------- 3-c-i-2: Snap is False; Max distance NOT specified: -------- 3-c-i-3: Snap is True; Max distance is specified: -------- 3-c-i-4: Snap is False; Max distance is specified: ------ 3-c-ii: Generate Euclidean Distance from a set of raster specifications: -------- 3-c-ii-1: Snap is True; Max distance NOT specified: -------- 3-c-ii-2: Snap is False; Max distance NOT specified: -------- 3-c-ii-3: Snap is True; Max distance is specified: -------- 3-c-ii-4: Snap is False; Max distance is specified: -- Test 4: Large number of sources vs high resolution raster:(Source: 1000 points, Raster: 1000x1000) ---- 4-a: Source geometry within the extent of the desired raster: ------ 4-a-i: Generate Euclidean Distance from a one-band reference raster -------- 4-a-i-1: Snap is True; Max distance NOT specified: -------- 4-a-i-2: Snap is False; Max distance NOT specified: -------- 4-a-i-3: Snap is True; Max distance is specified: -------- 4-a-i-4: Snap is False; Max distance is specified: ------ 4-a-ii: Generate Euclidean Distance from a set of raster specifications: -------- 4-a-ii-1: Snap is True; Max distance NOT specified: -------- 4-a-ii-2: Snap is False; Max distance NOT specified: -------- 4-a-ii-3: Snap is True; Max distance is specified: -------- 4-a-ii-4: Snap is False; Max distance is specified: ---- 4-b: Source geometry completely outside of the extent of the desired raster: ------ 4-b-i: Generate Euclidean Distance from a one-band reference raster -------- 4-b-i-1: Snap is True; Max distance NOT specified: -------- 4-b-i-2: Snap is False; Max distance NOT specified: -------- 4-b-i-3: Snap is True; Max distance is specified: -------- 4-b-i-4: Snap is False; Max distance is specified: ------ 4-b-ii: Generate Euclidean Distance from a set of raster specifications: -------- 4-b-ii-1: Snap is True; Max distance NOT specified: -------- 4-b-ii-2: Snap is False; Max distance NOT specified: -------- 4-b-ii-3: Snap is True; Max distance is specified: -------- 4-b-ii-4: Snap is False; Max distance is specified: ---- 4-c: Source geometry partially outside of the extent of the desired raster: ------ 4-c-i: Generate Euclidean Distance from a one-band reference raster -------- 4-c-i-1: Snap is True; Max distance NOT specified: -------- 4-c-i-2: Snap is False; Max distance NOT specified: -------- 4-c-i-3: Snap is True; Max distance is specified: -------- 4-c-i-4: Snap is False; Max distance is specified: ------ 4-c-ii: Generate Euclidean Distance from a set of raster specifications: -------- 4-c-ii-1: Snap is True; Max distance NOT specified: -------- 4-c-ii-2: Snap is False; Max distance NOT specified: -------- 4-c-ii-3: Snap is True; Max distance is specified: -------- 4-c-ii-4: Snap is False; Max distance is specified: -- Test 5: Scalability test: ---- 5-a: Source: 10,000 points; Raster: 1000x1000 ---- 5-b: Source: 1,000,000 points; Raster: 10,000x10,000 ---- 5-c: Source: 1,000,000,000 points; Raster: 100,000x100,000 ---- 5-d: Source: 10,000 points; Raster: 1000x10,000 ---- 5-e: Source: 1,000,000 points; Raster: 10,000x10,000 -- Test 6: Performance test: ---- 6-a: Source: 100 points; Raster: 1000x1000 ---- 6-b: Source: 1,000 points; Raster: 1000x1000 ---- 6-c: Source: 5,000 points; Raster: 1000x1000 ---- 6-d: Source: 10,000 points; Raster: 1000x1000 ---- 6-e: Source: 20,000 points; Raster: 1000x1000 ---- 6-f: Source: 40,000 points; Raster: 1000x1000 ---- 6-g: Source: 80,000 points; Raster: 1000x1000 ---- 6-h: Source: 160,000 points; Raster: 1000x1000 ---- 6-i: Source: 320,000 points; Raster: 1000x1000 ---- 6-j: Source: 640,000 points; Raster: 1000x1000 ---- 6-k: Source: 1,280,000 points; Raster: 1000x1000 ---- 6-l: Source: 2,560,000 points; Raster: 1000x1000 ---- 6-m: Source: 5,120,000 points; Raster: 1000x1000 ---- 6-n: Source: 10,240,000 points; Raster: 1000x1000 ---- 6-o: Source: 20,480,000 points; Raster: 1000x1000 ---- 6-p: Source: 40,960,000 points; Raster: 1000x1000 ---- 6-q: Source: 81,920,000 points; Raster: 1000x1000 ---- 6-r: Source: 100,000,000 points; Raster: 1000x1000 ---- 6-s: Source: 1,000,000,000 points; Raster: 1000x1000