mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-20 07:25:15 +02:00
Merge in master
This commit is contained in:
+2
-2
@@ -24,6 +24,7 @@ path.stroke.old-multipolygon {
|
||||
|
||||
/* Green things */
|
||||
path.stroke.tag-natural,
|
||||
path.stroke.tag-natural-wood,
|
||||
path.stroke.tag-leisure-nature_reserve,
|
||||
path.stroke.tag-leisure-pitch,
|
||||
path.stroke.tag-leisure-track,
|
||||
@@ -32,12 +33,12 @@ path.stroke.tag-leisure-garden,
|
||||
path.stroke.tag-leisure-park,
|
||||
path.stroke.tag-landuse-recreation_ground,
|
||||
path.stroke.tag-landuse-forest,
|
||||
path.stroke.tag-landuse-wood,
|
||||
path.stroke.tag-landuse-grass,
|
||||
path.stroke.tag-barrier-hedge {
|
||||
stroke: rgb(140, 208, 95);
|
||||
}
|
||||
path.fill.tag-natural,
|
||||
path.fill.tag-natural-wood,
|
||||
path.fill.tag-leisure-nature_reserve,
|
||||
path.fill.tag-leisure-pitch,
|
||||
path.fill.tag-leisure-track,
|
||||
@@ -46,7 +47,6 @@ path.fill.tag-leisure-garden,
|
||||
path.fill.tag-leisure-park,
|
||||
path.fill.tag-landuse-recreation_ground,
|
||||
path.fill.tag-landuse-forest,
|
||||
path.fill.tag-natural-wood,
|
||||
path.fill.tag-landuse-grass,
|
||||
path.fill.tag-barrier-hedge {
|
||||
stroke: rgba(140, 208, 95, 0.3);
|
||||
|
||||
+1
-1
@@ -1709,7 +1709,7 @@ button.preset-favorite-button.active .icon {
|
||||
}
|
||||
|
||||
.form-field-input-multicombo ul.chiplist {
|
||||
padding: 3px 10px 3px 10px;
|
||||
padding: 5px 10px 5px 10px;
|
||||
background: #fff;
|
||||
display: block;
|
||||
border-radius: 0 0 4px 4px;
|
||||
|
||||
@@ -359,14 +359,6 @@
|
||||
"old": {"highway": "stile"},
|
||||
"replace": {"barrier": "stile"}
|
||||
},
|
||||
{
|
||||
"old": {"highway": "incline"},
|
||||
"replace": {"highway": "road", "incline": "up"}
|
||||
},
|
||||
{
|
||||
"old": {"highway": "incline_steep"},
|
||||
"replace": {"highway": "road", "incline": "up"}
|
||||
},
|
||||
{
|
||||
"old": {"highway": "unsurfaced"},
|
||||
"replace": {"highway": "road", "surface": "unpaved"}
|
||||
@@ -463,6 +455,10 @@
|
||||
"old": {"leisure": "video_arcade"},
|
||||
"replace": {"leisure": "amusement_arcade"}
|
||||
},
|
||||
{
|
||||
"old": {"leisure": "recreation_ground"},
|
||||
"replace": {"landuse": "recreation_ground"}
|
||||
},
|
||||
{
|
||||
"old": {"man_made": "cut_line"},
|
||||
"replace": {"man_made": "cutline"}
|
||||
|
||||
+1
-1
@@ -3083,7 +3083,7 @@ en:
|
||||
amenity/shelter/public_transport:
|
||||
# 'amenity=shelter, shelter_type=public_transport'
|
||||
name: Transit Shelter
|
||||
# 'terms: bus stop,metro stop,waiting'
|
||||
# 'terms: bus stop,metro stop,public transit shelter,public transport shelter,tram stop shelter,waiting'
|
||||
terms: '<translate with synonyms or related terms for ''Transit Shelter'', separated by commas>'
|
||||
amenity/shower:
|
||||
# amenity=shower
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
"amenity/shelter/gazebo": {"icon": "maki-shelter", "fields": ["name", "building_area", "bench", "lit"], "geometry": ["point", "area"], "tags": {"amenity": "shelter", "shelter_type": "gazebo"}, "name": "Gazebo"},
|
||||
"amenity/shelter/lean_to": {"icon": "maki-shelter", "fields": ["name", "operator", "building_area"], "geometry": ["point", "area"], "tags": {"amenity": "shelter", "shelter_type": "lean_to"}, "name": "Lean-To"},
|
||||
"amenity/shelter/picnic_shelter": {"icon": "maki-shelter", "fields": ["name", "shelter_type", "building_area", "lit", "bin"], "geometry": ["point", "area"], "tags": {"amenity": "shelter", "shelter_type": "picnic_shelter"}, "reference": {"key": "shelter_type", "value": "picnic_shelter"}, "terms": ["pavilion"], "name": "Picnic Shelter"},
|
||||
"amenity/shelter/public_transport": {"icon": "maki-shelter", "fields": ["name", "shelter_type", "building_area", "bench", "lit"], "geometry": ["point", "area"], "terms": ["bus stop", "metro stop", "waiting"], "tags": {"amenity": "shelter", "shelter_type": "public_transport"}, "reference": {"key": "shelter_type", "value": "public_transport"}, "name": "Transit Shelter"},
|
||||
"amenity/shelter/public_transport": {"icon": "maki-shelter", "fields": ["name", "shelter_type", "building_area", "bench", "lit"], "geometry": ["point", "area"], "terms": ["bus stop", "metro stop", "public transit shelter", "public transport shelter", "tram stop shelter", "waiting"], "tags": {"amenity": "shelter", "shelter_type": "public_transport"}, "reference": {"key": "shelter_type", "value": "public_transport"}, "name": "Transit Shelter"},
|
||||
"amenity/shower": {"icon": "fas-shower", "fields": ["opening_hours", "access_simple", "fee", "payment_multi_fee", "supervised", "building_area", "wheelchair"], "moreFields": ["address", "operator", "gender"], "geometry": ["point", "vertex", "area"], "terms": ["rain closet"], "tags": {"amenity": "shower"}, "name": "Shower"},
|
||||
"amenity/smoking_area": {"icon": "fas-smoking", "fields": ["name", "shelter", "bin", "bench", "opening_hours"], "moreFields": ["lit", "wheelchair", "covered"], "geometry": ["point", "vertex", "area"], "terms": [], "tags": {"amenity": "smoking_area"}, "name": "Smoking Area"},
|
||||
"amenity/social_centre": {"icon": "fas-handshake", "fields": ["name", "operator", "address", "building_area"], "moreFields": ["air_conditioning", "email", "fax", "internet_access", "internet_access/fee", "internet_access/ssid", "phone", "website", "wheelchair"], "geometry": ["point", "area"], "terms": ["event", "fraternal", "fraternity", "hall", "organization", "professional", "society", "sorority", "union", "vetern"], "tags": {"amenity": "social_centre"}, "name": "Social Center"},
|
||||
@@ -487,7 +487,7 @@
|
||||
"highway/pedestrian_line": {"icon": "temaki-pedestrian", "fields": ["name", "surface", "lit", "width", "oneway", "structure", "access"], "moreFields": ["covered", "incline", "maxweight_bridge", "smoothness"], "geometry": ["line"], "tags": {"highway": "pedestrian"}, "terms": ["center", "centre", "plaza", "quad", "square", "walkway"], "name": "Pedestrian Street"},
|
||||
"highway/primary_link": {"icon": "iD-highway-primary-link", "fields": ["destination_oneway", "destination/ref_oneway", "oneway", "maxspeed", "lanes", "surface", "structure", "access"], "moreFields": ["covered", "cycleway", "destination/symbol_oneway", "flood_prone", "incline", "junction/ref_oneway", "junction_line", "lit", "maxheight", "maxspeed/advisory", "maxweight_bridge", "name", "oneway/bicycle", "ref_road_number", "smoothness", "toll", "trolley_wire"], "geometry": ["line"], "tags": {"highway": "primary_link"}, "terms": ["on ramp", "off ramp", "ramp", "road", "street"], "name": "Primary Link"},
|
||||
"highway/primary": {"icon": "iD-highway-primary", "fields": ["name", "oneway", "maxspeed", "lanes", "surface", "structure", "ref_road_number", "access"], "moreFields": ["covered", "cycleway", "flood_prone", "incline", "junction_line", "lit", "maxheight", "maxspeed/advisory", "maxweight_bridge", "oneway/bicycle", "smoothness", "toll", "trolley_wire"], "geometry": ["line"], "tags": {"highway": "primary"}, "terms": ["road", "street"], "name": "Primary Road"},
|
||||
"highway/raceway": {"icon": "iD-highway-unclassified", "fields": ["name", "oneway", "surface", "sport_racing_motor", "lit", "width", "lanes", "structure"], "geometry": ["point", "line", "area"], "tags": {"highway": "raceway"}, "addTags": {"highway": "raceway", "sport": "motor"}, "terms": ["auto*", "formula one", "kart", "motocross", "nascar", "race*", "track"], "name": "Racetrack (Motorsport)"},
|
||||
"highway/raceway": {"icon": "fas-flag-checkered", "fields": ["name", "oneway", "surface", "sport_racing_motor", "lit", "width", "lanes", "structure"], "geometry": ["point", "line", "area"], "tags": {"highway": "raceway"}, "addTags": {"highway": "raceway", "sport": "motor"}, "terms": ["auto*", "formula one", "kart", "motocross", "nascar", "race*", "track"], "name": "Racetrack (Motorsport)"},
|
||||
"highway/residential": {"icon": "iD-highway-residential", "fields": ["name", "oneway", "maxspeed", "lanes", "surface", "structure", "access"], "moreFields": ["covered", "cycleway", "flood_prone", "incline", "junction_line", "lit", "oneway/bicycle", "maxheight", "maxspeed/advisory", "maxweight_bridge", "smoothness", "trolley_wire"], "geometry": ["line"], "tags": {"highway": "residential"}, "terms": ["road", "street"], "name": "Residential Road"},
|
||||
"highway/rest_area": {"icon": "maki-car", "fields": ["name", "operator", "opening_hours"], "moreFields": ["address", "website", "phone", "email", "fax", "wheelchair"], "geometry": ["point", "vertex", "area"], "tags": {"highway": "rest_area"}, "terms": ["rest stop"], "name": "Rest Area"},
|
||||
"highway/road": {"icon": "iD-other-line", "fields": ["highway", "{highway/residential}"], "moreFields": ["{highway/residential}"], "geometry": ["line"], "tags": {"highway": "road"}, "terms": ["road", "street"], "name": "Unknown Road"},
|
||||
|
||||
@@ -14,6 +14,9 @@
|
||||
"terms": [
|
||||
"bus stop",
|
||||
"metro stop",
|
||||
"public transit shelter",
|
||||
"public transport shelter",
|
||||
"tram stop shelter",
|
||||
"waiting"
|
||||
],
|
||||
"tags": {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"icon": "iD-highway-unclassified",
|
||||
"icon": "fas-flag-checkered",
|
||||
"fields": [
|
||||
"name",
|
||||
"oneway",
|
||||
|
||||
+2
-3
@@ -468,7 +468,7 @@
|
||||
{"key": "highway", "value": "pedestrian", "description": "🄿 Pedestrian Street", "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/bhousel/temaki/master/icons/pedestrian.svg?sanitize=true"},
|
||||
{"key": "highway", "value": "primary_link", "description": "🄿 Primary Link", "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-primary-link.svg?sanitize=true"},
|
||||
{"key": "highway", "value": "primary", "description": "🄿 Primary Road", "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-primary.svg?sanitize=true"},
|
||||
{"key": "highway", "value": "raceway", "description": "🄿 Racetrack (Motorsport)", "object_types": ["node", "way", "area"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-unclassified.svg?sanitize=true"},
|
||||
{"key": "highway", "value": "raceway", "description": "🄿 Racetrack (Motorsport)", "object_types": ["node", "way", "area"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-flag-checkered.svg?sanitize=true"},
|
||||
{"key": "highway", "value": "residential", "description": "🄿 Residential Road", "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-residential.svg?sanitize=true"},
|
||||
{"key": "highway", "value": "rest_area", "description": "🄿 Rest Area", "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/car-15.svg?sanitize=true"},
|
||||
{"key": "highway", "value": "road", "description": "🄿 Unknown Road", "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/other-line.svg?sanitize=true"},
|
||||
@@ -1824,8 +1824,6 @@
|
||||
{"key": "highway", "value": "no", "description": "🄳"},
|
||||
{"key": "highway", "value": "platform", "description": "🄳 ➜ bus=yes + public_transport=platform"},
|
||||
{"key": "highway", "value": "stile", "description": "🄳 ➜ barrier=stile"},
|
||||
{"key": "highway", "value": "incline", "description": "🄳 ➜ highway=road + incline=up"},
|
||||
{"key": "highway", "value": "incline_steep", "description": "🄳 ➜ highway=road + incline=up"},
|
||||
{"key": "highway", "value": "unsurfaced", "description": "🄳 ➜ highway=road + surface=unpaved"},
|
||||
{"key": "internet_access", "value": "public", "description": "🄳 ➜ internet_access=yes + internet_access:fee=no"},
|
||||
{"key": "internet_access", "value": "wifi", "description": "🄳 ➜ internet_access=wlan"},
|
||||
@@ -1845,6 +1843,7 @@
|
||||
{"key": "leisure", "value": "club", "description": "🄳 ➜ club=*"},
|
||||
{"key": "leisure", "value": "social_club", "description": "🄳 ➜ club=*"},
|
||||
{"key": "leisure", "value": "video_arcade", "description": "🄳 ➜ leisure=amusement_arcade"},
|
||||
{"key": "leisure", "value": "recreation_ground", "description": "🄳 ➜ landuse=recreation_ground"},
|
||||
{"key": "man_made", "value": "cut_line", "description": "🄳 ➜ man_made=cutline"},
|
||||
{"key": "man_made", "value": "jetty", "description": "🄳 ➜ highway=footway + man_made=pier"},
|
||||
{"key": "man_made", "value": "mdf", "description": "🄳 ➜ telecom=exchange"},
|
||||
|
||||
@@ -49,7 +49,9 @@ const blacklist = {
|
||||
'OSM_Inspector-Multipolygon': true,
|
||||
'OSM_Inspector-Places': true,
|
||||
'OSM_Inspector-Routing': true,
|
||||
'OSM_Inspector-Tagging': true
|
||||
'OSM_Inspector-Tagging': true,
|
||||
|
||||
'EOXAT2018CLOUDLESS': true
|
||||
};
|
||||
|
||||
const supportedWMSProjections = [
|
||||
|
||||
Vendored
+1
-1
@@ -5043,7 +5043,7 @@
|
||||
},
|
||||
"amenity/shelter/public_transport": {
|
||||
"name": "Transit Shelter",
|
||||
"terms": "bus stop,metro stop,waiting"
|
||||
"terms": "bus stop,metro stop,public transit shelter,public transport shelter,tram stop shelter,waiting"
|
||||
},
|
||||
"amenity/shower": {
|
||||
"name": "Shower",
|
||||
|
||||
+6
-1
@@ -108,10 +108,15 @@ export var osmRightSideIsInsideTags = {
|
||||
};
|
||||
|
||||
// "highway" tag values for pedestrian or vehicle right-of-ways that make up the routable network
|
||||
// (does not include `raceway`)
|
||||
export var osmRoutableHighwayTagValues = {
|
||||
motorway: true, trunk: true, primary: true, secondary: true, tertiary: true, residential: true,
|
||||
motorway_link: true, trunk_link: true, primary_link: true, secondary_link: true, tertiary_link: true,
|
||||
unclassified: true, road: true, service: true, track: true, living_street: true, raceway: true, bus_guideway: true,
|
||||
unclassified: true, road: true, service: true, track: true, living_street: true, bus_guideway: true,
|
||||
path: true, footway: true, cycleway: true, bridleway: true, pedestrian: true, corridor: true, steps: true
|
||||
};
|
||||
// "highway" tag values that generally do not allow motor vehicles
|
||||
export var osmPathHighwayTagValues = {
|
||||
path: true, footway: true, cycleway: true, bridleway: true, pedestrian: true, corridor: true, steps: true
|
||||
};
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ export function presetCollection(collection) {
|
||||
search: function(value, geometry, countryCode) {
|
||||
if (!value) return this;
|
||||
|
||||
value = value.toLowerCase();
|
||||
value = value.toLowerCase().trim();
|
||||
|
||||
// match at name beginning or just after a space (e.g. "office" -> match "Law Office")
|
||||
function leading(a) {
|
||||
|
||||
@@ -91,7 +91,7 @@ function loadNextTilePage(which, currZoom, url, tile) {
|
||||
if (!response.ok) {
|
||||
throw new Error(response.status + ' ' + response.statusText);
|
||||
}
|
||||
var linkHeader = response.headers.Link;
|
||||
var linkHeader = response.headers.get('Link');
|
||||
if (linkHeader) {
|
||||
var pagination = parsePagination(linkHeader);
|
||||
if (pagination.next) {
|
||||
|
||||
@@ -2,12 +2,42 @@ import { actionMergeNodes } from '../actions/merge_nodes';
|
||||
import { utilDisplayLabel } from '../util';
|
||||
import { t } from '../util/locale';
|
||||
import { validationIssue, validationIssueFix } from '../core/validation';
|
||||
import { osmPathHighwayTagValues } from '../osm/tags';
|
||||
import { geoSphericalDistance } from '../geo/geo';
|
||||
|
||||
|
||||
export function validationCloseNodes() {
|
||||
var type = 'close_nodes';
|
||||
var thresholdMeters = 0.2;
|
||||
|
||||
// expect some features to be mapped with higher levels of detail
|
||||
var indoorThresholdMeters = 0.01;
|
||||
var buildingThresholdMeters = 0.05;
|
||||
var pathThresholdMeters = 0.1;
|
||||
var defaultThresholdMeters = 0.2;
|
||||
|
||||
function featureTypeForWay(way, graph) {
|
||||
|
||||
if (osmPathHighwayTagValues[way.tags.highway]) return 'path';
|
||||
|
||||
if (way.tags.indoor && way.tags.indoor !== 'no') return 'indoor';
|
||||
if ((way.tags.building && way.tags.building !== 'no') ||
|
||||
(way.tags['building:part'] && way.tags['building:part'] !== 'no')) return 'building';
|
||||
if (way.tags.boundary && way.tags.boundary !== 'no') return 'boundary';
|
||||
|
||||
var parentRelations = graph.parentRelations(way);
|
||||
for (var i in parentRelations) {
|
||||
var relation = parentRelations[i];
|
||||
if (relation.isMultipolygon()) {
|
||||
if (relation.tags.indoor && relation.tags.indoor !== 'no') return 'indoor';
|
||||
if ((relation.tags.building && relation.tags.building !== 'no') ||
|
||||
(relation.tags['building:part'] && relation.tags['building:part'] !== 'no')) return 'building';
|
||||
} else {
|
||||
if (relation.tags.type === 'boundary') return 'boundary';
|
||||
}
|
||||
}
|
||||
|
||||
return 'other';
|
||||
}
|
||||
|
||||
function shouldCheckWay(way, context) {
|
||||
|
||||
@@ -15,16 +45,8 @@ export function validationCloseNodes() {
|
||||
if (way.nodes.length <= 2 ||
|
||||
(way.isClosed() && way.nodes.length <= 4)) return false;
|
||||
|
||||
// expect that indoor features may be mapped in very fine detail
|
||||
if (way.tags.indoor) return false;
|
||||
|
||||
var parentRelations = context.graph().parentRelations(way);
|
||||
|
||||
// don't flag close nodes in boundaries since it's unlikely the user can accurately resolve them
|
||||
if (way.tags.boundary) return false;
|
||||
if (parentRelations.length && parentRelations.some(function(parentRelation) {
|
||||
return parentRelation.tags.type === 'boundary';
|
||||
})) return false;
|
||||
var featureType = featureTypeForWay(way, context.graph());
|
||||
if (featureType === 'boundary') return false;
|
||||
|
||||
var bbox = way.extent(context.graph()).bbox();
|
||||
var hypotenuseMeters = geoSphericalDistance([bbox.minX, bbox.minY], [bbox.maxX, bbox.maxY]);
|
||||
@@ -88,10 +110,17 @@ export function validationCloseNodes() {
|
||||
return null;
|
||||
}
|
||||
|
||||
var nodesAreVeryClose = node1.loc === node2.loc ||
|
||||
geoSphericalDistance(node1.loc, node2.loc) < thresholdMeters;
|
||||
if (node1.loc !== node2.loc) {
|
||||
|
||||
if (!nodesAreVeryClose) return null;
|
||||
var featureType = featureTypeForWay(way, context.graph());
|
||||
var threshold = defaultThresholdMeters;
|
||||
if (featureType === 'indoor') threshold = indoorThresholdMeters;
|
||||
else if (featureType === 'building') threshold = buildingThresholdMeters;
|
||||
else if (featureType === 'path') threshold = pathThresholdMeters;
|
||||
|
||||
var distance = geoSphericalDistance(node1.loc, node2.loc);
|
||||
if (distance > threshold) return null;
|
||||
}
|
||||
|
||||
return new validationIssue({
|
||||
type: type,
|
||||
|
||||
@@ -3,7 +3,7 @@ import { actionChangeTags } from '../actions/change_tags';
|
||||
import { actionMergeNodes } from '../actions/merge_nodes';
|
||||
import { geoExtent, geoLineIntersection, geoSphericalClosestNode } from '../geo';
|
||||
import { osmNode } from '../osm/node';
|
||||
import { osmFlowingWaterwayTagValues, osmRailwayTrackTagValues, osmRoutableHighwayTagValues } from '../osm/tags';
|
||||
import { osmFlowingWaterwayTagValues, osmPathHighwayTagValues, osmRailwayTrackTagValues, osmRoutableHighwayTagValues } from '../osm/tags';
|
||||
import { t } from '../util/locale';
|
||||
import { utilDisplayLabel } from '../util';
|
||||
import { validationIssue, validationIssueFix } from '../core/validation';
|
||||
@@ -146,10 +146,6 @@ export function validationCrossingWays() {
|
||||
motorway: true, motorway_link: true, trunk: true, trunk_link: true,
|
||||
primary: true, primary_link: true, secondary: true, secondary_link: true
|
||||
};
|
||||
var pathHighways = {
|
||||
path: true, footway: true, cycleway: true, bridleway: true,
|
||||
pedestrian: true, steps: true, corridor: true
|
||||
};
|
||||
var nonCrossingHighways = { track: true };
|
||||
|
||||
function tagsForConnectionNodeIfAllowed(entity1, entity2) {
|
||||
@@ -157,8 +153,8 @@ export function validationCrossingWays() {
|
||||
var featureType2 = getFeatureTypeForTags(entity2.tags);
|
||||
if (featureType1 === featureType2) {
|
||||
if (featureType1 === 'highway') {
|
||||
var entity1IsPath = pathHighways[entity1.tags.highway];
|
||||
var entity2IsPath = pathHighways[entity2.tags.highway];
|
||||
var entity1IsPath = osmPathHighwayTagValues[entity1.tags.highway];
|
||||
var entity2IsPath = osmPathHighwayTagValues[entity2.tags.highway];
|
||||
if ((entity1IsPath || entity2IsPath) && entity1IsPath !== entity2IsPath) {
|
||||
// one feature is a path but not both
|
||||
|
||||
@@ -184,8 +180,8 @@ export function validationCrossingWays() {
|
||||
var featureTypes = [featureType1, featureType2];
|
||||
if (featureTypes.indexOf('highway') !== -1) {
|
||||
if (featureTypes.indexOf('railway') !== -1) {
|
||||
if (pathHighways[entity1.tags.highway] ||
|
||||
pathHighways[entity2.tags.highway]) {
|
||||
if (osmPathHighwayTagValues[entity1.tags.highway] ||
|
||||
osmPathHighwayTagValues[entity2.tags.highway]) {
|
||||
// path-rail connections use this tag
|
||||
return { railway: 'crossing' };
|
||||
} else {
|
||||
|
||||
@@ -15,7 +15,7 @@ export function validationOutdatedTags() {
|
||||
// initialize name-suggestion-index matcher
|
||||
var nsiMatcher = matcher();
|
||||
nsiMatcher.buildMatchIndex(brands.brands);
|
||||
var nsiKeys = ['amenity', 'shop', 'tourism', 'leisure'];
|
||||
var nsiKeys = ['amenity', 'shop', 'tourism', 'leisure', 'office'];
|
||||
|
||||
|
||||
function oldTagIssues(entity, context) {
|
||||
@@ -68,7 +68,7 @@ export function validationOutdatedTags() {
|
||||
if (match.d) continue;
|
||||
|
||||
var brand = brands.brands[match.kvnd];
|
||||
if (brand) {
|
||||
if (brand && brand.tags['brand:wikidata']) {
|
||||
Object.assign(newTags, brand.tags);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
<svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="flag-checkered" class="svg-inline--fa fa-flag-checkered fa-w-16" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M243.2 189.9V258c26.1 5.9 49.3 15.6 73.6 22.3v-68.2c-26-5.8-49.4-15.5-73.6-22.2zm223.3-123c-34.3 15.9-76.5 31.9-117 31.9C296 98.8 251.7 64 184.3 64c-25 0-47.3 4.4-68 12 2.8-7.3 4.1-15.2 3.6-23.6C118.1 24 94.8 1.2 66.3 0 34.3-1.3 8 24.3 8 56c0 19 9.5 35.8 24 45.9V488c0 13.3 10.7 24 24 24h16c13.3 0 24-10.7 24-24v-94.4c28.3-12.1 63.6-22.1 114.4-22.1 53.6 0 97.8 34.8 165.2 34.8 48.2 0 86.7-16.3 122.5-40.9 8.7-6 13.8-15.8 13.8-26.4V95.9c.1-23.3-24.2-38.8-45.4-29zM169.6 325.5c-25.8 2.7-50 8.2-73.6 16.6v-70.5c26.2-9.3 47.5-15 73.6-17.4zM464 191c-23.6 9.8-46.3 19.5-73.6 23.9V286c24.8-3.4 51.4-11.8 73.6-26v70.5c-25.1 16.1-48.5 24.7-73.6 27.1V286c-27 3.7-47.9 1.5-73.6-5.6v67.4c-23.9-7.4-47.3-16.7-73.6-21.3V258c-19.7-4.4-40.8-6.8-73.6-3.8v-70c-22.4 3.1-44.6 10.2-73.6 20.9v-70.5c33.2-12.2 50.1-19.8 73.6-22v71.6c27-3.7 48.4-1.3 73.6 5.7v-67.4c23.7 7.4 47.2 16.7 73.6 21.3v68.4c23.7 5.3 47.6 6.9 73.6 2.7V143c27-4.8 52.3-13.6 73.6-22.5z"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -54,7 +54,7 @@ describe('iD.serviceMapillary', function() {
|
||||
});
|
||||
|
||||
describe('#loadImages', function() {
|
||||
it('fires loadedImages when images are loaded', function(done) {
|
||||
it.skip('fires loadedImages when images are loaded', function(done) {
|
||||
mapillary.on('loadedImages', function() {
|
||||
expect(server.requests().length).to.eql(2); // 1 images, 1 sequences
|
||||
done();
|
||||
@@ -100,7 +100,6 @@ describe('iD.serviceMapillary', function() {
|
||||
});
|
||||
|
||||
it('loads multiple pages of image results', function(done) {
|
||||
this.timeout(10000);
|
||||
var calls = 0;
|
||||
mapillary.on('loadedImages', function() {
|
||||
server.respond(); // respond to new fetches
|
||||
@@ -194,7 +193,6 @@ describe('iD.serviceMapillary', function() {
|
||||
});
|
||||
|
||||
it('loads multiple pages of signs results', function(done) {
|
||||
this.timeout(10000);
|
||||
var calls = 0;
|
||||
mapillary.on('loadedSigns', function() {
|
||||
server.respond(); // respond to new fetches
|
||||
|
||||
@@ -22,6 +22,7 @@ iD.data.presets = {
|
||||
|
||||
|
||||
mocha.setup({
|
||||
timeout: 60000, // 1 minute
|
||||
ui: 'bdd',
|
||||
globals: [
|
||||
'__onresize.tail-size',
|
||||
|
||||
Reference in New Issue
Block a user