Mercurial > gemma
diff pkg/models/cross.go @ 658:288c496eca26
Cross sections: Simplified joining segments code a bit and moved timing into controller.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Fri, 14 Sep 2018 18:02:53 +0200 |
parents | 7aeacd7f150b |
children | bd215c4325ce |
line wrap: on
line diff
--- a/pkg/models/cross.go Fri Sep 14 17:45:42 2018 +0200 +++ b/pkg/models/cross.go Fri Sep 14 18:02:53 2018 +0200 @@ -6,7 +6,6 @@ "encoding/json" "errors" "fmt" - "log" "math" "sort" "time" @@ -288,8 +287,6 @@ return ml } - start := time.Now() - type value struct { coords GeoJSONLineCoordinatesZ order int @@ -309,19 +306,16 @@ } again: - for { - for k, v1 := range heads { - key := v1.coords[len(v1.coords)-1].quant() - if k == key { // cycle detected - continue - } - if v2 := heads[key]; v2 != nil { - delete(heads, key) - v1.coords = v1.coords.join(v2.coords) - continue again - } + for k, v1 := range heads { + key := v1.coords[len(v1.coords)-1].quant() + if k == key { // cycle detected + continue } - break + if v2 := heads[key]; v2 != nil { + delete(heads, key) + v1.coords = v1.coords.join(v2.coords) + goto again + } } // To make it deterministic sort in input order. @@ -338,9 +332,6 @@ out[i] = v.coords } - log.Printf("joining took: %s\n", time.Since(start)) - log.Printf("segments before/after: %d %d\n", len(ml), len(out)) - return out } @@ -351,8 +342,6 @@ return ml } - start := time.Now() - lists := make(GeoJSONMultiLineCoordinatesZ, len(ml)) copy(lists, ml) @@ -384,9 +373,6 @@ j++ } - log.Printf("joining took: %s\n", time.Since(start)) - log.Printf("segments before/after: %d %d\n", len(ml), len(lists)) - return lists } */