Mercurial > gemma
comparison 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 |
comparison
equal
deleted
inserted
replaced
3565:f6d67697f158 | 3566:4c585b5d4fe8 |
---|---|
44 const ( | 44 const ( |
45 hasBottleneckSQL = ` | 45 hasBottleneckSQL = ` |
46 SELECT true FROM waterway.bottlenecks WHERE bottleneck_id = $1` | 46 SELECT true FROM waterway.bottlenecks WHERE bottleneck_id = $1` |
47 | 47 |
48 insertBottleneckSQL = ` | 48 insertBottleneckSQL = ` |
49 WITH | |
50 bounds (b) AS (VALUES (isrs_fromText($5)), (isrs_fromText($6))), | |
51 r AS (SELECT isrsrange( | |
52 (SELECT b FROM bounds ORDER BY b USING <~ FETCH FIRST ROW ONLY), | |
53 (SELECT b FROM bounds ORDER BY b USING >~ FETCH FIRST ROW ONLY)) AS r) | |
49 INSERT INTO waterway.bottlenecks ( | 54 INSERT INTO waterway.bottlenecks ( |
50 bottleneck_id, | 55 bottleneck_id, |
51 gauge_location, | 56 gauge_location, |
52 gauge_validity, | 57 gauge_validity, |
53 objnam, | 58 objnam, |
68 (SELECT validity FROM waterway.gauges | 73 (SELECT validity FROM waterway.gauges |
69 WHERE location = isrs_fromText($2) AND NOT erased), | 74 WHERE location = isrs_fromText($2) AND NOT erased), |
70 tstzrange(NULL, NULL)), | 75 tstzrange(NULL, NULL)), |
71 $3, | 76 $3, |
72 $4, | 77 $4, |
73 isrsrange(least(isrs_fromText($5), isrs_fromText($6)), | 78 (SELECT r FROM r), |
74 greatest(isrs_fromText($5), isrs_fromText($6))), | |
75 ISRSrange_area( | 79 ISRSrange_area( |
76 ISRSrange_axis(isrsrange(least(isrs_fromText($5), isrs_fromText($6)), | 80 ISRSrange_axis((SELECT r FROM r), |
77 greatest(isrs_fromText($5), isrs_fromText($6))), | |
78 $14), | 81 $14), |
79 (SELECT ST_Collect(CAST(area AS geometry)) | 82 (SELECT ST_Collect(CAST(area AS geometry)) |
80 FROM waterway.waterway_area)), | 83 FROM waterway.waterway_area)), |
81 $7, | 84 $7, |
82 $8, | 85 $8, |