comparison pkg/imports/sr.go @ 3518:4cd4375efd5d

ZP for sounding result imports: Use precise name of the depth reference system.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 29 May 2019 11:07:27 +0200
parents 6e748f31777a
children 479da494bc09
comparison
equal deleted inserted replaced
3516:6cdfc05fd6b0 3518:4cd4375efd5d
162 WHERE id = $1 162 WHERE id = $1
163 ` 163 `
164 164
165 selectGaugeLDCSQL = ` 165 selectGaugeLDCSQL = `
166 SELECT 166 SELECT
167 grwl.value 167 grwl.value,
168 grwl.depth_reference
168 FROM waterway.gauges_reference_water_levels grwl 169 FROM waterway.gauges_reference_water_levels grwl
169 JOIN waterway.bottlenecks bns 170 JOIN waterway.bottlenecks bns
170 ON grwl.location = bns.gauge_location 171 ON grwl.location = bns.gauge_location
171 AND grwl.validity = bns.gauge_validity 172 AND grwl.validity = bns.gauge_validity
172 WHERE bns.objnam = $1 AND grwl.depth_reference like 'LDC%' 173 WHERE bns.objnam = $1 AND grwl.depth_reference like 'LDC%'
206 var xform vertexTransform 207 var xform vertexTransform
207 208
208 if m.DepthReference == "ZPG" { 209 if m.DepthReference == "ZPG" {
209 feedback.Info("Found ZPG as reference system -> translating Z values to LDC") 210 feedback.Info("Found ZPG as reference system -> translating Z values to LDC")
210 var ldc float64 211 var ldc float64
211 err := conn.QueryRowContext(ctx, selectGaugeLDCSQL, m.Bottleneck).Scan(&ldc) 212 var depthReference string
213 err := conn.QueryRowContext(ctx, selectGaugeLDCSQL, m.Bottleneck).Scan(
214 &ldc,
215 &depthReference,
216 )
212 switch { 217 switch {
213 case err == sql.ErrNoRows: 218 case err == sql.ErrNoRows:
214 return nil, errors.New("Cannot load LDC value") 219 return nil, errors.New("Cannot load LDC value")
215 case err != nil: 220 case err != nil:
216 return nil, err 221 return nil, err
217 } 222 }
218 xform = func(v octree.Vertex) octree.Vertex { 223 xform = func(v octree.Vertex) octree.Vertex {
219 return octree.Vertex{X: v.X, Y: v.Y, Z: ldc - v.Z} 224 return octree.Vertex{X: v.X, Y: v.Y, Z: ldc - v.Z}
220 } 225 }
221 m.DepthReference = "LDC" 226 m.DepthReference = depthReference
222 } 227 }
223 228
224 if err := m.Validate(ctx, conn); err != nil { 229 if err := m.Validate(ctx, conn); err != nil {
225 return nil, common.ToError(err) 230 return nil, common.ToError(err)
226 } 231 }