| 1 | -- Test 0: |
| 2 | 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; |
| 3 | 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; |
| 4 | 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; |
| 5 | |
| 6 | ---- 0-a: Test NULL Raster. Should be true. |
| 7 | SELECT ST_EuclideanDistance(NULL,NULL,'public','test_source_geometry_0','the_geom',False) IS NULL FROM test_ref_raster_0; |
| 8 | |
| 9 | ---- 0-b: Test Empty Raster. Should be true. |
| 10 | SELECT ST_IsEmpty(ST_EuclideanDistance(0,10,0,0,1,1,0,0,4326,-999,'32BF','public','test_source_geometry_0','the_geom',False)); |
| 11 | |
| 12 | -- Test 1: Small number of sources vs low resolution raster: (Source: 10 points, Raster: 10x10) |
| 13 | ---- 1-a: Source geometry within the extent of the desired raster: |
| 14 | 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; |
| 15 | 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; |
| 16 | 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; |
| 17 | ------ 1-a-i: Generate Euclidean Distance from a one-band reference raster |
| 18 | -------- 1-a-i-1: Snap is True; Max distance NOT specified: |
| 19 | 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); |
| 20 | -- result: |
| 21 | -- [[Image(test_eudist_1_a_i_1 .gif)]] |
| 22 | -------- 1-a-i-2: Snap is False; Max distance NOT specified: |
| 23 | -------- 1-a-i-3: Snap is True; Max distance is specified: |
| 24 | -------- 1-a-i-4: Snap is False; Max distance is specified: |
| 25 | |
| 26 | ------ 1-a-ii: Generate Euclidean Distance from a set of raster specifications: |
| 27 | -------- 1-a-ii-1: Snap is True; Max distance NOT specified: |
| 28 | -------- 1-a-ii-2: Snap is False; Max distance NOT specified: |
| 29 | -------- 1-a-ii-3: Snap is True; Max distance is specified: |
| 30 | -------- 1-a-ii-4: Snap is False; Max distance is specified: |
| 31 | |
| 32 | ---- 1-b: Source geometry completely outside of the extent of the desired raster: |
| 33 | ------ 1-b-i: Generate Euclidean Distance from a one-band reference raster |
| 34 | -------- 1-b-i-1: Snap is True; Max distance NOT specified: |
| 35 | -------- 1-b-i-2: Snap is False; Max distance NOT specified: |
| 36 | -------- 1-b-i-3: Snap is True; Max distance is specified: |
| 37 | -------- 1-b-i-4: Snap is False; Max distance is specified: |
| 38 | |
| 39 | ------ 1-b-ii: Generate Euclidean Distance from a set of raster specifications: |
| 40 | -------- 1-b-ii-1: Snap is True; Max distance NOT specified: |
| 41 | -------- 1-b-ii-2: Snap is False; Max distance NOT specified: |
| 42 | -------- 1-b-ii-3: Snap is True; Max distance is specified: |
| 43 | -------- 1-b-ii-4: Snap is False; Max distance is specified: |
| 44 | |
| 45 | ---- 1-c: Source geometry partially outside of the extent of the desired raster: |
| 46 | ------ 1-c-i: Generate Euclidean Distance from a one-band reference raster |
| 47 | -------- 1-c-i-1: Snap is True; Max distance NOT specified: |
| 48 | -------- 1-c-i-2: Snap is False; Max distance NOT specified: |
| 49 | -------- 1-c-i-3: Snap is True; Max distance is specified: |
| 50 | -------- 1-c-i-4: Snap is False; Max distance is specified: |
| 51 | |
| 52 | ------ 1-c-ii: Generate Euclidean Distance from a set of raster specifications: |
| 53 | -------- 1-c-ii-1: Snap is True; Max distance NOT specified: |
| 54 | -------- 1-c-ii-2: Snap is False; Max distance NOT specified: |
| 55 | -------- 1-c-ii-3: Snap is True; Max distance is specified: |
| 56 | -------- 1-c-ii-4: Snap is False; Max distance is specified: |
| 57 | |
| 58 | -- Test 2: Small number of sources vs high resolution raster:(Source: 10 points, Raster: 300x300) |
| 59 | ---- 2-a: Source geometry within the extent of the desired raster: |
| 60 | ------ 2-a-i: Generate Euclidean Distance from a one-band reference raster |
| 61 | -------- 2-a-i-1: Snap is True; Max distance NOT specified: |
| 62 | -------- 2-a-i-2: Snap is False; Max distance NOT specified: |
| 63 | -------- 2-a-i-3: Snap is True; Max distance is specified: |
| 64 | -------- 2-a-i-4: Snap is False; Max distance is specified: |
| 65 | |
| 66 | ------ 2-a-ii: Generate Euclidean Distance from a set of raster specifications: |
| 67 | -------- 2-a-ii-1: Snap is True; Max distance NOT specified: |
| 68 | -------- 2-a-ii-2: Snap is False; Max distance NOT specified: |
| 69 | -------- 2-a-ii-3: Snap is True; Max distance is specified: |
| 70 | -------- 2-a-ii-4: Snap is False; Max distance is specified: |
| 71 | |
| 72 | ---- 2-b: Source geometry completely outside of the extent of the desired raster: |
| 73 | ------ 2-b-i: Generate Euclidean Distance from a one-band reference raster |
| 74 | -------- 2-b-i-1: Snap is True; Max distance NOT specified: |
| 75 | -------- 2-b-i-2: Snap is False; Max distance NOT specified: |
| 76 | -------- 2-b-i-3: Snap is True; Max distance is specified: |
| 77 | -------- 2-b-i-4: Snap is False; Max distance is specified: |
| 78 | |
| 79 | ------ 2-b-ii: Generate Euclidean Distance from a set of raster specifications: |
| 80 | -------- 2-b-ii-1: Snap is True; Max distance NOT specified: |
| 81 | -------- 2-b-ii-2: Snap is False; Max distance NOT specified: |
| 82 | -------- 2-b-ii-3: Snap is True; Max distance is specified: |
| 83 | -------- 2-b-ii-4: Snap is False; Max distance is specified: |
| 84 | |
| 85 | ---- 2-c: Source geometry partially outside of the extent of the desired raster: |
| 86 | ------ 2-c-i: Generate Euclidean Distance from a one-band reference raster |
| 87 | -------- 2-c-i-1: Snap is True; Max distance NOT specified: |
| 88 | -------- 2-c-i-2: Snap is False; Max distance NOT specified: |
| 89 | -------- 2-c-i-3: Snap is True; Max distance is specified: |
| 90 | -------- 2-c-i-4: Snap is False; Max distance is specified: |
| 91 | |
| 92 | ------ 2-c-ii: Generate Euclidean Distance from a set of raster specifications: |
| 93 | -------- 2-c-ii-1: Snap is True; Max distance NOT specified: |
| 94 | -------- 2-c-ii-2: Snap is False; Max distance NOT specified: |
| 95 | -------- 2-c-ii-3: Snap is True; Max distance is specified: |
| 96 | -------- 2-c-ii-4: Snap is False; Max distance is specified: |
| 97 | |
| 98 | -- Test 3: Large number of sources vs low resolution raster:(Source: 1000 points, Raster: 300x300) |
| 99 | ---- 3-a: Source geometry within the extent of the desired raster: |
| 100 | ------ 3-a-i: Generate Euclidean Distance from a one-band reference raster |
| 101 | -------- 3-a-i-1: Snap is True; Max distance NOT specified: |
| 102 | -------- 3-a-i-2: Snap is False; Max distance NOT specified: |
| 103 | -------- 3-a-i-3: Snap is True; Max distance is specified: |
| 104 | -------- 3-a-i-4: Snap is False; Max distance is specified: |
| 105 | |
| 106 | ------ 3-a-ii: Generate Euclidean Distance from a set of raster specifications: |
| 107 | -------- 3-a-ii-1: Snap is True; Max distance NOT specified: |
| 108 | -------- 3-a-ii-2: Snap is False; Max distance NOT specified: |
| 109 | -------- 3-a-ii-3: Snap is True; Max distance is specified: |
| 110 | -------- 3-a-ii-4: Snap is False; Max distance is specified: |
| 111 | |
| 112 | ---- 3-b: Source geometry completely outside of the extent of the desired raster: |
| 113 | ------ 3-b-i: Generate Euclidean Distance from a one-band reference raster |
| 114 | -------- 3-b-i-1: Snap is True; Max distance NOT specified: |
| 115 | -------- 3-b-i-2: Snap is False; Max distance NOT specified: |
| 116 | -------- 3-b-i-3: Snap is True; Max distance is specified: |
| 117 | -------- 3-b-i-4: Snap is False; Max distance is specified: |
| 118 | |
| 119 | ------ 3-b-ii: Generate Euclidean Distance from a set of raster specifications: |
| 120 | -------- 3-b-ii-1: Snap is True; Max distance NOT specified: |
| 121 | -------- 3-b-ii-2: Snap is False; Max distance NOT specified: |
| 122 | -------- 3-b-ii-3: Snap is True; Max distance is specified: |
| 123 | -------- 3-b-ii-4: Snap is False; Max distance is specified: |
| 124 | |
| 125 | ---- 3-c: Source geometry partially outside of the extent of the desired raster: |
| 126 | ------ 3-c-i: Generate Euclidean Distance from a one-band reference raster |
| 127 | -------- 3-c-i-1: Snap is True; Max distance NOT specified: |
| 128 | -------- 3-c-i-2: Snap is False; Max distance NOT specified: |
| 129 | -------- 3-c-i-3: Snap is True; Max distance is specified: |
| 130 | -------- 3-c-i-4: Snap is False; Max distance is specified: |
| 131 | |
| 132 | ------ 3-c-ii: Generate Euclidean Distance from a set of raster specifications: |
| 133 | -------- 3-c-ii-1: Snap is True; Max distance NOT specified: |
| 134 | -------- 3-c-ii-2: Snap is False; Max distance NOT specified: |
| 135 | -------- 3-c-ii-3: Snap is True; Max distance is specified: |
| 136 | -------- 3-c-ii-4: Snap is False; Max distance is specified: |
| 137 | |
| 138 | -- Test 4: Large number of sources vs high resolution raster:(Source: 1000 points, Raster: 1000x1000) |
| 139 | ---- 4-a: Source geometry within the extent of the desired raster: |
| 140 | ------ 4-a-i: Generate Euclidean Distance from a one-band reference raster |
| 141 | -------- 4-a-i-1: Snap is True; Max distance NOT specified: |
| 142 | -------- 4-a-i-2: Snap is False; Max distance NOT specified: |
| 143 | -------- 4-a-i-3: Snap is True; Max distance is specified: |
| 144 | -------- 4-a-i-4: Snap is False; Max distance is specified: |
| 145 | |
| 146 | ------ 4-a-ii: Generate Euclidean Distance from a set of raster specifications: |
| 147 | -------- 4-a-ii-1: Snap is True; Max distance NOT specified: |
| 148 | -------- 4-a-ii-2: Snap is False; Max distance NOT specified: |
| 149 | -------- 4-a-ii-3: Snap is True; Max distance is specified: |
| 150 | -------- 4-a-ii-4: Snap is False; Max distance is specified: |
| 151 | |
| 152 | ---- 4-b: Source geometry completely outside of the extent of the desired raster: |
| 153 | ------ 4-b-i: Generate Euclidean Distance from a one-band reference raster |
| 154 | -------- 4-b-i-1: Snap is True; Max distance NOT specified: |
| 155 | -------- 4-b-i-2: Snap is False; Max distance NOT specified: |
| 156 | -------- 4-b-i-3: Snap is True; Max distance is specified: |
| 157 | -------- 4-b-i-4: Snap is False; Max distance is specified: |
| 158 | |
| 159 | ------ 4-b-ii: Generate Euclidean Distance from a set of raster specifications: |
| 160 | -------- 4-b-ii-1: Snap is True; Max distance NOT specified: |
| 161 | -------- 4-b-ii-2: Snap is False; Max distance NOT specified: |
| 162 | -------- 4-b-ii-3: Snap is True; Max distance is specified: |
| 163 | -------- 4-b-ii-4: Snap is False; Max distance is specified: |
| 164 | |
| 165 | ---- 4-c: Source geometry partially outside of the extent of the desired raster: |
| 166 | ------ 4-c-i: Generate Euclidean Distance from a one-band reference raster |
| 167 | -------- 4-c-i-1: Snap is True; Max distance NOT specified: |
| 168 | -------- 4-c-i-2: Snap is False; Max distance NOT specified: |
| 169 | -------- 4-c-i-3: Snap is True; Max distance is specified: |
| 170 | -------- 4-c-i-4: Snap is False; Max distance is specified: |
| 171 | |
| 172 | ------ 4-c-ii: Generate Euclidean Distance from a set of raster specifications: |
| 173 | -------- 4-c-ii-1: Snap is True; Max distance NOT specified: |
| 174 | -------- 4-c-ii-2: Snap is False; Max distance NOT specified: |
| 175 | -------- 4-c-ii-3: Snap is True; Max distance is specified: |
| 176 | -------- 4-c-ii-4: Snap is False; Max distance is specified: |
| 177 | |
| 178 | -- Test 5: Scalability test: |
| 179 | ---- 5-a: Source: 10,000 points; Raster: 1000x1000 |
| 180 | ---- 5-b: Source: 1,000,000 points; Raster: 10,000x10,000 |
| 181 | ---- 5-c: Source: 1,000,000,000 points; Raster: 100,000x100,000 |
| 182 | ---- 5-d: Source: 10,000 points; Raster: 1000x10,000 |
| 183 | ---- 5-e: Source: 1,000,000 points; Raster: 10,000x10,000 |
| 184 | |
| 185 | -- Test 6: Performance test: |
| 186 | ---- 6-a: Source: 100 points; Raster: 1000x1000 |
| 187 | ---- 6-b: Source: 1,000 points; Raster: 1000x1000 |
| 188 | ---- 6-c: Source: 5,000 points; Raster: 1000x1000 |
| 189 | ---- 6-d: Source: 10,000 points; Raster: 1000x1000 |
| 190 | ---- 6-e: Source: 20,000 points; Raster: 1000x1000 |
| 191 | ---- 6-f: Source: 40,000 points; Raster: 1000x1000 |
| 192 | ---- 6-g: Source: 80,000 points; Raster: 1000x1000 |
| 193 | ---- 6-h: Source: 160,000 points; Raster: 1000x1000 |
| 194 | ---- 6-i: Source: 320,000 points; Raster: 1000x1000 |
| 195 | ---- 6-j: Source: 640,000 points; Raster: 1000x1000 |
| 196 | ---- 6-k: Source: 1,280,000 points; Raster: 1000x1000 |
| 197 | ---- 6-l: Source: 2,560,000 points; Raster: 1000x1000 |
| 198 | ---- 6-m: Source: 5,120,000 points; Raster: 1000x1000 |
| 199 | ---- 6-n: Source: 10,240,000 points; Raster: 1000x1000 |
| 200 | ---- 6-o: Source: 20,480,000 points; Raster: 1000x1000 |
| 201 | ---- 6-p: Source: 40,960,000 points; Raster: 1000x1000 |
| 202 | ---- 6-q: Source: 81,920,000 points; Raster: 1000x1000 |
| 203 | ---- 6-r: Source: 100,000,000 points; Raster: 1000x1000 |
| 204 | ---- 6-s: Source: 1,000,000,000 points; Raster: 1000x1000 |