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,