Add support for even more Osmose error types

- Conflicting tags
- Orthographic errors (excess whitespace and all capital names)
- Deprecated tagging
- Bad use of the "area" tag
This commit is contained in:
SilentSpike
2019-12-31 22:23:09 +00:00
parent 406264c37e
commit 9fca611ec1
7 changed files with 75 additions and 7 deletions

View File

@@ -177,15 +177,19 @@
.osmose.item-3040,
.osmose.item-3090,
.osmose.item-3161,
.osmose.item-3200,
.osmose.item-3220,
.osmose.item-3250 {
color: #2D9359;
}
.osmose.item-4010,
.osmose.item-4030,
.osmose.item-4080 {
color: #F2F230;
}
.osmose.item-5010,
.osmose.item-5070 {
color: #EC0000;
}

View File

@@ -868,7 +868,7 @@ en:
description: '{0} should be on the highway or part of an "enforcement" relation.'
2110-21101:
title: 'Unknown Named Object'
description: '{0} has a name but no main tag.'
description: '{0} has a name but no feature tag.'
2110-21102:
title: 'Missing Relation Type'
description: '{0} is missing a "type" tag.'
@@ -881,15 +881,35 @@ en:
3161:
title: 'Missing Parking Access'
description: 'There is no highway leading to {0}.'
3200:
title: 'Invalid Area Tagging'
3200-32001:
description: '{0} is tagged "area=yes", but this feature is an area by default.'
3200-32002:
description: '{0} has an "area" tag, but no feature tag.'
3200-32003:
description: '{0} is tagged "area=no", but this feature already isn''t an area.'
3220:
title: 'All Access Allowed'
description: '{0} has an "access=yes" or "access=permissive" tag which permits use by all transport modes (ski, horse, hazmat, etc.).'
3250-32501:
title: 'Invalid Opening Hours'
description: '{0} has an invalid value for the "opening_hours" tag.'
4010:
title: 'Deprecated Tagging'
description: '{0} uses tag "{1}" which is deprecated in favour of "{2}".'
4030-900:
title: 'Conflicting Tags'
description: '{0} is tagged with both "{1}" and "{2}".'
4080:
title: 'Object Mapped Twice'
description: '{0} and {1} both appear to represent the same object.'
5010:
title: 'Orthographic Error'
5010-803:
description: 'The "name" of {0} is written in all capitals.'
5010-903:
description: 'The "name" of {0} has excessive space characters.'
5070-50703:
title: 'Unexpected Symbol'
description: '{0} has an unexpected symbol, {2}, in the "{1}" tag.'

View File

@@ -23,11 +23,16 @@
"3040",
"3090",
"3161",
"3200",
"3220",
"3250",
"4010",
"4030",
"4080",
"5010",
"7040",
"7090",
"5010",
"5070",
"8300",
"8360",
@@ -57,12 +62,20 @@
"3090-3090": "fas-calendar-alt",
"3161-1": "maki-parking",
"3161-2": "maki-parking",
"3200-32001": "fas-vector-square",
"3200-32002": "fas-vector-square",
"3200-32003": "fas-vector-square",
"3220-32200": "maki-roadblock",
"3220-32201": "maki-roadblock",
"3250-32501": "maki-watch",
"4010-4010": "maki-waste-basket",
"4010-40102": "maki-waste-basket",
"4030-900": "fas-yin-yang",
"4080-1": "far-dot-circle",
"4080-2": "far-dot-circle",
"4080-3": "far-dot-circle",
"5010-803": "fas-sort-alpha-up",
"5010-903": "fas-rocket",
"5070-50703": "fas-tint-slash",
"5070-50704": "fas-code",
"5070-50705": "fas-question",

31
dist/locales/en.json vendored
View File

