diff --git a/modules/services/nsi.js b/modules/services/nsi.js index 509eaabed..d3094ef29 100644 --- a/modules/services/nsi.js +++ b/modules/services/nsi.js @@ -182,6 +182,9 @@ function gatherKVs(tags) { const osmvalue = tags[osmkey]; if (!osmvalue) return; + // Match a 'route_master' as if it were a 'route' - name-suggestion-index#5184 + if (osmkey === 'route_master') osmkey = 'route'; + const vmap = _nsi.kvt.get(osmkey); if (!vmap) return; // not an interesting key @@ -228,6 +231,9 @@ function identifyTree(tags) { const osmvalue = tags[osmkey]; if (!osmvalue) return; + // Match a 'route_master' as if it were a 'route' - name-suggestion-index#5184 + if (osmkey === 'route_master') osmkey = 'route'; + const vmap = _nsi.kvt.get(osmkey); if (!vmap) return; // this key is not in nsi @@ -427,6 +433,8 @@ function _upgradeTags(tags, loc) { } }); + // Match a 'route_master' as if it were a 'route' - name-suggestion-index#5184 + const isRouteMaster = (tags.type === 'route_master'); // Gather key/value tag pairs to try to match const tryKVs = gatherKVs(tags); @@ -521,6 +529,12 @@ function _upgradeTags(tags, loc) { // Do the tag upgrade Object.assign(newTags, item.tags, keepTags); + // Swap `route` back to `route_master` - name-suggestion-index#5184 + if (isRouteMaster) { + newTags.route_master = newTags.route; + delete newTags.route; + } + // Special `branch` splitting rules - IF.. // - NSI is suggesting to replace `name`, AND // - `branch` doesn't already contain something, AND