Mercurial > gemma
comparison pkg/imports/sr.go @ 3653:955e2371cf28 single-beam
Check ST_Valid, too.
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 13 Jun 2019 16:57:24 +0200 |
parents | f415c5ed60f6 |
children | 26e02fa5b992 |
comparison
equal
deleted
inserted
replaced
3652:f415c5ed60f6 | 3653:955e2371cf28 |
---|---|
150 SELECT | 150 SELECT |
151 ST_AsBinary(ST_Buffer(ST_MakeValid(ST_GeomFromWKB($1, $2::integer)), 0.0)), | 151 ST_AsBinary(ST_Buffer(ST_MakeValid(ST_GeomFromWKB($1, $2::integer)), 0.0)), |
152 ST_AsBinary(ST_Buffer(ST_MakeValid(ST_GeomFromWKB($1, $2::integer)), 0.1))` | 152 ST_AsBinary(ST_Buffer(ST_MakeValid(ST_GeomFromWKB($1, $2::integer)), 0.1))` |
153 | 153 |
154 whatsWrongSQL = ` | 154 whatsWrongSQL = ` |
155 SELECT ST_IsValidReason(CAST(ST_Transform(ST_GeomFromWKB($1, $2::integer), 4326)::geography AS geometry))` | 155 SELECT |
156 ST_IsValidReason( | |
157 CAST(ST_MakeValid(ST_Transform(ST_GeomFromWKB($1, $2::integer), 4326))::geography AS geometry)), | |
158 ST_IsValid( | |
159 CAST(ST_MakeValid(ST_Transform(ST_GeomFromWKB($1, $2::integer), 4326))::geography AS geometry)) | |
160 ` | |
156 | 161 |
157 insertContourSQL = ` | 162 insertContourSQL = ` |
158 INSERT INTO waterway.sounding_results_contour_lines ( | 163 INSERT INTO waterway.sounding_results_contour_lines ( |
159 sounding_result_id, | 164 sounding_result_id, |
160 height, | 165 height, |
390 } | 395 } |
391 | 396 |
392 clippingPolygon.FromLineStringZ(polygon) | 397 clippingPolygon.FromLineStringZ(polygon) |
393 | 398 |
394 var wrong string | 399 var wrong string |
400 var valid bool | |
395 if err := tx.QueryRowContext( | 401 if err := tx.QueryRowContext( |
396 ctx, | 402 ctx, |
397 whatsWrongSQL, | 403 whatsWrongSQL, |
398 clippingPolygon.AsWKB(), | 404 clippingPolygon.AsWKB(), |
399 epsg, | 405 epsg, |
400 ).Scan(&wrong); err != nil { | 406 ).Scan(&wrong, &valid); err != nil { |
401 return nil, err | 407 return nil, err |
402 } | 408 } |
403 | 409 |
404 log.Printf("!!!!!!!!: whats wrong: %s\n", wrong) | 410 log.Printf("!!!!!!!!: whats wrong (%t): %s\n", valid, wrong) |
405 | 411 |
406 var repaired, buffered []byte | 412 var repaired, buffered []byte |
407 | 413 |
408 if err := tx.QueryRowContext( | 414 if err := tx.QueryRowContext( |
409 ctx, | 415 ctx, |