changeset 4738:a0a4298a4756

Code simplification.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Fri, 18 Oct 2019 11:57:26 +0200
parents e8df3aeb0a32
children 257dd6039a28
files pkg/octree/areas.go
diffstat 1 files changed, 10 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/octree/areas.go	Fri Oct 18 11:20:33 2019 +0200
+++ b/pkg/octree/areas.go	Fri Oct 18 11:57:26 2019 +0200
@@ -189,10 +189,6 @@
 	reprojX := common.Linear(0.5, min.X, 1.5, min.X+cellSize)
 	reprojY := common.Linear(0.5, min.Y, 1.5, min.Y+cellSize)
 
-	reproj := func(x, y float64) (float64, float64) {
-		return reprojX(x), reprojY(y)
-	}
-
 	cnts := make(chan int)
 
 	doContours := func() {
@@ -204,7 +200,7 @@
 				continue
 			}
 
-			areas[hIdx] = buildMultipolygon(c, reproj)
+			areas[hIdx] = buildMultipolygon(c, reprojX, reprojY)
 		}
 	}
 
@@ -392,7 +388,7 @@
 
 func buildMultipolygon(
 	cnts []contourmap.Contour,
-	reproj func(float64, float64) (float64, float64),
+	reprojX, reprojY func(float64) float64,
 ) wkb.MultiPolygonGeom {
 
 	var bf bboxForest
@@ -412,8 +408,10 @@
 		// Handle shell
 		shell := make(wkb.LinearRingGeom, len(sh))
 		for j, pt := range sh {
-			x, y := reproj(pt.X, pt.Y)
-			shell[j] = wkb.PointGeom{X: x, Y: y}
+			shell[j] = wkb.PointGeom{
+				X: reprojX(pt.X),
+				Y: reprojY(pt.Y),
+			}
 		}
 		if shell.CCW() {
 			shell.Reverse()
@@ -424,8 +422,10 @@
 		for i, hl := range hls {
 			hole := make(wkb.LinearRingGeom, len(hl))
 			for j, pt := range hl {
-				x, y := reproj(pt.X, pt.Y)
-				hole[j] = wkb.PointGeom{X: x, Y: y}
+				hole[j] = wkb.PointGeom{
+					X: reprojX(pt.X),
+					Y: reprojY(pt.Y),
+				}
 			}
 			if !hole.CCW() {
 				hole.Reverse()