@@ -1054,14 +1054,24 @@
"title": "Missing Parking Access",
"description": "There is no highway leading to {0}."
},
"3200": {
"title": "Invalid Area Tagging"
},
"3220": {
"title": "All Access Allowed",
"description": "{0} has an \"access=yes\" or \"access=permissive\" tag which permits use by all transport modes (ski, horse, hazmat, etc.)."
},
"4010": {
"title": "Deprecated Tagging",
"description": "{0} uses tag \"{1}\" which is deprecated in favour of \"{2}\"."
},
"4080": {
"title": "Object Mapped Twice",
"description": "{0} and {1} both appear to represent the same object."
},
"5010": {
"title": "Orthographic Error"
},
"7040": {
"title": "Unfinished Power Line",
"description": "A power line appears to be unfinished at {0}."
@@ -1124,7 +1134,7 @@
},
"2110-21101": {
"title": "Unknown Named Object",
"description": "{0} has a name but no main tag."
"description": "{0} has a name but no feature tag."
},
"2110-21102": {
"title": "Missing Relation Type",
@@ -1138,10 +1148,29 @@
"title": "Invalid Date",
"description": "{0} is tagged with an invalid date value: \"{1}\"."
},
"3200-32001": {
"description": "{0} is tagged \"area=yes\", but this feature is an area by default."
},
"3200-32002": {
"description": "{0} has an \"area\" tag, but no feature tag."
},
"3200-32003": {
"description": "{0} is tagged \"area=no\", but this feature already isn't an area."
},
"3250-32501": {
"title": "Invalid Opening Hours",
"description": "{0} has an invalid value for the \"opening_hours\" tag."
},
"4030-900": {
"title": "Conflicting Tags",
"description": "{0} is tagged with both \"{1}\" and \"{2}\"."
},
"5010-803": {
"description": "The \"name\" of {0} is written in all capitals."
},
"5010-903": {
"description": "The \"name\" of {0} has excessive space characters."
},
"5070-50703": {
"title": "Unexpected Symbol",
"description": "{0} has an unexpected symbol, {2}, in the \"{1}\" tag."

View File

@@ -3,7 +3,7 @@ import RBush from 'rbush';
import { dispatch as d3_dispatch } from 'd3-dispatch';
import { json as d3_json } from 'd3-fetch';
import { dataEn } from '../../data';
import { t } from '../util/locale';
import { geoExtent, geoVecAdd } from '../geo';
import { qaError } from '../osm';
import { utilRebind, utilTiler, utilQsString } from '../util';
@@ -143,8 +143,6 @@ export default {
switch (d.item) {
case 8300:
case 8360: {
// Parts only exists for these error types
let { parts } = dataEn.QA.osmose.error_types[d.item];
let k = error_class;
// First 17 classes are all speed limits
@@ -153,7 +151,7 @@ export default {
}
// Setting elems here prevents UI error detail requests
d.replacements = [parts[k]];
d.replacements = [t(`QA.osmose.error_types.${d.item}.parts.${k}`)];
d.elems = [];
break;
}
@@ -174,7 +172,6 @@ export default {
});
},
// todo: &item=1090%2C1110%2C1120%2C3010%2C3020%2C3032%2C3050%2C3060%2C3091%2C3092%2C3150%2C3180%2C3190%2C3200%2C3210%2C4010%2C4030%2C5010%2C5020%2C5030%2C5040%2C5050%2C5080%2C6030%2C9000%2C9001
loadErrorDetail(d, callback) {
// Error details only need to be fetched once
if (d.elems !== undefined) {
@@ -197,6 +194,9 @@ export default {
const special = {
'3040-3040': /Bad value for (.+)/i,
'3090-3090': /Incorrect date "(.+)"/i,
'4010-4010': /Tag (.+) is deprecated: (.+)/i,
'4010-40102': /Tag (.+) is deprecated: (.+)/i,
'4030-900': /Conflict between tags: (.+), (.+)/i,
'5070-50703': /"(.+)"=".+" unexpected symbol char \(.+, (.+)\)/i,
'5070-50704': /Umbalanced (.+)/i,
'5070-50705': /Unexpected char (.+)/i,

View File

@@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="sort-alpha-up" class="svg-inline--fa fa-sort-alpha-up fa-w-14" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M16 160h48v304a16 16 0 0 0 16 16h32a16 16 0 0 0 16-16V160h48c14.21 0 21.38-17.24 11.31-27.31l-80-96a16 16 0 0 0-22.62 0l-80 96C-5.35 142.74 1.78 160 16 160zm400 128H288a16 16 0 0 0-16 16v32a16 16 0 0 0 16 16h56l-61.26 70.45A32 32 0 0 0 272 446.37V464a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-32a16 16 0 0 0-16-16h-56l61.26-70.45A32 32 0 0 0 432 321.63V304a16 16 0 0 0-16-16zm31.06-85.38l-59.27-160A16 16 0 0 0 372.72 32h-41.44a16 16 0 0 0-15.07 10.62l-59.27 160A16 16 0 0 0 272 224h24.83a16 16 0 0 0 15.23-11.08l4.42-12.92h71l4.41 12.92A16 16 0 0 0 407.16 224H432a16 16 0 0 0 15.06-21.38zM335.61 144L352 96l16.39 48z"></path></svg>

After

Width:  |  Height:  |  Size: 862 B

View File

@@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="yin-yang" class="svg-inline--fa fa-yin-yang fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M248 8C111.03 8 0 119.03 0 256s111.03 248 248 248 248-111.03 248-248S384.97 8 248 8zm0 376c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm0-128c-53.02 0-96 42.98-96 96s42.98 96 96 96c-106.04 0-192-85.96-192-192S141.96 64 248 64c53.02 0 96 42.98 96 96s-42.98 96-96 96zm0-128c-17.67 0-32 14.33-32 32s14.33 32 32 32 32-14.33 32-32-14.33-32-32-32z"></path></svg>

After

Width:  |  Height:  |  Size: 602 B