# HG changeset patch # User Sascha L. Teichmann # Date 1551182531 -3600 # Node ID 19beb7d1733757798e304dedc0cf9d0eb7d10cfe # Parent db0e4ab57977d30e977d2431cdb0c0c133821d24 Triangulate and build octree index. diff -r db0e4ab57977 -r 19beb7d17337 cmd/octreediff/main.go --- a/cmd/octreediff/main.go Tue Feb 26 12:22:04 2019 +0100 +++ b/cmd/octreediff/main.go Tue Feb 26 13:02:11 2019 +0100 @@ -45,6 +45,10 @@ ON sr.bottleneck_id = bn.id WHERE bn.bottleneck_id = $1 AND sr.date_info = $2::date AND sr.octree_index IS NOT NULL` + + triangulateSQL = ` +SELECT ST_AsBinary(ST_DelaunayTriangles(ST_GeomFromWKB($1, $2::int), 0, 2)) +` ) func check(err error) { @@ -302,6 +306,27 @@ log.Printf("WKB size %.3fMB\n", float64(len(data))/(1024*1024)) + var tin octree.Tin + + if err := conn.QueryRowContext( + ctx, + triangulateSQL, + data, + first.EPSG, + ).Scan(&tin); err != nil { + return err + } + + now = time.Now() + log.Printf("triangulation took %v\n", now.Sub(last)) + last = now + + builder := octree.NewBuilder(&tin) + builder.Build() + + now = time.Now() + log.Printf("building octree took %v\n", now.Sub(last)) + last = now return nil }) }