diff options
author | Andrew Harvey <andrew@alantgeo.com.au> | 2021-07-05 22:06:26 +1000 |
---|---|---|
committer | Andrew Harvey <andrew@alantgeo.com.au> | 2021-07-05 22:06:26 +1000 |
commit | a552ff46a21b530c85dd871a1e4a41f0d827a545 (patch) | |
tree | 1f5333176b4553fb2ac357d2f3b49df82dea39ec /bin/reduceOverlap.js | |
parent | 0275d9e79da1f72044737fb0fbcaa4f136f09c6f (diff) |
fix reduceOverlap code which creates ranges if inputs are already ranges
Diffstat (limited to 'bin/reduceOverlap.js')
-rwxr-xr-x | bin/reduceOverlap.js | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bin/reduceOverlap.js b/bin/reduceOverlap.js index 5546732..0941f49 100755 --- a/bin/reduceOverlap.js +++ b/bin/reduceOverlap.js @@ -117,14 +117,20 @@ const reduce = new Transform({ .every( (val, i, arr) => val === arr[0] ) // check if all values are the same const firstNumber = noUnits && sameNonHousenumber ? overlappingFeatures.map(f => f.properties['addr:housenumber']).reduce((acc, cur) => { + if (cur && cur.split('-').length === 2) { + cur = cur.split('-')[0] + } return (cur < acc) ? cur : acc }) : null const lastNumber = noUnits && sameNonHousenumber ? overlappingFeatures.map(f => f.properties['addr:housenumber']).reduce((acc, cur) => { + if (cur && cur.split('-').length === 2) { + cur = cur.split('-')[1] + } return (cur > acc) ? cur : acc }) : null - if (noUnits && sameNonHousenumber && firstNumber && lastNumber) { + if (noUnits && sameNonHousenumber && firstNumber && lastNumber && (firstNumber !== lastNumber)) { const featureAsRange = overlappingFeatures[0] featureAsRange.properties['addr:housenumber'] = `${firstNumber}-${lastNumber}` if (featureAsRange.properties._pfi) { |