From a552ff46a21b530c85dd871a1e4a41f0d827a545 Mon Sep 17 00:00:00 2001 From: Andrew Harvey Date: Mon, 5 Jul 2021 22:06:26 +1000 Subject: fix reduceOverlap code which creates ranges if inputs are already ranges --- bin/reduceOverlap.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'bin/reduceOverlap.js') 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) { -- cgit v1.2.3