# HG changeset patch # User Sascha L. Teichmann # Date 1560437844 -7200 # Node ID 955e2371cf281a44550b456a57f3b1aaf9f594bd # Parent f415c5ed60f66817968c81632da8ee85a813d083 Check ST_Valid, too. diff -r f415c5ed60f6 -r 955e2371cf28 pkg/imports/sr.go --- 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