Mercurial > gemma
diff pkg/imports/bn.go @ 2563:dc4fae4bdb8f
Expose axis snapping tolerance to users
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 08 Mar 2019 19:15:47 +0100 |
parents | 6b34d0fb4498 |
children | 02d012272dd4 |
line wrap: on
line diff
--- a/pkg/imports/bn.go Fri Mar 08 18:57:58 2019 +0100 +++ b/pkg/imports/bn.go Fri Mar 08 19:15:47 2019 +0100 @@ -30,6 +30,8 @@ type Bottleneck struct { // URL is the URL of the SOAP service. URL string `json:"url"` + // Tolerance used for axis snapping + Tolerance float64 `json:"tolerance"` // Insecure indicates if HTTPS traffic // should validate certificates or not. Insecure bool `json:"insecure"` @@ -64,7 +66,7 @@ $4, isrsrange(isrs_fromText($5), isrs_fromText($6)), ISRSrange_area( - isrsrange(isrs_fromText($5), isrs_fromText($6)), + ISRSrange_axis(isrsrange(isrs_fromText($5), isrs_fromText($6)), $14), (SELECT ST_Collect(CAST(area AS geometry)) FROM waterway.waterway_area)), $7, @@ -162,7 +164,7 @@ return resp.Export_bn_by_isrsResult.BottleNeckType, nil } - return storeBottlenecks(ctx, fetch, importID, conn, feedback) + return storeBottlenecks(ctx, fetch, importID, conn, feedback, bn.Tolerance) } func storeBottlenecks( @@ -171,6 +173,7 @@ importID int64, conn *sql.Conn, feedback Feedback, + tolerance float64, ) (interface{}, error) { start := time.Now() @@ -202,7 +205,7 @@ for _, bn := range bns { if err := storeBottleneck( - ctx, importID, conn, feedback, bn, &nids, + ctx, importID, conn, feedback, bn, &nids, tolerance, hasStmt, insertStmt, trackStmt); err != nil { return nil, err } @@ -228,6 +231,7 @@ feedback Feedback, bn *ifbn.BottleNeckType, nids *[]string, + tolerance float64, hasStmt, insertStmt, trackStmt *sql.Stmt, ) error { @@ -278,6 +282,7 @@ limiting, bn.Date_Info, bn.Source, + tolerance, ).Scan(&nid) if err != nil { feedback.Warn("Failed to insert '%s' into database", bn.OBJNAM)