290 | | ------ 3-a-2: Snap is True; Max distance is specified: |
291 | | --CREATE TABLE test_eudist_3_a_2 AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_3','the_geom',True,12) AS rast FROM test_ref_raster_3); |
292 | | ---135707 ms execution time. |
293 | | ------ 3-a-3: Snap is False; Max distance NOT specified: |
294 | | --CREATE TABLE test_eudist_3_a_3 AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_3','the_geom',False) AS rast FROM test_ref_raster_3); |
295 | | ---86246 ms execution time. |
296 | | ------ 3-a-4: Snap is False; Max distance is specified: |
297 | | --CREATE TABLE test_eudist_3_a_4 AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_3','the_geom',False,12) AS rast FROM test_ref_raster_3); |
298 | | ---85263 ms execution time. |
299 | | |
300 | | ---- 3-b: Generate Euclidean Distance from a set of raster specifications: |
301 | | ------ 3-b-1: Snap is True; Max distance NOT specified: |
302 | | --CREATE TABLE test_eudist_3_b_1 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',True) AS rast FROM test_ref_raster_3); |
303 | | ---128044 ms execution time. |
304 | | ------ 3-b-2: Snap is True; Max distance is specified: |
305 | | --CREATE TABLE test_eudist_3_b_2 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',True,12) AS rast FROM test_ref_raster_3); |
306 | | ---138114 ms execution time. |
307 | | ------ 3-b-3: Snap is False; Max distance NOT specified: |
308 | | --CREATE TABLE test_eudist_3_b_3 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',False) AS rast FROM test_ref_raster_3); |
309 | | ---76005 ms execution time. |
310 | | ------ 3-b-4: Snap is False; Max distance is specified: |
311 | | --CREATE TABLE test_eudist_3_b_4 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',False,12) AS rast FROM test_ref_raster_3); |
312 | | ---88137 ms execution time. |
| 290 | 3-a-2: Snap is True; Max distance is specified: |
| 291 | {{{ |
| 292 | #!sql |
| 293 | CREATE TABLE test_eudist_3_a_2 AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_3','the_geom',True,12) AS rast FROM test_ref_raster_3); |
| 294 | }}} |
| 295 | 3-a-3: Snap is False; Max distance NOT specified: |
| 296 | {{{ |
| 297 | #!sql |
| 298 | CREATE TABLE test_eudist_3_a_3 AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_3','the_geom',False) AS rast FROM test_ref_raster_3); |
| 299 | }}} |
| 300 | result:[[BR]][[BR]] |
| 301 | [[Image(test_eudist_3_a_3.gif)]][[BR]][[BR]] |
| 302 | result zoom in:[[BR]][[BR]] |
| 303 | [[Image(test_eudist_3_a_3_zoomin.gif)]][[BR]] |
| 304 | 3-a-4: Snap is False; Max distance is specified: |
| 305 | {{{ |
| 306 | #!sql |
| 307 | CREATE TABLE test_eudist_3_a_4 AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_3','the_geom',False,12) AS rast FROM test_ref_raster_3); |
| 308 | }}} |
| 309 | 3-b: Generate Euclidean Distance from a set of raster specifications: |
| 310 | 3-b-1: Snap is True; Max distance NOT specified: |
| 311 | {{{ |
| 312 | #!sql |
| 313 | CREATE TABLE test_eudist_3_b_1 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',True) AS rast FROM test_ref_raster_3); |
| 314 | }}} |
| 315 | 3-b-2: Snap is True; Max distance is specified: |
| 316 | {{{ |
| 317 | #!sql |
| 318 | CREATE TABLE test_eudist_3_b_2 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',True,12) AS rast FROM test_ref_raster_3); |
| 319 | }}} |
| 320 | 3-b-3: Snap is False; Max distance NOT specified: |
| 321 | {{{ |
| 322 | #!sql |
| 323 | CREATE TABLE test_eudist_3_b_3 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',False) AS rast FROM test_ref_raster_3); |
| 324 | }}} |
| 325 | 3-b-4: Snap is False; Max distance is specified: |
| 326 | {{{ |
| 327 | #!sql |
| 328 | CREATE TABLE test_eudist_3_b_4 AS (SELECT 1 AS rid,ST_EuclideanDistance(300,300,0,0,1,1,0,0,4326,NULL,'32BF','public','test_source_geometry_3','the_geom',False,12) AS rast FROM test_ref_raster_3); |
| 329 | }}} |
| 330 | [[BR]] |
| 331 | == Test 4: Performance test: == |
| 332 | {{{ |
| 333 | #!sql |
| 334 | CREATE TABLE test_ref_raster_4 AS SELECT 1 AS rid,rast FROM (SELECT ST_MakeEmptyRaster(300,300,0,0,1,1,0,0,4326) AS rast)foo; |
| 335 | }}} |
| 336 | 4-a: Source: 100 points; Raster: 300x300 |
| 337 | {{{ |
| 338 | #!sql |
| 339 | CREATE TABLE test_source_geometry_4_a AS SELECT generate_series(1,100) AS id,ST_RandomPoints(the_geom,100) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 340 | CREATE INDEX test_source_geometry_4_a_gist_idx ON test_source_geometry_4_a USING GIST (the_geom); |
| 341 | CREATE TABLE test_eudist_4_a AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_a','the_geom',True) AS rast FROM test_ref_raster_4); |
| 342 | }}} |
| 343 | * 122325 ms execution time. |
| 344 | result:[[BR]][[BR]] |
| 345 | [[Image(test_eudist_4_a.gif)]][[BR]] |
| 346 | 4-b: Source: 1,000 points; Raster: 300x300 |
| 347 | {{{ |
| 348 | #!sql |
| 349 | CREATE TABLE test_source_geometry_4_b AS SELECT generate_series(1,1000) AS id,ST_RandomPoints(the_geom,1000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 350 | CREATE INDEX test_source_geometry_4_b_gist_idx ON test_source_geometry_4_b USING GIST (the_geom); |
| 351 | CREATE TABLE test_eudist_4_b AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_b','the_geom',True) AS rast FROM test_ref_raster_4); |
| 352 | }}} |
| 353 | * 132139 ms execution time. |
| 354 | result:[[BR]][[BR]] |
| 355 | [[Image(test_eudist_4_b.gif)]][[BR]][[BR]] |
| 356 | 4-c: Source: 5,000 points; Raster: 300x300 |
| 357 | {{{ |
| 358 | #!sql |
| 359 | CREATE TABLE test_source_geometry_4_c AS SELECT generate_series(1,5000) AS id,ST_RandomPoints(the_geom,5000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 360 | CREATE INDEX test_source_geometry_4_c_gist_idx ON test_source_geometry_4_c USING GIST (the_geom); |
| 361 | CREATE TABLE test_eudist_4_c AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_c','the_geom',True) AS rast FROM test_ref_raster_4); |
| 362 | }}} |
| 363 | * 126652 ms execution time. |
| 364 | result:[[BR]][[BR]] |
| 365 | [[Image(test_eudist_4_c.gif)]][[BR]][[BR]] |
| 366 | 4-d: Source: 10,000 points; Raster: 300x300 |
| 367 | {{{ |
| 368 | #!sql |
| 369 | CREATE TABLE test_source_geometry_4_d AS SELECT generate_series(1,10000) AS id,ST_RandomPoints(the_geom,10000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 370 | CREATE INDEX test_source_geometry_4_d_gist_idx ON test_source_geometry_4_d USING GIST (the_geom); |
| 371 | CREATE TABLE test_eudist_4_d AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_d','the_geom',True) AS rast FROM test_ref_raster_4); |
| 372 | }}} |
| 373 | * 143764 ms execution time. |
| 374 | result:[[BR]][[BR]] |
| 375 | [[Image(test_eudist_4_d.gif)]][[BR]][[BR]] |
| 376 | 4-e: Source: 20,000 points; Raster: 300x300 |
| 377 | {{{ |
| 378 | #!sql |
| 379 | CREATE TABLE test_source_geometry_4_e AS SELECT generate_series(1,20000) AS id,ST_RandomPoints(the_geom,20000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 380 | CREATE INDEX test_source_geometry_4_e_gist_idx ON test_source_geometry_4_e USING GIST (the_geom); |
| 381 | CREATE TABLE test_eudist_4_e AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_e','the_geom',True) AS rast FROM test_ref_raster_4); |
| 382 | }}} |
| 383 | * 120016 ms execution time. |
| 384 | result:[[BR]][[BR]] |
| 385 | [[Image(test_eudist_4_e.gif)]][[BR]][[BR]] |
| 386 | 4-f: Source: 40,000 points; Raster: 300x300 |
| 387 | {{{ |
| 388 | #!sql |
| 389 | CREATE TABLE test_source_geometry_4_f AS SELECT generate_series(1,40000) AS id,ST_RandomPoints(the_geom,40000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 390 | CREATE INDEX test_source_geometry_4_f_gist_idx ON test_source_geometry_4_f USING GIST (the_geom); |
| 391 | CREATE TABLE test_eudist_4_f AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_f','the_geom',True) AS rast FROM test_ref_raster_4); |
| 392 | }}} |
| 393 | * 169386 ms execution time. |
| 394 | result:[[BR]][[BR]] |
| 395 | [[Image(test_eudist_4_f.gif)]][[BR]][[BR]] |
| 396 | 4-g: Source: 80,000 points; Raster: 300x300 |
| 397 | {{{ |
| 398 | #!sql |
| 399 | CREATE TABLE test_source_geometry_4_g AS SELECT generate_series(1,80000) AS id,ST_RandomPoints(the_geom,80000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 400 | CREATE INDEX test_source_geometry_4_g_gist_idx ON test_source_geometry_4_g USING GIST (the_geom); |
| 401 | CREATE TABLE test_eudist_4_g AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_g','the_geom',True) AS rast FROM test_ref_raster_4); |
| 402 | }}} |
| 403 | * 164385 ms execution time. |
| 404 | result:[[BR]][[BR]] |
| 405 | [[Image(test_eudist_4_g.gif)]][[BR]][[BR]] |
| 406 | 4-h: Source: 160,000 points; Raster: 300x300 |
| 407 | {{{ |
| 408 | #!sql |
| 409 | CREATE TABLE test_source_geometry_4_h AS SELECT generate_series(1,160000) AS id,ST_RandomPoints(the_geom,160000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 410 | CREATE INDEX test_source_geometry_4_h_gist_idx ON test_source_geometry_4_h USING GIST (the_geom); |
| 411 | CREATE TABLE test_eudist_4_h AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_h','the_geom',True) AS rast FROM test_ref_raster_4); |
| 412 | }}} |
| 413 | * 160800 ms execution time. |
| 414 | result:[[BR]][[BR]] |
| 415 | [[Image(test_eudist_4_h.gif)]][[BR]][[BR]] |
| 416 | 4-i: Source: 320,000 points; Raster: 300x300 |
| 417 | {{{ |
| 418 | #!sql |
| 419 | CREATE TABLE test_source_geometry_4_i AS SELECT generate_series(1,320000) AS id,ST_RandomPoints(the_geom,320000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 420 | CREATE INDEX test_source_geometry_4_i_gist_idx ON test_source_geometry_4_i USING GIST (the_geom); |
| 421 | CREATE TABLE test_eudist_4_i AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_i','the_geom',True) AS rast FROM test_ref_raster_4); |
| 422 | }}} |
| 423 | * 204460 ms execution time. |
| 424 | result:[[BR]][[BR]] |
| 425 | [[Image(test_eudist_4_i.gif)]][[BR]][[BR]] |
| 426 | 4-j: Source: 640,000 points; Raster: 300x300 |
| 427 | {{{ |
| 428 | #!sql |
| 429 | CREATE TABLE test_source_geometry_4_j AS SELECT generate_series(1,640000) AS id,ST_RandomPoints(the_geom,640000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_4)foo; |
| 430 | CREATE INDEX test_source_geometry_4_j_gist_idx ON test_source_geometry_4_j USING GIST (the_geom); |
| 431 | CREATE TABLE test_eudist_4_j AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_4_j','the_geom',True) AS rast FROM test_ref_raster_4); |
| 432 | }}} |
| 433 | * 168992 ms execution time. |
| 434 | result:[[BR]][[BR]] |
| 435 | [[Image(test_eudist_4_j.gif)]][[BR]][[BR]] |
| 436 | [[BR]] |
| 437 | == Test 5: Scalability test:== |
| 438 | 5-a: Source: 10,000 points; Raster: 1000x1000 |
| 439 | {{{ |
| 440 | #!sql |
| 441 | CREATE TABLE test_ref_raster_5 AS SELECT 1 AS rid,rast FROM (SELECT ST_MakeEmptyRaster(1000,1000,0,0,1,1,0,0,4326) AS rast)foo; |
| 442 | CREATE TABLE test_source_geometry_5_a AS SELECT generate_series(1,10000) AS id,ST_RandomPoints(the_geom,10000) AS the_geom FROM (SELECT ST_SetSRID(ST_Extent(rast::geometry),4326) AS the_geom FROM test_ref_raster_5)foo; |
| 443 | CREATE INDEX test_source_geometry_5_a_gist_idx ON test_source_geometry_5_a USING GIST (the_geom); |
| 444 | CREATE TABLE test_eudist_5_a AS (SELECT 1 AS rid,ST_EuclideanDistance(rast,'32BF','public','test_source_geometry_5_a','the_geom',True) AS rast FROM test_ref_raster_5); |
| 445 | }}} |
| 446 | * 1576434 ms execution time. |
| 447 | result:[[BR]][[BR]] |
| 448 | [[Image(test_eudist_5_a.gif)]][[BR]][[BR]] |