Mercurial > gemma
changeset 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 |
files | pkg/imports/sr.go |
diffstat | 1 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/pkg/imports/sr.go Thu Jun 13 16:36:21 2019 +0200 +++ b/pkg/imports/sr.go Thu Jun 13 16:57:24 2019 +0200 @@ -152,7 +152,12 @@ ST_AsBinary(ST_Buffer(ST_MakeValid(ST_GeomFromWKB($1, $2::integer)), 0.1))` whatsWrongSQL = ` -SELECT ST_IsValidReason(CAST(ST_Transform(ST_GeomFromWKB($1, $2::integer), 4326)::geography AS geometry))` +SELECT + ST_IsValidReason( + CAST(ST_MakeValid(ST_Transform(ST_GeomFromWKB($1, $2::integer), 4326))::geography AS geometry)), + ST_IsValid( + CAST(ST_MakeValid(ST_Transform(ST_GeomFromWKB($1, $2::integer), 4326))::geography AS geometry)) +` insertContourSQL = ` INSERT INTO waterway.sounding_results_contour_lines ( @@ -392,16 +397,17 @@ clippingPolygon.FromLineStringZ(polygon) var wrong string + var valid bool if err := tx.QueryRowContext( ctx, whatsWrongSQL, clippingPolygon.AsWKB(), epsg, - ).Scan(&wrong); err != nil { + ).Scan(&wrong, &valid); err != nil { return nil, err } - log.Printf("!!!!!!!!: whats wrong: %s\n", wrong) + log.Printf("!!!!!!!!: whats wrong (%t): %s\n", valid, wrong) var repaired, buffered []byte