comparison pkg/imports/isr.go @ 4256:4ca884dfc470

Prevent heights duplicates in iso line calculations.
author Sascha L. Teichmann <teichmann@intevation.de>
date Fri, 23 Aug 2019 18:02:01 +0200
parents d8b736ba3f32
children 671441357db0
comparison
equal deleted inserted replaced
4254:f1f1395f141b 4256:4ca884dfc470
16 import ( 16 import (
17 "context" 17 "context"
18 "database/sql" 18 "database/sql"
19 "time" 19 "time"
20 20
21 "gemma.intevation.de/gemma/pkg/common"
21 "gemma.intevation.de/gemma/pkg/octree" 22 "gemma.intevation.de/gemma/pkg/octree"
22 ) 23 )
23 24
24 type IsoRefresh struct { 25 type IsoRefresh struct {
25 ClassBreaks string `json:"class-breaks"` 26 ClassBreaks string `json:"class-breaks"`
173 tree, err := octree.FetchOctreeDirectly(ctx, tx, sr) 174 tree, err := octree.FetchOctreeDirectly(ctx, tx, sr)
174 if err != nil { 175 if err != nil {
175 return err 176 return err
176 } 177 }
177 hs := octree.ExtrapolateClassBreaks(heights, tree.Min.Z, tree.Max.Z) 178 hs := octree.ExtrapolateClassBreaks(heights, tree.Min.Z, tree.Max.Z)
179 hs = common.DedupFloat64s(hs)
178 180
179 // Delete the old contour lines. 181 // Delete the old contour lines.
180 if _, err := tx.ExecContext(ctx, deleteContourLinesSQL, sr); err != nil { 182 if _, err := tx.ExecContext(ctx, deleteContourLinesSQL, sr); err != nil {
181 return err 183 return err
182 } 184 }