Mercurial > gemma
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 } |