Mercurial > gemma
changeset 4685:7a9388943840
morphology: Clip class breaks again Z min and max of the the height model.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Wed, 16 Oct 2019 11:07:59 +0200 |
parents | 00a2c761493e |
children | 1d6f28e45696 cad2b264542e |
files | pkg/controllers/diff.go pkg/octree/classbreaks.go |
diffstat | 2 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/controllers/diff.go Wed Oct 16 10:52:43 2019 +0200 +++ b/pkg/controllers/diff.go Wed Oct 16 11:07:59 2019 +0200 @@ -285,6 +285,8 @@ // heights = octree.InBetweenClassBreaks(heights, 0.05, 2) } + log.Printf("info: z range: %.3f - %.3f\n", tin.Min.Z, tin.Max.Z) + log.Printf("info: num heights: %d\n", len(heights)) var isoStmt *sql.Stmt
--- a/pkg/octree/classbreaks.go Wed Oct 16 10:52:43 2019 +0200 +++ b/pkg/octree/classbreaks.go Wed Oct 16 11:07:59 2019 +0200 @@ -115,6 +115,22 @@ copy(n, cbs) sort.Float64s(n) + for len(n) > 0 && n[0] < min { + n = n[1:] + } + + if len(n) == 0 { + return n + } + + for len(n) > 0 && n[len(n)-1] > max { + n = n[:len(n)-1] + } + + if len(n) == 0 { + return n + } + for min < n[0] { diff := n[1] - n[0] if diff == 0 {