comparison pkg/controllers/diff.go @ 4658:4bbfe3dd2ab5 stree-experiment

Completed usage of STRTrees.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 14 Oct 2019 14:58:04 +0200
parents 5ef04ae34872
children 0ddb308fed37
comparison
equal deleted inserted replaced
4656:a2f16987911b 4658:4bbfe3dd2ab5
132 132
133 minuendTree, err := octree.FromCache( 133 minuendTree, err := octree.FromCache(
134 ctx, conn, 134 ctx, conn,
135 dci.Bottleneck, dci.Minuend.Time) 135 dci.Bottleneck, dci.Minuend.Time)
136 136
137 log.Printf("info: loading minuend octree took %s\n", time.Since(start)) 137 log.Printf("info: loading minuend mesh took %s\n", time.Since(start))
138 if err != nil { 138 if err != nil {
139 return 139 return
140 } 140 }
141 141
142 if minuendTree == nil { 142 if minuendTree == nil {
153 153
154 subtrahendTree, err := octree.FromCache( 154 subtrahendTree, err := octree.FromCache(
155 ctx, conn, 155 ctx, conn,
156 dci.Bottleneck, dci.Subtrahend.Time) 156 dci.Bottleneck, dci.Subtrahend.Time)
157 157
158 log.Printf("info: loading subtrahend octree took %s\n", time.Since(start)) 158 log.Printf("info: loading subtrahend mesh took %s\n", time.Since(start))
159 if err != nil { 159 if err != nil {
160 return 160 return
161 } 161 }
162 162
163 if subtrahendTree == nil { 163 if subtrahendTree == nil {
169 } 169 }
170 return 170 return
171 } 171 }
172 172
173 // We need a slow path implementation for this. 173 // We need a slow path implementation for this.
174 epsg := minuendTree.EPSG 174 epsg := minuendTree.EPSG()
175 if epsg != subtrahendTree.EPSG { 175 if epsg != subtrahendTree.EPSG() {
176 err = mw.JSONError{ 176 err = mw.JSONError{
177 Code: http.StatusInternalServerError, 177 Code: http.StatusInternalServerError,
178 Message: "Calculating differences between two different " + 178 Message: "Calculating differences between two different " +
179 "EPSG code octrees are not supported, yet.", 179 "EPSG code meshes are not supported, yet.",
180 } 180 }
181 return 181 return
182 } 182 }
183 183
184 start = time.Now() 184 start = time.Now()
252 start = time.Now() 252 start = time.Now()
253 var tree octree.STRTree 253 var tree octree.STRTree
254 254
255 tree.BuildWithout(tin, removed) 255 tree.BuildWithout(tin, removed)
256 256
257 log.Printf("info: Building final STRTree took: %v\n", time.Since(start)) 257 log.Printf("info: Building final mesh took: %v\n", time.Since(start))
258 258
259 start = time.Now() 259 start = time.Now()
260 260
261 // XXX: Maybe we should start this transaction earlier!? 261 // XXX: Maybe we should start this transaction earlier!?
262 var tx *sql.Tx 262 var tx *sql.Tx