comparison cmd/octreediff/main.go @ 2488:cb55d7eaaa36 octree-diff

Started with the idea to clip an octree by an bounding polygon.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 03 Mar 2019 14:45:41 +0100
parents 4fa92d468164
children 12ed6feefea5
comparison
equal deleted inserted replaced
2487:bd46ffbb944e 2488:cb55d7eaaa36
62 2 62 2
63 ) 63 )
64 ), 64 ),
65 4326 65 4326
66 ) 66 )
67 `
68 clippingPolygonSQL = `
69 WITH joined AS (
70 SELECT
71 sr.area AS area,
72 sr.date_info AS date_info
73 FROM waterway.sounding_results sr JOIN
74 waterway.bottlenecks bn ON sr.bottleneck_id = bn.id
75 WHERE bn.bottleneck_id = $1
76 )
77 SELECT ST_AsBinary(
78 ST_Buffer(
79 ST_intersection(
80 (SELECT ST_Transform(area::geometry, $2::int) FROM joined WHERE date_info = $3::date),
81 (SELECT ST_Transform(area::geometry, $2::int) FROM joined WHERE date_info = $4::date)
82 ),
83 0.001)) AS area
67 ` 84 `
68 insertContourSQLClipped = ` 85 insertContourSQLClipped = `
69 WITH joined AS ( 86 WITH joined AS (
70 SELECT 87 SELECT
71 sr.area AS area, 88 sr.area AS area,
345 now = time.Now() 362 now = time.Now()
346 log.Printf("setting in took %v\n", now.Sub(last)) 363 log.Printf("setting in took %v\n", now.Sub(last))
347 last = now 364 last = now
348 log.Printf("num points: %d\n", len(result)) 365 log.Printf("num points: %d\n", len(result))
349 366
367 var clip []byte
368
369 if err := tx.QueryRowContext(
370 ctx, clippingPolygonSQL,
371 bottleneck,
372 first.EPSG,
373 firstDate, secondDate,
374 ).Scan(&clip); err != nil {
375 return err
376 }
377
378 now = time.Now()
379 log.Printf("loading clipping polygon took %v\n", now.Sub(last))
380 last = now
381
350 tri, err := result.triangulate() 382 tri, err := result.triangulate()
351 if err != nil { 383 if err != nil {
352 return err 384 return err
353 } 385 }
354 386