Allow the layer and level tag to differentiate very close points (close #6612)

This commit is contained in:
Quincy Morgan
2019-07-05 10:17:15 -04:00
parent 3d9bcc8234
commit 8003e7b3d3
3 changed files with 22 additions and 0 deletions
+2
View File
@@ -1558,6 +1558,8 @@ en:
title: Use a bridge or tunnel
use_different_layers:
title: Use different layers
use_different_layers_or_levels:
title: Use different layers or levels
use_different_levels:
title: Use different levels
use_tunnel:
+3
View File
@@ -1952,6 +1952,9 @@
"use_different_layers": {
"title": "Use different layers"
},
"use_different_layers_or_levels": {
"title": "Use different layers or levels"
},
"use_different_levels": {
"title": "Use different levels"
},
+17
View File
@@ -134,6 +134,19 @@ export function validationCloseNodes(context) {
if (nearby.loc === node.loc ||
geoSphericalDistance(node.loc, nearby.loc) < pointThresholdMeters) {
// allow very close points if the z-axis varies
var zAxisKeys = { layer: true, level: true };
var zAxisDifferentiates = false;
for (var key in zAxisKeys) {
var nodeValue = node.tags[key] || '0';
var nearbyValue = nearby.tags[key] || '0';
if (nodeValue !== nearbyValue) {
zAxisDifferentiates = true;
break;
}
}
if (zAxisDifferentiates) continue;
issues.push(new validationIssue({
type: type,
severity: 'warning',
@@ -151,6 +164,10 @@ export function validationCloseNodes(context) {
new validationIssueFix({
icon: 'iD-operation-disconnect',
title: t('issues.fix.move_points_apart.title')
}),
new validationIssueFix({
icon: 'iD-icon-layers',
title: t('issues.fix.use_different_layers_or_levels.title')
})
]
}));