Mercurial > gemma
diff pkg/imports/bn.go @ 3566:4c585b5d4fe8
Introduce hectometer based order for ranges of ISRS location codes
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Fri, 31 May 2019 20:06:27 +0200 |
parents | c03224d33e78 |
children | 02951a62e8c6 |
line wrap: on
line diff
--- a/pkg/imports/bn.go Fri May 31 17:43:39 2019 +0200 +++ b/pkg/imports/bn.go Fri May 31 20:06:27 2019 +0200 @@ -46,6 +46,11 @@ SELECT true FROM waterway.bottlenecks WHERE bottleneck_id = $1` insertBottleneckSQL = ` +WITH +bounds (b) AS (VALUES (isrs_fromText($5)), (isrs_fromText($6))), +r AS (SELECT isrsrange( + (SELECT b FROM bounds ORDER BY b USING <~ FETCH FIRST ROW ONLY), + (SELECT b FROM bounds ORDER BY b USING >~ FETCH FIRST ROW ONLY)) AS r) INSERT INTO waterway.bottlenecks ( bottleneck_id, gauge_location, @@ -70,11 +75,9 @@ tstzrange(NULL, NULL)), $3, $4, - isrsrange(least(isrs_fromText($5), isrs_fromText($6)), - greatest(isrs_fromText($5), isrs_fromText($6))), + (SELECT r FROM r), ISRSrange_area( - ISRSrange_axis(isrsrange(least(isrs_fromText($5), isrs_fromText($6)), - greatest(isrs_fromText($5), isrs_fromText($6))), + ISRSrange_axis((SELECT r FROM r), $14), (SELECT ST_Collect(CAST(area AS geometry)) FROM waterway.waterway_area)),