diff --git a/CHANGELOG.md b/CHANGELOG.md index ad6c2d608..fcf63d129 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2954,7 +2954,7 @@ _Map traffic signals, stop signs, benches, crossings, street lamps, fountains, t * Trim tag keys, and prevent duplicate tag keys (#2043) * Fix inline tag help for fields that handle multiple tags * Add 'width', 'length', 'lit' for appropriate presets (cycleways, sidewalks, sports pitch, etc) -* Render embarkment/cutting with dashed casing +* Render embankment/cutting with dashed casing * Rendering fixes for buildings, tunnels * Add population field for various place presets * Improvements to circularize action (#2194) diff --git a/css/50_misc.css b/css/50_misc.css index be90c5e73..a2abc74aa 100644 --- a/css/50_misc.css +++ b/css/50_misc.css @@ -1,10 +1,12 @@ -/* power */ +/* power and pipeline */ .preset-icon .icon.tag-man_made-pipeline, .preset-icon .icon.tag-power { color: #939393; fill: #939393; } +/* power */ + path.stroke.tag-power { stroke: #939393; stroke-width: 2; @@ -13,6 +15,21 @@ path.casing.tag-power { stroke: none; } +/* pipeline */ + +path.stroke.tag-man_made-pipeline { + stroke: #CBD0D8; + stroke-linecap: butt; + stroke-width: 3; + stroke-dasharray: 80, 1.25; +} +path.casing.tag-man_made-pipeline { + stroke: #666; + stroke-width: 4.5; +} +.low-zoom path.stroke.tag-man_made-pipeline { + stroke-dasharray: 40, 1; +} /* boundaries */ path.stroke.tag-boundary { @@ -145,10 +162,12 @@ path.casing.tag-highway-bridleway.tag-bridge { /* tunnels */ -path.stroke.tag-tunnel { +path.stroke.tag-tunnel, +path.line.stroke.tag-location-underground { stroke-opacity: 0.3; } -path.casing.tag-tunnel { +path.casing.tag-tunnel, +path.line.casing.tag-location-underground { stroke-opacity: 0.5; stroke-linecap: butt; stroke-dasharray: none; @@ -325,4 +344,3 @@ path.stroke.tag-crossing.tag-crossing-zebra { .low-zoom path.stroke.tag-crossing.tag-crossing-zebra { stroke-dasharray: 3, 2; } - diff --git a/css/80_app.css b/css/80_app.css index 6b3047bcd..427022792 100644 --- a/css/80_app.css +++ b/css/80_app.css @@ -902,6 +902,18 @@ a.hide-toggle { border-radius: 0; } +.geocode-item { + width: 50%; + background-color: #ccc; + left: 25%; + margin-top: 30px; + border-radius: 2px; +} + +.geocode-item:hover { + background-color: #aaa; +} + .feature-list-item { background-color: #fff; font-weight: bold; diff --git a/data/core.yaml b/data/core.yaml index 5472f81d1..ff8df3ff6 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -1,5 +1,6 @@ en: icons: + download: download information: info remove: remove undo: undo diff --git a/data/intro_graph.json b/data/intro_graph.json index 51fce20fa..1a6132042 100644 --- a/data/intro_graph.json +++ b/data/intro_graph.json @@ -209,7 +209,7 @@ "id": "n1026", "loc": [-85.634762, 41.946056], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -221,7 +221,7 @@ "id": "n1028", "loc": [-85.634622, 41.946175], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -6503,7 +6503,7 @@ "id": "n2411", "loc": [-85.63456, 41.945731], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -8823,7 +8823,7 @@ "id": "n293", "loc": [-85.635816, 41.942673], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -9484,7 +9484,7 @@ "id": "n308", "loc": [-85.63577, 41.940183], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -11846,7 +11846,7 @@ "id": "n363", "loc": [-85.632915, 41.943981], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -11894,7 +11894,7 @@ "id": "n364", "loc": [-85.632724, 41.943969], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -11986,7 +11986,7 @@ "id": "n366", "loc": [-85.632684, 41.944109], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -12078,7 +12078,7 @@ "id": "n368", "loc": [-85.63287, 41.944135], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -15592,7 +15592,7 @@ "id": "n4463", "loc": [-85.620103, 41.950884], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -16955,7 +16955,7 @@ "id": "n4686", "loc": [-85.635883, 41.94012], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -16967,7 +16967,7 @@ "id": "n4688", "loc": [-85.635768, 41.940051], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -16983,7 +16983,7 @@ "id": "n4690", "loc": [-85.635661, 41.940107], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -19230,7 +19230,7 @@ "id": "n602", "loc": [-85.637038, 41.942543], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -19762,7 +19762,7 @@ "id": "n720", "loc": [-85.634363, 41.945548], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -19790,7 +19790,7 @@ "id": "n726", "loc": [-85.633568, 41.944829], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -19814,7 +19814,7 @@ "id": "n730", "loc": [-85.634344, 41.945699], "tags": { - "crossing": "zebra", + "crossing": "marked", "highway": "crossing" } }, @@ -21430,7 +21430,7 @@ "id": "w129", "nodes": ["n309", "n602", "n603"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -21694,7 +21694,7 @@ "id": "w159", "nodes": ["n714", "n720", "n721"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -21718,7 +21718,7 @@ "id": "w161", "nodes": ["n713", "n726", "n722"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -21727,7 +21727,7 @@ "id": "w162", "nodes": ["n727", "n2411", "n728"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -21736,7 +21736,7 @@ "id": "w163", "nodes": ["n729", "n730", "n731"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -22211,7 +22211,7 @@ "id": "w219", "nodes": ["n719", "n1026", "n1027"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -22227,7 +22227,7 @@ "id": "w220", "nodes": ["n1027", "n1028", "n1019"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -26143,7 +26143,7 @@ "id": "w58", "nodes": ["n240", "n293", "n294"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -26329,7 +26329,7 @@ "id": "w60", "nodes": ["n239", "n308", "n307"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28338,7 +28338,7 @@ "id": "w770", "nodes": ["n4462", "n4463", "n4464"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28505,7 +28505,7 @@ "id": "w79", "nodes": ["n362", "n363", "n334"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28601,7 +28601,7 @@ "id": "w80", "nodes": ["n334", "n364", "n365"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28685,7 +28685,7 @@ "id": "w81", "nodes": ["n365", "n366", "n367"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28738,7 +28738,7 @@ "id": "w816", "nodes": ["n239", "n4686", "n4687"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28747,7 +28747,7 @@ "id": "w817", "nodes": ["n4687", "n4688", "n4689"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28756,7 +28756,7 @@ "id": "w818", "nodes": ["n4689", "n4690", "n307"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } @@ -28772,7 +28772,7 @@ "id": "w82", "nodes": ["n724", "n368", "n369"], "tags": { - "crossing": "zebra", + "crossing": "marked", "footway": "crossing", "highway": "footway" } diff --git a/data/presets.yaml b/data/presets.yaml index f9649c76e..bcade88e0 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -25,6 +25,8 @@ en: name: Road Features category-route: name: Route Features + category-utility: + name: Utility Features category-water-area: name: Water Features category-water-line: @@ -266,6 +268,9 @@ en: label: Type # bridge field placeholder placeholder: Default + bridge/support: + # 'bridge:support=*' + label: Type building: # building=* label: Building @@ -318,6 +323,9 @@ en: collection_times: # collection_times=* label: Collection Times + colour: + # colour=* + label: Color comment: # comment=* label: Changeset Comment @@ -337,6 +345,16 @@ en: content: # content=* label: Content + conveying: + # conveying=* + label: Movement Direction + options: + # conveying=backward + backward: Backward + # conveying=forward + forward: Forward + # conveying=reversible + reversible: Reversible country: # country=* label: Country @@ -431,6 +449,9 @@ en: description: # description=* label: Description + design: + # design=* + label: Design devices: # devices=* label: Devices @@ -1133,6 +1154,26 @@ en: # phone field placeholder placeholder: +31 42 123 4567 piste/difficulty: + # 'piste:difficulty=*' + label: Difficulty + options: + # 'piste:difficulty=advanced' + advanced: Advanced + # 'piste:difficulty=easy' + easy: Easy + # 'piste:difficulty=expert' + expert: Expert + # 'piste:difficulty=extreme' + extreme: Extreme + # 'piste:difficulty=freeride' + freeride: Freeride + # 'piste:difficulty=intermediate' + intermediate: Intermediate + # 'piste:difficulty=novice' + novice: Novice + # piste/difficulty field placeholder + placeholder: 'Easy, Intermediate, Advanced...' + piste/difficulty_downhill: # 'piste:difficulty=*' label: Difficulty options: @@ -1150,7 +1191,43 @@ en: intermediate: Intermediate (blue square) # 'piste:difficulty=novice' novice: Novice (instructional) - # piste/difficulty field placeholder + # piste/difficulty_downhill field placeholder + placeholder: 'Easy, Intermediate, Advanced...' + piste/difficulty_nordic: + # 'piste:difficulty=*' + label: Difficulty + options: + # 'piste:difficulty=advanced' + advanced: 'Advanced - Narrow, steep or icy section, sharp turn' + # 'piste:difficulty=easy' + easy: 'Easy - Soft hills, short steep section' + # 'piste:difficulty=expert' + expert: Expert - Dangerous terrain around + # 'piste:difficulty=intermediate' + intermediate: Intermediate - Steep section + # 'piste:difficulty=novice' + novice: 'Novice - Flat, no effort needed' + # piste/difficulty_nordic field placeholder + placeholder: 'Easy, Intermediate, Advanced...' + piste/difficulty_skitour: + # 'piste:difficulty=*' + label: Difficulty + options: + # 'piste:difficulty=advanced' + advanced: 'Advanced - S: 40-45° incline' + # 'piste:difficulty=easy' + easy: 'Easy - WS: 30-35° incline' + # 'piste:difficulty=expert' + expert: 'Expert - SS: 45–50° incline' + # 'piste:difficulty=extreme' + extreme: 'Extreme - EX: >55° incline' + # 'piste:difficulty=freeride' + freeride: 'Freeride - AS: 50–55° incline' + # 'piste:difficulty=intermediate' + intermediate: 'Intermediate - ZS: 35-40° incline' + # 'piste:difficulty=novice' + novice: 'Novice - L: <30° incline' + # piste/difficulty_skitour field placeholder placeholder: 'Easy, Intermediate, Advanced...' piste/grooming: # 'piste:grooming=*' @@ -1168,6 +1245,38 @@ en: scooter: Scooter/Snowmobile # 'piste:grooming=skating' skating: Skating + piste/grooming_downhill: + # 'piste:grooming=*' + label: Grooming + options: + # 'piste:grooming=backcountry' + backcountry: Backcountry - no grooming + # 'piste:grooming=classic' + classic: Classic + # 'piste:grooming=mogul' + mogul: Mogul + piste/grooming_hike: + # 'piste:grooming=*' + label: Grooming + options: + # 'piste:grooming=backcountry' + backcountry: Backcountry - Snowshoeing + # 'piste:grooming=classic' + classic: Classic - Winter Hiking + piste/grooming_nordic: + # 'piste:grooming=*' + label: Grooming + options: + # 'piste:grooming=backcountry' + backcountry: 'Backcountry, no grooming' + # 'piste:grooming=classic' + classic: Classic + # 'piste:grooming=classic+skating' + classic+skating: Classic and Skating + # 'piste:grooming=scooter' + scooter: Scooter/Snowmobile + # 'piste:grooming=skating' + skating: Skating piste/type: # 'piste:type=*' label: Type @@ -1251,6 +1360,16 @@ en: recycling_accepts: # 'recycling:=*' label: Accepts + recycling_type: + # recycling_type=* + label: Type + options: + # recycling_type=centre + centre: Center + # recycling_type=container + container: Container + # recycling_type field placeholder + placeholder: 'Container, Center' ref: # ref=* label: Reference Code @@ -1352,7 +1471,7 @@ en: waterway_right: Waterway Right seamark/beacon_lateral/colour: # 'seamark:beacon_lateral:colour=*' - label: Colour + label: Color options: # 'seamark:beacon_lateral:colour=green' green: Green @@ -1401,7 +1520,7 @@ en: waterway_right: Waterway Right seamark/buoy_lateral/colour: # 'seamark:buoy_lateral:colour=*' - label: Colour + label: Color options: # 'seamark:buoy_lateral:colour=green' green: Green @@ -1446,6 +1565,11 @@ en: seasonal: # seasonal=* label: Seasonal + seats: + # seats=* + label: Seats + # seats field placeholder + placeholder: '2, 4, 6...' second_hand: # second_hand=* label: Sells Used @@ -1730,6 +1854,19 @@ en: traffic_calming: # traffic_calming=* label: Type + traffic_sign: + # traffic_sign=* + label: Traffic Sign + traffic_sign/direction: + # 'traffic_sign:direction=*' + label: Direction + options: + # 'traffic_sign:direction=backward' + backward: Backward + # 'traffic_sign:direction=both' + both: Both / All + # 'traffic_sign:direction=forward' + forward: Forward traffic_signals: # traffic_signals=* label: Type @@ -2312,6 +2449,11 @@ en: # amenity=parking name: Car Parking terms: '' + amenity/parking/multi-storey: + # 'amenity=parking, parking=multi-storey' + name: Multilevel Car Parking + # 'terms: multistorey car park,parking garage,parkade,parking structure,parking ramp,parking deck,parking building,indoor parking' + terms: '' amenity/parking_entrance: # amenity=parking_entrance name: Parking Garage Entrance/Exit @@ -2417,14 +2559,17 @@ en: terms: '' amenity/recycling: # amenity=recycling - name: Recycling Container - # 'terms: bin,can,bottle,glass,garbage,rubbish,scrap,trash' - terms: '' + name: Recycling amenity/recycling_centre: # 'amenity=recycling, recycling_type=centre' name: Recycling Center # 'terms: bottle,can,dump,glass,garbage,rubbish,scrap,trash' terms: '' + amenity/recycling_container: + # 'amenity=recycling, recycling_type=container' + name: Recycling Container + # 'terms: bin,can,bottle,glass,garbage,rubbish,scrap,trash' + terms: '' amenity/register_office: # amenity=register_office name: Register Office @@ -2459,6 +2604,16 @@ en: # 'amenity=shelter, shelter_type=lean_to' name: Lean-To terms: '' + amenity/shelter/picnic_shelter: + # 'amenity=shelter, shelter_type=picnic_shelter' + name: Picnic Shelter + # 'terms: pavilion' + terms: '' + amenity/shelter/public_transport: + # 'amenity=shelter, shelter_type=public_transport' + name: Transit Shelter + # 'terms: bus stop,metro stop,waiting' + terms: '' amenity/shower: # amenity=shower name: Shower @@ -2514,6 +2669,11 @@ en: name: Theater # 'terms: theatre,performance,play,musical' terms: '' + amenity/theatre/type/amphi: + # 'amenity=theatre, theatre:type=amphi' + name: Amphitheatre + # 'terms: open air,outdoor,greek,ampi' + terms: '' amenity/toilets: # amenity=toilets name: Toilets @@ -2786,8 +2946,13 @@ en: terms: '' barrier/kerb: # barrier=kerb - name: Kerb - terms: '' + name: Curb + terms: '' + barrier/kerb/lowered: + # 'barrier=kerb, kerb=lowered' + name: Lowered Curb + # 'terms: curb cut,curb ramp,kerb ramp,dropped kerb,pram ramp' + terms: '' barrier/kissing_gate: # barrier=kissing_gate name: Kissing Gate @@ -2816,6 +2981,14 @@ en: # boundary=administrative name: Administrative Boundary terms: '' + bridge/support: + # 'bridge:support=*' + name: Bridge Support + terms: '' + bridge/support/pier: + # 'bridge:support=pier' + name: Bridge Pier + terms: '' building: # building=* name: Building @@ -2844,6 +3017,11 @@ en: # building=cabin name: Cabin terms: '' + building/carport: + # building=carport + name: Carport + # 'terms: covered parking space,garage,car,porch' + terms: '' building/cathedral: # building=cathedral name: Cathedral Building @@ -3321,29 +3499,6 @@ en: name: Entrance/Exit # 'terms: entrance,exit,door' terms: '' - footway/crossing: - # 'highway=footway, footway=crossing' - name: Street Crossing - terms: '' - footway/crossing-raised: - # 'highway=footway, footway=crossing, traffic_calming=table' - name: Raised Street Crossing - # 'terms: flat top,hump,speed,slow' - terms: '' - footway/crosswalk: - # 'highway=footway, footway=crossing, crossing=zebra' - name: Pedestrian Crosswalk - # 'terms: zebra crossing' - terms: '' - footway/crosswalk-raised: - # 'highway=footway, footway=crossing, crossing=zebra, traffic_calming=table' - name: Raised Pedestrian Crosswalk - # 'terms: zebra crossing,flat top,hump,speed,slow' - terms: '' - footway/sidewalk: - # 'highway=footway, footway=sidewalk' - name: Sidewalk - terms: '' ford: # ford=yes name: Ford @@ -3490,25 +3645,31 @@ en: name: Indoor Corridor # 'terms: gallery,hall,hallway,indoor,passage,passageway' terms: '' - highway/crossing: + highway/crossing/marked: + # 'highway=crossing, crossing=marked' + name: Marked Crosswalk + # 'terms: zebra crossing,marked crossing,crosswalk' + terms: '' + highway/crossing/marked-raised: + # 'highway=crossing, crossing=marked, traffic_calming=table' + name: Marked Crosswalk (Raised) + # 'terms: zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow' + terms: '' + highway/crossing/unmarked: # highway=crossing - name: Street Crossing - terms: '' - highway/crossing-raised: + name: Unmarked Crossing + terms: '' + highway/crossing/unmarked-raised: # 'highway=crossing, traffic_calming=table' - name: Raised Street Crossing + name: Unmarked Crossing (Raised) # 'terms: flat top,hump,speed,slow' - terms: '' - highway/crosswalk: + terms: '' + highway/crossing/zebra: # 'highway=crossing, crossing=zebra' - name: Pedestrian Crosswalk - # 'terms: zebra crossing' - terms: '' - highway/crosswalk-raised: + name: Marked Crosswalk + highway/crossing/zebra-raised: # 'highway=crossing, crossing=zebra, traffic_calming=table' - name: Raised Pedestrian Crosswalk - # 'terms: zebra crossing,flat top,hump,speed,slow' - terms: '' + name: Marked Crosswalk (Raised) highway/cycleway: # highway=cycleway name: Cycle Path @@ -3524,6 +3685,41 @@ en: name: Foot Path # 'terms: hike,hiking,trackway,trail,walk' terms: '' + highway/footway/conveying: + # 'highway=footway, conveying=*' + name: Moving Walkway + # 'terms: moving sidewalk,autwalk,skywalk,travolator,travelator,travellator,conveyor' + terms: '' + highway/footway/marked: + # 'highway=footway, footway=crossing, crossing=marked' + name: Marked Crosswalk + # 'terms: zebra crossing,marked crossing,crosswalk' + terms: '' + highway/footway/marked-raised: + # 'highway=footway, footway=crossing, crossing=marked, traffic_calming=table' + name: Marked Crosswalk (Raised) + # 'terms: zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow' + terms: '' + highway/footway/sidewalk: + # 'highway=footway, footway=sidewalk' + name: Sidewalk + # 'terms: pavement,sidepath' + terms: '' + highway/footway/unmarked: + # 'highway=footway, footway=crossing' + name: Unmarked Crossing + terms: '' + highway/footway/unmarked-raised: + # 'highway=footway, footway=crossing, traffic_calming=table' + name: Unmarked Crossing (Raised) + # 'terms: flat top,hump,speed,slow' + terms: '' + highway/footway/zebra: + # 'highway=footway, footway=crossing, crossing=zebra' + name: Marked Crosswalk + highway/footway/zebra-raised: + # 'highway=footway, footway=crossing, crossing=zebra, traffic_calming=table' + name: Marked Crosswalk (Raised) highway/give_way: # highway=give_way name: Yield Sign @@ -3656,6 +3852,11 @@ en: name: Steps # 'terms: stairs,staircase' terms: '' + highway/steps/conveying: + # 'highway=steps, conveying=*' + name: Escalator + # 'terms: moving staircase,moving stairway,people mover' + terms: '' highway/stop: # highway=stop name: Stop Sign @@ -4172,8 +4373,8 @@ en: terms: '' leisure/pitch/baseball: # 'leisure=pitch, sport=baseball' - name: Baseball Diamond - terms: '' + name: Baseball Field + terms: '' leisure/pitch/basketball: # 'leisure=pitch, sport=basketball' name: Basketball Court @@ -4218,6 +4419,11 @@ en: name: Soccer Field # 'terms: football' terms: '' + leisure/pitch/softball: + # 'leisure=pitch, sport=softball' + name: Softball Field + # 'terms: softball,diamond' + terms: '' leisure/pitch/table_tennis: # 'leisure=pitch, sport=table_tennis' name: Ping Pong Table @@ -4382,6 +4588,7 @@ en: man_made/pipeline: # man_made=pipeline name: Pipeline + # 'terms: oil,natural gas,water,sewer,sewage' terms: '' man_made/pumping_station: # man_made=pumping_station @@ -4563,8 +4770,8 @@ en: terms: '' natural/tree_row: # natural=tree_row - name: Tree row - terms: '' + name: Tree Row + terms: '' natural/volcano: # natural=volcano name: Volcano @@ -4779,11 +4986,46 @@ en: name: Water Utility Office # 'terms: water board,utility' terms: '' - piste: + piste/downhill: + # 'piste:type=downhill' + name: Downhill Piste/Ski Run + # 'terms: ski,alpine,snowboard,downhill,piste' + terms: '' + piste/hike: + # 'piste:type=hike' + name: Snowshoeing or Winter Hiking Trail + # 'terms: hike,winter hiking,snowshoe,snowshoeing,piste,ski' + terms: '' + piste/ice_skate: + # 'piste:type=ice_skate' + name: Ice Skating Piste + # 'terms: ice,skating,ski,piste' + terms: '' + piste/nordic: + # 'piste:type=nordic' + name: Nordic or Crosscountry Piste/Ski Trail + # 'terms: ski,nordic,crosscountry,skating,piste' + terms: '' + piste/piste: # 'piste:type=*' - name: Piste/Ski Trail - # 'terms: ski,sled,sleigh,snowboard,nordic,downhill,snowmobile' - terms: '' + name: Winter Sport Trails + # 'terms: ski,nordic,crosscountry,downhill,alpine,snowboard,skitour,ski touring,sled,luge,sleigh,sledge,ski-joring,husky,horse,winter hiking,snowshoe,snowshoeing,ice,skating' + terms: '' + piste/skitour: + # 'piste:type=skitour' + name: Ski Touring Trail + # 'terms: ski,skitour,crosscountry,ski touring,piste' + terms: '' + piste/sled: + # 'piste:type=sled' + name: Sled Piste + # 'terms: ski,sled,luge,sleigh,sledge,piste' + terms: '' + piste/sleigh: + # 'piste:type=sleigh' + name: Sleigh Piste + # 'terms: ski,piste,sled,luge,sleigh,sledge,ski-joring,husky,horse' + terms: '' place: # place=* name: Place @@ -4914,17 +5156,26 @@ en: power: # power=* name: Power + power/cable/underground: + # 'power=cable, location=underground' + name: Underground Power Cable + terms: '' power/generator: # power=generator name: Power Generator # 'terms: hydro,solar,turbine,wind' terms: '' - power/generator/source_nuclear: + power/generator/method/photovoltaic: + # 'power=generator, generator:source=solar, generator:method=photovoltaic, generator:type=solar_photovoltaic_panel' + name: Solar Panel + # 'terms: photovoltaic module,PV module,sunlight' + terms: '' + power/generator/source/nuclear: # 'power=generator, generator:source=nuclear, generator:method=fission' name: Nuclear Reactor # 'terms: fission,generator,nuclear,nuke,reactor' terms: '' - power/generator/source_wind: + power/generator/source/wind: # 'power=generator, generator:source=wind, generator:method=wind_turbine' name: Wind Turbine # 'terms: generator,turbine,windmill,wind' @@ -4960,6 +5211,7 @@ en: power/tower: # power=tower name: High-Voltage Tower + # 'terms: power' terms: '' power/transformer: # power=transformer @@ -6079,6 +6331,36 @@ en: name: Speed Table # 'terms: flat top,hump,speed,slow' terms: '' + traffic_sign: + # traffic_sign=* + name: Traffic Sign + # 'terms: road,highway' + terms: '' + traffic_sign/city_limit: + # traffic_sign=city_limit + name: City Limit Sign + # 'terms: town,village,hamlet,boundary,edge,border,road,highway' + terms: '' + traffic_sign/city_limit_vertex: + # traffic_sign=city_limit + name: City Limit Sign + # 'terms: town,village,hamlet,boundary,edge,border,road,highway' + terms: '' + traffic_sign/maxspeed: + # traffic_sign=maxspeed + name: Speed Limit Sign + # 'terms: max speed,maximum speed,road,highway' + terms: '' + traffic_sign/maxspeed_vertex: + # traffic_sign=maxspeed + name: Speed Limit Sign + # 'terms: max speed,maximum speed,road,highway' + terms: '' + traffic_sign_vertex: + # traffic_sign=* + name: Traffic Sign + # 'terms: road,highway' + terms: '' type/boundary: # type=boundary name: Boundary diff --git a/data/presets/README.md b/data/presets/README.md index 24df5b0e8..d9b4fa0ac 100644 --- a/data/presets/README.md +++ b/data/presets/README.md @@ -210,6 +210,21 @@ the user can not type their own value, they must choose one of the given values. If a combo field does not specify `options` or `strings`, the field will fetch common tag values from the Taginfo service to use as dropdown values. +##### `snake_case` + +For combo fields, spaces are replaced with underscores in the tag value if `snake_case` is `true`. The default is `true`. + +##### `caseSensitive` + +For combo fields, case-sensitve field values are allowed if `caseSensitive` is `true`. The default is `false`. + +##### `min_value` + +For number fields, the lowest valid value. There is no default. + +##### `max_value` + +For number fields, the greatest valid value. There is no default. ## Icons diff --git a/data/presets/categories.json b/data/presets/categories.json index 60653e374..60309de77 100644 --- a/data/presets/categories.json +++ b/data/presets/categories.json @@ -100,8 +100,8 @@ "geometry": "line", "name": "Path Features", "members": [ - "footway/crosswalk", - "footway/sidewalk", + "highway/footway/marked", + "highway/footway/sidewalk", "highway/steps", "highway/path", "highway/footway", @@ -186,6 +186,17 @@ "type/route" ] }, + "category-utility": { + "icon": "iD-category-utility", + "geometry": "line", + "name": "Utility Features", + "members": [ + "power/line", + "power/minor_line", + "man_made/pipeline", + "power/cable/underground" + ] + }, "category-water-area": { "icon": "maki-water", "geometry": "area", diff --git a/data/presets/categories/path.json b/data/presets/categories/path.json index 53756b194..275e726f3 100644 --- a/data/presets/categories/path.json +++ b/data/presets/categories/path.json @@ -3,8 +3,8 @@ "geometry": "line", "name": "Path Features", "members": [ - "footway/crosswalk", - "footway/sidewalk", + "highway/footway/marked", + "highway/footway/sidewalk", "highway/steps", "highway/path", "highway/footway", diff --git a/data/presets/categories/utility.json b/data/presets/categories/utility.json new file mode 100644 index 000000000..63aae92d0 --- /dev/null +++ b/data/presets/categories/utility.json @@ -0,0 +1,11 @@ +{ + "icon": "iD-category-utility", + "geometry": "line", + "name": "Utility Features", + "members": [ + "power/line", + "power/minor_line", + "man_made/pipeline", + "power/cable/underground" + ] +} diff --git a/data/presets/defaults.json b/data/presets/defaults.json index 6feaec2eb..a6db43d57 100644 --- a/data/presets/defaults.json +++ b/data/presets/defaults.json @@ -19,7 +19,7 @@ "category-water-line", "category-barrier", "category-natural-line", - "power/line", + "category-utility", "line" ], "point": [ @@ -36,8 +36,8 @@ "point" ], "vertex": [ - "highway/crosswalk", - "highway/crossing", + "highway/crossing/marked", + "highway/crossing/unmarked", "railway/level_crossing", "highway/traffic_signals", "highway/turning_circle", diff --git a/data/presets/fields.json b/data/presets/fields.json index 4a809e965..2a8bb55a6 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -39,6 +39,7 @@ "brand": {"key": "brand", "type": "text", "label": "Brand"}, "brewery": {"key": "brewery", "type": "semiCombo", "label": "Draft Beers"}, "bridge": {"key": "bridge", "type": "typeCombo", "label": "Type", "placeholder": "Default"}, + "bridge/support": {"key": "bridge:support", "type": "combo", "label": "Type"}, "building_area": {"key": "building", "type": "combo", "default": "yes", "geometry": "area", "label": "Building"}, "building": {"key": "building", "type": "combo", "label": "Building"}, "bunker_type": {"key": "bunker_type", "type": "combo", "label": "Type"}, @@ -52,11 +53,13 @@ "clothes": {"key": "clothes", "type": "semiCombo", "label": "Clothes"}, "club": {"key": "club", "type": "typeCombo", "label": "Type"}, "collection_times": {"key": "collection_times", "type": "text", "label": "Collection Times"}, + "colour": {"key": "colour", "type": "text", "label": "Color"}, "comment": {"key": "comment", "type": "textarea", "label": "Changeset Comment", "placeholder": "Brief description of your contributions (required)"}, "communication_multi": {"key": "communication:", "type": "multiCombo", "label": "Communication Types"}, "construction": {"key": "construction", "type": "combo", "label": "Type"}, "contact/webcam": {"key": "contact:webcam", "type": "url", "icon": "website", "label": "Webcam URL", "placeholder": "http://example.com/"}, "content": {"key": "content", "type": "combo", "label": "Content", "options": ["silage", "water", "oil", "fuel", "slurry", "gas", "manure", "sewage"]}, + "conveying": {"key": "conveying", "type": "typeCombo", "label": "Movement Direction", "strings": {"options": {"forward": "Forward", "backward": "Backward", "reversible": "Reversible"}}}, "country": {"key": "country", "type": "combo", "label": "Country"}, "covered": {"key": "covered", "type": "check", "label": "Covered"}, "craft": {"key": "craft", "type": "typeCombo", "label": "Type"}, @@ -74,6 +77,7 @@ "denomination": {"key": "denomination", "type": "combo", "label": "Denomination"}, "denotation": {"key": "denotation", "type": "combo", "label": "Denotation"}, "description": {"key": "description", "type": "textarea", "label": "Description", "universal": true}, + "design": {"key": "design", "type": "combo", "label": "Design"}, "devices": {"key": "devices", "type": "number", "minValue": 0, "label": "Devices", "placeholder": "1, 2, 3..."}, "diaper": {"key": "diaper", "type": "combo", "label": "Diaper Changing Available", "options": ["yes", "no", "room", "1", "2", "3", "4", "5"]}, "direction_cardinal": {"key": "direction", "type": "combo", "label": "Direction", "strings": {"options": {"N": "North", "E": "East", "S": "South", "W": "West", "NE": "Northeast", "SE": "Southeast", "SW": "Southwest", "NW": "Northwest", "NNE": "North-northeast", "ENE": "East-northeast", "ESE": "East-southeast", "SSE": "South-southeast", "SSW": "South-southwest", "WSW": "West-southwest", "WNW": "West-northwest", "NNW": "North-northwest"}}}, @@ -110,7 +114,7 @@ "gauge": {"key": "gauge", "type": "combo", "label": "Gauge"}, "gender": {"type": "radio", "keys": ["male", "female", "unisex"], "label": "Gender", "placeholder": "Unknown", "strings": {"options": {"male": "Male", "female": "Female", "unisex": "Unisex"}}}, "generator/method": {"key": "generator:method", "type": "combo", "label": "Method"}, - "generator/output/electricity": {"key": "generator:output:electricity", "type": "text", "label": "Power Output", "placeholder": "50 MW, 100 MW, 200 MW..."}, + "generator/output/electricity": {"key": "generator:output:electricity", "type": "typeCombo", "label": "Power Output", "placeholder": "50 MW, 100 MW, 200 MW...", "snake_case": false}, "generator/source": {"key": "generator:source", "type": "combo", "label": "Source"}, "generator/type": {"key": "generator:type", "type": "combo", "label": "Type"}, "government": {"key": "government", "type": "typeCombo", "label": "Type"}, @@ -198,7 +202,13 @@ "payment_multi": {"key": "payment:", "type": "multiCombo", "label": "Payment Types", "universal": true}, "phases": {"key": "phases", "type": "number", "minValue": 1, "label": "Phases", "placeholder": "1, 2, 3..."}, "phone": {"key": "phone", "type": "tel", "icon": "maki-telephone", "universal": true, "label": "Telephone", "placeholder": "+31 42 123 4567"}, - "piste/difficulty": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice (instructional)", "easy": "Easy (green circle)", "intermediate": "Intermediate (blue square)", "advanced": "Advanced (black diamond)", "expert": "Expert (double black diamond)", "freeride": "Freeride (off-piste)", "extreme": "Extreme (climbing equipment required)"}}}, + "piste/difficulty_downhill": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice (instructional)", "easy": "Easy (green circle)", "intermediate": "Intermediate (blue square)", "advanced": "Advanced (black diamond)", "expert": "Expert (double black diamond)", "freeride": "Freeride (off-piste)", "extreme": "Extreme (climbing equipment required)"}}}, + "piste/difficulty_nordic": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice - Flat, no effort needed", "easy": "Easy - Soft hills, short steep section", "intermediate": "Intermediate - Steep section", "advanced": "Advanced - Narrow, steep or icy section, sharp turn", "expert": "Expert - Dangerous terrain around"}}}, + "piste/difficulty_skitour": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice - L: <30° incline", "easy": "Easy - WS: 30-35° incline", "intermediate": "Intermediate - ZS: 35-40° incline", "advanced": "Advanced - S: 40-45° incline", "expert": "Expert - SS: 45–50° incline", "freeride": "Freeride - AS: 50–55° incline", "extreme": "Extreme - EX: >55° incline"}}}, + "piste/difficulty": {"key": "piste:difficulty", "type": "combo", "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "strings": {"options": {"novice": "Novice", "easy": "Easy", "intermediate": "Intermediate", "advanced": "Advanced", "expert": "Expert", "freeride": "Freeride", "extreme": "Extreme"}}}, + "piste/grooming_downhill": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic", "mogul": "Mogul", "backcountry": "Backcountry - no grooming"}}}, + "piste/grooming_hike": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic - Winter Hiking", "backcountry": "Backcountry - Snowshoeing"}}}, + "piste/grooming_nordic": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic", "backcountry": "Backcountry, no grooming", "classic+skating": "Classic and Skating", "scooter": "Scooter/Snowmobile", "skating": "Skating"}}}, "piste/grooming": {"key": "piste:grooming", "type": "combo", "label": "Grooming", "strings": {"options": {"classic": "Classic", "mogul": "Mogul", "backcountry": "Backcountry", "classic+skating": "Classic and Skating", "scooter": "Scooter/Snowmobile", "skating": "Skating"}}}, "piste/type": {"key": "piste:type", "type": "typeCombo", "label": "Type", "strings": {"options": {"downhill": "Downhill", "nordic": "Nordic", "skitour": "Skitour", "sled": "Sled", "hike": "Hike", "sleigh": "Sleigh", "ice_skate": "Ice Skate", "snow_park": "Snow Park", "playground": "Playground", "connection": "Connection"}}}, "place": {"key": "place", "type": "typeCombo", "label": "Type"}, @@ -217,6 +227,7 @@ "railway/signal/direction": {"key": "railway:signal:direction", "type": "combo", "label": "Direction", "strings": {"options": {"forward": "Forward", "backward": "Backward", "both": "Both / All"}}}, "rating": {"key": "rating", "type": "combo", "label": "Power Rating", "snake_case": false}, "recycling_accepts": {"key": "recycling:", "type": "multiCombo", "label": "Accepts"}, + "recycling_type": {"key": "recycling_type", "type": "combo", "label": "Type", "placeholder": "Container, Center", "strings": {"options": {"container": "Container", "centre": "Center"}}}, "ref_aeroway_gate": {"key": "ref", "type": "text", "label": "Gate Number"}, "ref_golf_hole": {"key": "ref", "type": "text", "label": "Hole Number", "placeholder": "1-18"}, "ref_highway_junction": {"key": "ref", "type": "text", "label": "Junction Number"}, @@ -239,17 +250,18 @@ "sanitary_dump_station": {"key": "sanitary_dump_station", "type": "check", "label": "Toilet Disposal"}, "seamark/beacon_isolated_danger/shape": {"key": "seamark:beacon_isolated_danger:shape", "type": "combo", "label": "Shape"}, "seamark/beacon_lateral/category": {"key": "seamark:beacon_lateral:category", "type": "combo", "label": "Category", "strings": {"options": {"port": "Port", "starboard": "Starboard", "waterway_left": "Waterway Left", "waterway_right": "Waterway Right", "danger_left": "Danger Left", "danger_right": "Danger Right"}}}, - "seamark/beacon_lateral/colour": {"key": "seamark:beacon_lateral:colour", "type": "combo", "label": "Colour", "strings": {"options": {"red": "Red", "green": "Green", "grey": "Grey"}}}, + "seamark/beacon_lateral/colour": {"key": "seamark:beacon_lateral:colour", "type": "combo", "label": "Color", "strings": {"options": {"red": "Red", "green": "Green", "grey": "Grey"}}}, "seamark/beacon_lateral/shape": {"key": "seamark:beacon_lateral:shape", "type": "combo", "label": "Shape"}, "seamark/beacon_lateral/system": {"key": "seamark:beacon_lateral:system", "type": "combo", "label": "System", "strings": {"options": {"iala-a": "IALA A", "iala-b": "IALA B", "cevni": "CEVNI", "other": "Other"}}}, "seamark/buoy_lateral/category": {"key": "seamark:buoy_lateral:category", "type": "combo", "label": "Category", "strings": {"options": {"port": "Port", "starboard": "Starboard", "channel_left": "Channel Left", "channel_right": "Channel Right", "waterway_left": "Waterway Left", "waterway_right": "Waterway Right", "danger_left": "Danger Left", "danger_right": "Danger Right", "preferred_channel_port": "Preferred Channel Port", "preferred_channel_starboard": "Preferred Channel Starboard"}}}, - "seamark/buoy_lateral/colour": {"key": "seamark:buoy_lateral:colour", "type": "combo", "label": "Colour", "strings": {"options": {"red": "Red", "green": "Green", "red;white;red;white": "Red-White-Red-White", "green;white;green;white": "Green-White-Green-White", "red;green;red": "Red-Green-Red", "green;red;green": "Green-Red-Green", "white": "White", "yellow": "Yellow"}}}, + "seamark/buoy_lateral/colour": {"key": "seamark:buoy_lateral:colour", "type": "combo", "label": "Color", "strings": {"options": {"red": "Red", "green": "Green", "red;white;red;white": "Red-White-Red-White", "green;white;green;white": "Green-White-Green-White", "red;green;red": "Red-Green-Red", "green;red;green": "Green-Red-Green", "white": "White", "yellow": "Yellow"}}}, "seamark/buoy_lateral/shape": {"key": "seamark:buoy_lateral:shape", "type": "combo", "label": "Shape"}, "seamark/buoy_lateral/system": {"key": "seamark:buoy_lateral:system", "type": "combo", "label": "System", "strings": {"options": {"iala-a": "IALA A", "iala-b": "IALA B", "cevni": "CEVNI", "other": "Other"}}}, "seamark/mooring/category": {"key": "seamark:mooring:category", "type": "combo", "label": "Category"}, "seamark/type": {"key": "seamark:type", "type": "combo", "universal": true, "label": "Seamark"}, "seamark/wreck/category": {"key": "seamark:wreck:category", "type": "combo", "label": "Category"}, "seasonal": {"key": "seasonal", "type": "check", "label": "Seasonal"}, + "seats": {"key": "seats", "type": "number", "minValue": 0, "label": "Seats", "placeholder": "2, 4, 6..."}, "second_hand": {"key": "second_hand", "type": "combo", "label": "Sells Used", "placeholder": "Yes, No, Only", "strings": {"options": {"yes": "Yes", "no": "No", "only": "Only"}}}, "service_rail": {"key": "service", "type": "combo", "label": "Service Type", "strings": {"options": {"spur": "Spur", "yard": "Yard", "siding": "Siding", "crossover": "Crossover"}}}, "service_times": {"key": "service_times", "type": "text", "label": "Service Times"}, @@ -301,6 +313,8 @@ "tracktype": {"key": "tracktype", "type": "combo", "label": "Track Type", "placeholder": "Solid, Mostly Solid, Soft...", "strings": {"options": {"grade1": "Solid: paved or heavily compacted hardcore surface", "grade2": "Mostly Solid: gravel/rock with some soft material mixed in", "grade3": "Even mixture of hard and soft materials", "grade4": "Mostly Soft: soil/sand/grass with some hard material mixed in", "grade5": "Soft: soil/sand/grass"}}}, "trade": {"key": "trade", "type": "typeCombo", "label": "Type"}, "traffic_calming": {"key": "traffic_calming", "type": "typeCombo", "label": "Type"}, + "traffic_sign": {"key": "traffic_sign", "type": "typeCombo", "label": "Traffic Sign"}, + "traffic_sign/direction": {"key": "traffic_sign:direction", "type": "combo", "label": "Direction", "strings": {"options": {"forward": "Forward", "backward": "Backward", "both": "Both / All"}}}, "traffic_signals": {"key": "traffic_signals", "type": "combo", "label": "Type", "default": "signal"}, "traffic_signals/direction": {"key": "traffic_signals:direction", "type": "combo", "label": "Direction", "strings": {"options": {"forward": "Forward", "backward": "Backward", "both": "Both / All"}}}, "trail_visibility": {"key": "trail_visibility", "type": "combo", "label": "Trail Visibility", "placeholder": "Excellent, Good, Bad...", "strings": {"options": {"excellent": "Excellent: unambiguous path or markers everywhere", "good": "Good: markers visible, sometimes require searching", "intermediate": "Intermediate: few markers, path mostly visible", "bad": "Bad: no markers, path sometimes invisible/pathless", "horrible": "Horrible: often pathless, some orientation skills required", "no": "No: pathless, excellent orientation skills required"}}}, diff --git a/data/presets/fields/bridge/support.json b/data/presets/fields/bridge/support.json new file mode 100644 index 000000000..7d7563c04 --- /dev/null +++ b/data/presets/fields/bridge/support.json @@ -0,0 +1,5 @@ +{ + "key": "bridge:support", + "type": "combo", + "label": "Type" +} diff --git a/data/presets/fields/colour.json b/data/presets/fields/colour.json new file mode 100644 index 000000000..d53e2a950 --- /dev/null +++ b/data/presets/fields/colour.json @@ -0,0 +1,5 @@ +{ + "key": "colour", + "type": "text", + "label": "Color" +} diff --git a/data/presets/fields/conveying.json b/data/presets/fields/conveying.json new file mode 100644 index 000000000..09d0b41a2 --- /dev/null +++ b/data/presets/fields/conveying.json @@ -0,0 +1,13 @@ +{ + "key": "conveying", + "type": "typeCombo", + "label": "Movement Direction", + "strings": { + "options": { + "forward": "Forward", + "backward": "Backward", + "reversible": "Reversible" + } + } + +} diff --git a/data/presets/fields/design.json b/data/presets/fields/design.json new file mode 100644 index 000000000..921ca575d --- /dev/null +++ b/data/presets/fields/design.json @@ -0,0 +1,5 @@ +{ + "key": "design", + "type": "combo", + "label": "Design" +} \ No newline at end of file diff --git a/data/presets/fields/generator/output/electricity.json b/data/presets/fields/generator/output/electricity.json index 50bc4cfd2..01efca521 100644 --- a/data/presets/fields/generator/output/electricity.json +++ b/data/presets/fields/generator/output/electricity.json @@ -1,6 +1,7 @@ { "key": "generator:output:electricity", - "type": "text", + "type": "typeCombo", "label": "Power Output", - "placeholder": "50 MW, 100 MW, 200 MW..." + "placeholder": "50 MW, 100 MW, 200 MW...", + "snake_case": false } diff --git a/data/presets/fields/piste/difficulty.json b/data/presets/fields/piste/difficulty.json index 7d3b3608a..a06a3d18b 100644 --- a/data/presets/fields/piste/difficulty.json +++ b/data/presets/fields/piste/difficulty.json @@ -5,13 +5,13 @@ "placeholder": "Easy, Intermediate, Advanced...", "strings": { "options": { - "novice": "Novice (instructional)", - "easy": "Easy (green circle)", - "intermediate": "Intermediate (blue square)", - "advanced": "Advanced (black diamond)", - "expert": "Expert (double black diamond)", - "freeride": "Freeride (off-piste)", - "extreme": "Extreme (climbing equipment required)" + "novice": "Novice", + "easy": "Easy", + "intermediate": "Intermediate", + "advanced": "Advanced", + "expert": "Expert", + "freeride": "Freeride", + "extreme": "Extreme" } } } diff --git a/data/presets/fields/piste/difficulty_downhill.json b/data/presets/fields/piste/difficulty_downhill.json new file mode 100644 index 000000000..7d3b3608a --- /dev/null +++ b/data/presets/fields/piste/difficulty_downhill.json @@ -0,0 +1,17 @@ +{ + "key": "piste:difficulty", + "type": "combo", + "label": "Difficulty", + "placeholder": "Easy, Intermediate, Advanced...", + "strings": { + "options": { + "novice": "Novice (instructional)", + "easy": "Easy (green circle)", + "intermediate": "Intermediate (blue square)", + "advanced": "Advanced (black diamond)", + "expert": "Expert (double black diamond)", + "freeride": "Freeride (off-piste)", + "extreme": "Extreme (climbing equipment required)" + } + } +} diff --git a/data/presets/fields/piste/difficulty_nordic.json b/data/presets/fields/piste/difficulty_nordic.json new file mode 100644 index 000000000..52d173667 --- /dev/null +++ b/data/presets/fields/piste/difficulty_nordic.json @@ -0,0 +1,15 @@ +{ + "key": "piste:difficulty", + "type": "combo", + "label": "Difficulty", + "placeholder": "Easy, Intermediate, Advanced...", + "strings": { + "options": { + "novice": "Novice - Flat, no effort needed", + "easy": "Easy - Soft hills, short steep section", + "intermediate": "Intermediate - Steep section", + "advanced": "Advanced - Narrow, steep or icy section, sharp turn", + "expert": "Expert - Dangerous terrain around" + } + } +} diff --git a/data/presets/fields/piste/difficulty_skitour.json b/data/presets/fields/piste/difficulty_skitour.json new file mode 100644 index 000000000..f4b68e209 --- /dev/null +++ b/data/presets/fields/piste/difficulty_skitour.json @@ -0,0 +1,17 @@ +{ + "key": "piste:difficulty", + "type": "combo", + "label": "Difficulty", + "placeholder": "Easy, Intermediate, Advanced...", + "strings": { + "options": { + "novice": "Novice - L: <30° incline", + "easy": "Easy - WS: 30-35° incline", + "intermediate": "Intermediate - ZS: 35-40° incline", + "advanced": "Advanced - S: 40-45° incline", + "expert": "Expert - SS: 45–50° incline", + "freeride": "Freeride - AS: 50–55° incline", + "extreme": "Extreme - EX: >55° incline" + } + } +} diff --git a/data/presets/fields/piste/grooming_downhill.json b/data/presets/fields/piste/grooming_downhill.json new file mode 100644 index 000000000..ad415eb25 --- /dev/null +++ b/data/presets/fields/piste/grooming_downhill.json @@ -0,0 +1,12 @@ +{ + "key": "piste:grooming", + "type": "combo", + "label": "Grooming", + "strings": { + "options": { + "classic": "Classic", + "mogul": "Mogul", + "backcountry": "Backcountry - no grooming" + } + } +} diff --git a/data/presets/fields/piste/grooming_hike.json b/data/presets/fields/piste/grooming_hike.json new file mode 100644 index 000000000..733b9da41 --- /dev/null +++ b/data/presets/fields/piste/grooming_hike.json @@ -0,0 +1,11 @@ +{ + "key": "piste:grooming", + "type": "combo", + "label": "Grooming", + "strings": { + "options": { + "classic": "Classic - Winter Hiking", + "backcountry": "Backcountry - Snowshoeing" + } + } +} diff --git a/data/presets/fields/piste/grooming_nordic.json b/data/presets/fields/piste/grooming_nordic.json new file mode 100644 index 000000000..71b07d971 --- /dev/null +++ b/data/presets/fields/piste/grooming_nordic.json @@ -0,0 +1,14 @@ +{ + "key": "piste:grooming", + "type": "combo", + "label": "Grooming", + "strings": { + "options": { + "classic": "Classic", + "backcountry": "Backcountry, no grooming", + "classic+skating": "Classic and Skating", + "scooter": "Scooter/Snowmobile", + "skating": "Skating" + } + } +} diff --git a/data/presets/fields/recycling_type.json b/data/presets/fields/recycling_type.json new file mode 100644 index 000000000..31e767816 --- /dev/null +++ b/data/presets/fields/recycling_type.json @@ -0,0 +1,12 @@ +{ + "key": "recycling_type", + "type": "combo", + "label": "Type", + "placeholder": "Container, Center", + "strings": { + "options": { + "container": "Container", + "centre": "Center" + } + } +} diff --git a/data/presets/fields/seamark/beacon_lateral/colour.json b/data/presets/fields/seamark/beacon_lateral/colour.json index 2af53b30e..94c35483c 100644 --- a/data/presets/fields/seamark/beacon_lateral/colour.json +++ b/data/presets/fields/seamark/beacon_lateral/colour.json @@ -1,7 +1,7 @@ { "key": "seamark:beacon_lateral:colour", "type": "combo", - "label": "Colour", + "label": "Color", "strings": { "options": { "red": "Red", diff --git a/data/presets/fields/seamark/buoy_lateral/colour.json b/data/presets/fields/seamark/buoy_lateral/colour.json index abe96b049..e95c4363e 100644 --- a/data/presets/fields/seamark/buoy_lateral/colour.json +++ b/data/presets/fields/seamark/buoy_lateral/colour.json @@ -1,7 +1,7 @@ { "key": "seamark:buoy_lateral:colour", "type": "combo", - "label": "Colour", + "label": "Color", "strings": { "options": { "red": "Red", diff --git a/data/presets/fields/seats.json b/data/presets/fields/seats.json new file mode 100644 index 000000000..e9655f895 --- /dev/null +++ b/data/presets/fields/seats.json @@ -0,0 +1,7 @@ +{ + "key": "seats", + "type": "number", + "minValue": 0, + "label": "Seats", + "placeholder": "2, 4, 6..." +} diff --git a/data/presets/fields/traffic_sign.json b/data/presets/fields/traffic_sign.json new file mode 100644 index 000000000..99b255e55 --- /dev/null +++ b/data/presets/fields/traffic_sign.json @@ -0,0 +1,5 @@ +{ + "key": "traffic_sign", + "type": "typeCombo", + "label": "Traffic Sign" +} diff --git a/data/presets/fields/traffic_sign/direction.json b/data/presets/fields/traffic_sign/direction.json new file mode 100644 index 000000000..8b5ab49a5 --- /dev/null +++ b/data/presets/fields/traffic_sign/direction.json @@ -0,0 +1,12 @@ +{ + "key": "traffic_sign:direction", + "type": "combo", + "label": "Direction", + "strings": { + "options": { + "forward": "Forward", + "backward": "Backward", + "both": "Both / All" + } + } +} diff --git a/data/presets/presets.json b/data/presets/presets.json index 1279817ff..b2f94a36f 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -39,6 +39,7 @@ "amenity/coworking_space": {"icon": "maki-commercial", "fields": ["name", "address", "building_area", "opening_hours", "internet_access", "internet_access/fee", "internet_access/ssid"], "geometry": ["point", "area"], "tags": {"amenity": "coworking_space"}, "name": "Coworking Space", "searchable": false}, "amenity/ferry_terminal": {"icon": "maki-ferry", "fields": ["name", "network", "operator", "address", "building_area"], "geometry": ["point", "vertex", "area"], "terms": [], "tags": {"amenity": "ferry_terminal"}, "name": "Ferry Station / Terminal", "searchable": false}, "amenity/nursing_home": {"icon": "maki-wheelchair", "fields": ["name", "operator", "address", "building_area", "social_facility", "social_facility_for", "opening_hours", "wheelchair"], "geometry": ["point", "area"], "tags": {"amenity": "nursing_home"}, "reference": {"key": "social_facility", "value": "nursing_home"}, "name": "Nursing Home", "searchable": false}, + "amenity/recycling": {"icon": "maki-recycling", "fields": ["recycling_type", "recycling_accepts", "collection_times"], "geometry": ["point", "area"], "terms": ["bin", "can", "bottle", "glass", "garbage", "rubbish", "scrap", "trash"], "tags": {"amenity": "recycling"}, "name": "Recycling", "searchable": false}, "amenity/register_office": {"icon": "maki-town-hall", "fields": ["name", "address", "building_area", "opening_hours", "operator"], "geometry": ["point", "area"], "tags": {"amenity": "register_office"}, "reference": {"key": "government", "value": "register_office"}, "name": "Register Office", "searchable": false}, "amenity/scrapyard": {"icon": "maki-car", "fields": ["name", "operator", "address", "opening_hours"], "geometry": ["point", "area"], "tags": {"amenity": "scrapyard"}, "reference": {"key": "industrial", "value": "scrap_yard"}, "name": "Scrap Yard", "searchable": false}, "amenity/swimming_pool": {"icon": "maki-swimming", "geometry": ["point", "vertex", "area"], "tags": {"amenity": "swimming_pool"}, "reference": {"key": "leisure", "value": "swimming_pool"}, "name": "Swimming Pool", "searchable": false}, @@ -50,7 +51,7 @@ "amenity/bank": {"icon": "maki-bank", "fields": ["name", "atm", "operator", "address", "building_area", "opening_hours", "drive_through"], "geometry": ["point", "area"], "terms": ["credit union", "check", "deposit", "fund", "investment", "repository", "reserve", "safe", "savings", "stock", "treasury", "trust", "vault"], "tags": {"amenity": "bank"}, "name": "Bank"}, "amenity/bar": {"icon": "maki-bar", "fields": ["name", "operator", "address", "building_area", "opening_hours", "smoking", "outdoor_seating", "brewery"], "geometry": ["point", "area"], "terms": ["dive", "beer", "bier", "booze"], "tags": {"amenity": "bar"}, "name": "Bar"}, "amenity/bbq": {"icon": "maki-bbq", "fields": ["covered", "fuel", "access_simple"], "geometry": ["point"], "terms": ["bbq", "grill"], "tags": {"amenity": "bbq"}, "name": "Barbecue/Grill"}, - "amenity/bench": {"icon": "temaki-bench", "fields": ["backrest"], "geometry": ["point", "vertex", "line"], "terms": ["seat"], "tags": {"amenity": "bench"}, "name": "Bench"}, + "amenity/bench": {"icon": "temaki-bench", "fields": ["backrest", "material", "seats", "colour"], "geometry": ["point", "vertex", "line"], "terms": ["seat"], "tags": {"amenity": "bench"}, "name": "Bench"}, "amenity/bicycle_parking": {"icon": "maki-bicycle", "fields": ["bicycle_parking", "capacity", "operator", "covered", "access_simple"], "geometry": ["point", "vertex", "area"], "terms": ["bike"], "tags": {"amenity": "bicycle_parking"}, "name": "Bicycle Parking"}, "amenity/bicycle_rental": {"icon": "maki-bicycle", "fields": ["capacity", "network", "operator", "payment_multi"], "geometry": ["point", "vertex", "area"], "terms": ["bike"], "tags": {"amenity": "bicycle_rental"}, "name": "Bicycle Rental"}, "amenity/bicycle_repair_station": {"icon": "maki-bicycle", "fields": ["operator", "brand", "opening_hours", "fee", "service/bicycle"], "geometry": ["point", "vertex"], "terms": ["bike", "repair", "chain", "pump"], "tags": {"amenity": "bicycle_repair_station"}, "name": "Bicycle Repair Tool Stand"}, @@ -104,6 +105,7 @@ "amenity/parking_entrance": {"icon": "maki-entrance-alt1", "fields": ["access_simple", "ref"], "geometry": ["vertex"], "tags": {"amenity": "parking_entrance"}, "name": "Parking Garage Entrance/Exit"}, "amenity/parking_space": {"fields": ["capacity"], "geometry": ["point", "vertex", "area"], "terms": [], "tags": {"amenity": "parking_space"}, "matchScore": 0.95, "name": "Parking Space"}, "amenity/parking": {"icon": "maki-parking", "fields": ["name", "operator", "parking", "capacity", "fee", "access_simple", "supervised", "park_ride", "surface", "maxstay"], "geometry": ["point", "vertex", "area"], "tags": {"amenity": "parking"}, "terms": [], "name": "Car Parking"}, + "amenity/parking/multi-storey": {"icon": "maki-parking-garage", "fields": ["name", "building", "levels", "height", "address"], "geometry": ["area"], "terms": ["multistorey car park", "parking garage", "parkade", "parking structure", "parking ramp", "parking deck", "parking building", "indoor parking"], "tags": {"amenity": "parking", "parking": "multi-storey"}, "addTags": {"building": "parking", "amenity": "parking", "parking": "multi-storey"}, "removeTags": {"building": "parking", "amenity": "parking", "parking": "multi-storey"}, "reference": {"key": "parking", "value": "multi-storey"}, "name": "Multilevel Car Parking"}, "amenity/pharmacy": {"icon": "maki-pharmacy", "fields": ["name", "operator", "address", "building_area", "drive_through", "opening_hours", "payment_multi", "dispensing"], "geometry": ["point", "area"], "tags": {"amenity": "pharmacy"}, "addTags": {"amenity": "pharmacy", "healthcare": "pharmacy"}, "removeTags": {"amenity": "pharmacy", "healthcare": "pharmacy"}, "reference": {"key": "amenity", "value": "pharmacy"}, "terms": ["apothecary", "drug*", "med*", "prescription"], "name": "Pharmacy"}, "amenity/place_of_worship": {"icon": "maki-place-of-worship", "fields": ["name", "religion", "denomination", "address", "building_area", "service_times"], "geometry": ["point", "area"], "terms": ["abbey", "basilica", "bethel", "cathedral", "chancel", "chantry", "chapel", "church", "fold", "house of God", "house of prayer", "house of worship", "minster", "mission", "mosque", "oratory", "parish", "sacellum", "sanctuary", "shrine", "synagogue", "tabernacle", "temple"], "tags": {"amenity": "place_of_worship"}, "name": "Place of Worship"}, "amenity/place_of_worship/buddhist": {"icon": "maki-buddhism", "fields": ["name", "denomination", "building_area", "address", "service_times"], "geometry": ["point", "area"], "terms": ["stupa", "vihara", "monastery", "temple", "pagoda", "zendo", "dojo"], "tags": {"amenity": "place_of_worship", "religion": "buddhist"}, "reference": {"key": "amenity", "value": "place_of_worship"}, "name": "Buddhist Temple"}, @@ -124,13 +126,15 @@ "amenity/public_bookcase": {"icon": "maki-library", "fields": ["name", "operator", "capacity", "website"], "geometry": ["point", "area"], "terms": ["library", "bookcrossing"], "tags": {"amenity": "public_bookcase"}, "name": "Public Bookcase"}, "amenity/ranger_station": {"icon": "maki-ranger-station", "fields": ["name", "operator", "address", "building_area", "opening_hours"], "geometry": ["point", "area"], "terms": ["visitor center", "visitor centre", "permit center", "permit centre", "backcountry office", "warden office", "warden center"], "tags": {"amenity": "ranger_station"}, "name": "Ranger Station"}, "amenity/recycling_centre": {"icon": "maki-recycling", "fields": ["name", "operator", "address", "building", "opening_hours", "recycling_accepts"], "geometry": ["point", "area"], "terms": ["bottle", "can", "dump", "glass", "garbage", "rubbish", "scrap", "trash"], "tags": {"amenity": "recycling", "recycling_type": "centre"}, "reference": {"key": "recycling_type", "value": "*"}, "name": "Recycling Center"}, - "amenity/recycling": {"icon": "maki-recycling", "fields": ["recycling_accepts", "collection_times"], "geometry": ["point", "area"], "terms": ["bin", "can", "bottle", "glass", "garbage", "rubbish", "scrap", "trash"], "tags": {"amenity": "recycling"}, "addTags": {"amenity": "recycling", "recycling_type": "container"}, "removeTags": {"amenity": "recycling", "recycling_type": "container"}, "reference": {"key": "amenity", "value": "recycling"}, "name": "Recycling Container"}, + "amenity/recycling_container": {"icon": "maki-recycling", "fields": ["recycling_accepts", "collection_times"], "geometry": ["point", "area"], "terms": ["bin", "can", "bottle", "glass", "garbage", "rubbish", "scrap", "trash"], "tags": {"amenity": "recycling", "recycling_type": "container"}, "reference": {"key": "amenity", "value": "recycling"}, "name": "Recycling Container"}, "amenity/restaurant": {"icon": "maki-restaurant", "fields": ["name", "cuisine", "address", "building_area", "opening_hours", "capacity", "takeaway", "delivery", "smoking", "outdoor_seating"], "geometry": ["point", "area"], "terms": ["bar", "breakfast", "cafe", "café", "canteen", "coffee", "dine", "dining", "dinner", "drive-in", "eat", "grill", "lunch", "table"], "tags": {"amenity": "restaurant"}, "name": "Restaurant"}, "amenity/sanitary_dump_station": {"icon": "temaki-storage_tank", "fields": ["operator", "access_simple", "fee", "water_point"], "geometry": ["point", "vertex", "area"], "terms": ["Motor Home", "Camper", "Sanitary", "Dump Station", "Elsan", "CDP", "CTDP", "Chemical Toilet"], "tags": {"amenity": "sanitary_dump_station"}, "name": "RV Toilet Disposal"}, "amenity/school": {"icon": "maki-school", "fields": ["name", "operator", "address", "religion", "denomination"], "geometry": ["point", "area"], "terms": ["academy", "elementary school", "middle school", "high school"], "tags": {"amenity": "school"}, "name": "School Grounds"}, "amenity/shelter": {"icon": "maki-shelter", "fields": ["name", "shelter_type", "building_area", "bench", "bin"], "geometry": ["point", "vertex", "area"], "terms": ["lean-to", "gazebo", "picnic"], "tags": {"amenity": "shelter"}, "name": "Shelter"}, "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/shower": {"icon": "temaki-shower", "fields": ["operator", "opening_hours", "fee", "supervised", "building_area", "access_simple"], "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"], "geometry": ["point", "vertex", "area"], "terms": [], "tags": {"amenity": "smoking_area"}, "name": "Smoking Area"}, "amenity/social_facility": {"icon": "temaki-social_facility", "fields": ["name", "operator", "address", "building_area", "social_facility", "social_facility_for", "opening_hours", "wheelchair"], "geometry": ["point", "area"], "terms": [], "tags": {"amenity": "social_facility"}, "name": "Social Facility"}, @@ -142,6 +146,7 @@ "amenity/taxi": {"icon": "fas-taxi", "fields": ["name", "operator", "capacity"], "geometry": ["point", "vertex", "area"], "terms": ["cab"], "tags": {"amenity": "taxi"}, "name": "Taxi Stand"}, "amenity/telephone": {"icon": "maki-telephone", "fields": ["operator", "phone", "fee", "payment_multi", "covered", "indoor", "booth"], "geometry": ["point", "vertex"], "tags": {"amenity": "telephone"}, "terms": ["phone"], "name": "Telephone"}, "amenity/theatre": {"icon": "maki-theatre", "fields": ["name", "operator", "address", "building_area"], "geometry": ["point", "area"], "terms": ["theatre", "performance", "play", "musical"], "tags": {"amenity": "theatre"}, "name": "Theater"}, + "amenity/theatre/type/amphi": {"icon": "maki-theatre", "fields": ["name", "operator", "address", "lit"], "geometry": ["point", "area"], "terms": ["open air", "outdoor", "greek", "ampi"], "tags": {"amenity": "theatre", "theatre:type": "amphi"}, "name": "Amphitheatre"}, "amenity/toilets": {"icon": "maki-toilet", "fields": ["toilets/disposal", "operator", "building_area", "access_simple", "gender", "fee", "diaper"], "geometry": ["point", "vertex", "area"], "terms": ["bathroom", "restroom", "outhouse", "privy", "head", "lavatory", "latrine", "water closet", "WC", "W.C."], "tags": {"amenity": "toilets"}, "name": "Toilets"}, "amenity/townhall": {"icon": "maki-town-hall", "fields": ["name", "operator", "address", "building_area"], "geometry": ["point", "area"], "terms": ["village", "city", "government", "courthouse", "municipal"], "tags": {"amenity": "townhall"}, "name": "Town Hall"}, "amenity/university": {"icon": "maki-college", "fields": ["name", "operator", "address", "internet_access", "internet_access/ssid"], "geometry": ["point", "area"], "terms": ["college"], "tags": {"amenity": "university"}, "name": "University Grounds"}, @@ -200,7 +205,8 @@ "barrier/fence": {"icon": "maki-fence", "fields": ["fence_type", "height"], "geometry": ["line"], "tags": {"barrier": "fence"}, "name": "Fence", "matchScore": 0.25}, "barrier/gate": {"icon": "maki-barrier", "fields": ["access"], "geometry": ["vertex", "line"], "tags": {"barrier": "gate"}, "name": "Gate"}, "barrier/hedge": {"fields": ["height"], "geometry": ["line", "area"], "tags": {"barrier": "hedge"}, "name": "Hedge", "matchScore": 0.25}, - "barrier/kerb": {"icon": "maki-wheelchair", "fields": ["kerb", "tactile_paving"], "geometry": ["vertex", "line"], "tags": {"barrier": "kerb"}, "name": "Kerb"}, + "barrier/kerb": {"icon": "maki-wheelchair", "fields": ["kerb", "tactile_paving"], "geometry": ["vertex", "line"], "tags": {"barrier": "kerb"}, "name": "Curb"}, + "barrier/kerb/lowered": {"icon": "maki-wheelchair", "fields": ["kerb", "tactile_paving"], "geometry": ["vertex", "line"], "tags": {"barrier": "kerb", "kerb": "lowered"}, "reference": {"key": "kerb", "value": "lowered"}, "terms": ["curb cut", "curb ramp", "kerb ramp", "dropped kerb", "pram ramp"], "name": "Lowered Curb"}, "barrier/kissing_gate": {"icon": "maki-barrier", "fields": ["access"], "geometry": ["vertex"], "tags": {"barrier": "kissing_gate"}, "name": "Kissing Gate"}, "barrier/lift_gate": {"icon": "maki-roadblock", "fields": ["access"], "geometry": ["vertex", "line"], "tags": {"barrier": "lift_gate"}, "name": "Lift Gate"}, "barrier/retaining_wall": {"fields": ["height"], "geometry": ["line", "area"], "tags": {"barrier": "retaining_wall"}, "name": "Retaining Wall"}, @@ -208,6 +214,8 @@ "barrier/toll_booth": {"icon": "maki-roadblock", "fields": ["access", "building_area"], "geometry": ["vertex", "area"], "tags": {"barrier": "toll_booth"}, "name": "Toll Booth"}, "barrier/wall": {"icon": "maki-barrier", "fields": ["wall", "height"], "geometry": ["line", "area"], "tags": {"barrier": "wall"}, "name": "Wall", "matchScore": 0.25}, "boundary/administrative": {"name": "Administrative Boundary", "geometry": ["line"], "tags": {"boundary": "administrative"}, "fields": ["name", "admin_level"]}, + "bridge/support": {"icon": "fas-archway", "fields": ["bridge/support"], "geometry": ["point", "vertex", "area"], "tags": {"bridge:support": "*"}, "name": "Bridge Support"}, + "bridge/support/pier": {"icon": "fas-archway", "fields": ["bridge/support"], "geometry": ["point", "vertex", "area"], "tags": {"bridge:support": "pier"}, "name": "Bridge Pier"}, "building": {"icon": "maki-home", "fields": ["name", "building", "levels", "height", "address"], "geometry": ["point", "area"], "tags": {"building": "*"}, "matchScore": 0.6, "terms": [], "name": "Building"}, "building/bunker": {"fields": ["name", "address", "levels", "height"], "geometry": ["area"], "tags": {"building": "bunker"}, "matchScore": 0.5, "name": "Bunker", "searchable": false}, "building/entrance": {"icon": "maki-entrance-alt1", "geometry": ["vertex"], "tags": {"building": "entrance"}, "name": "Entrance/Exit", "searchable": false}, @@ -217,6 +225,7 @@ "building/boathouse": {"icon": "maki-harbor", "fields": ["name", "levels", "height", "address"], "geometry": ["area"], "tags": {"building": "boathouse"}, "matchScore": 0.5, "terms": [], "name": "Boathouse"}, "building/bungalow": {"icon": "maki-home", "fields": ["name", "address", "levels", "height"], "geometry": ["area"], "tags": {"building": "bungalow"}, "terms": ["home", "detached"], "matchScore": 0.5, "name": "Bungalow"}, "building/cabin": {"icon": "maki-home", "fields": ["name", "address", "levels", "height"], "geometry": ["area"], "tags": {"building": "cabin"}, "matchScore": 0.5, "name": "Cabin"}, + "building/carport": {"icon": "fas-warehouse", "fields": ["height", "capacity"], "geometry": ["area"], "tags": {"building": "carport"}, "matchScore": 0.5, "terms": ["covered parking space", "garage", "car", "porch"], "name": "Carport"}, "building/cathedral": {"icon": "maki-place-of-worship", "fields": ["name", "address", "levels", "height"], "geometry": ["area"], "tags": {"building": "cathedral"}, "matchScore": 0.5, "name": "Cathedral Building"}, "building/chapel": {"icon": "maki-place-of-worship", "fields": ["name", "address", "levels", "height"], "geometry": ["area"], "tags": {"building": "chapel"}, "matchScore": 0.5, "name": "Chapel Building"}, "building/church": {"icon": "maki-place-of-worship", "fields": ["name", "address", "levels", "height"], "geometry": ["area"], "tags": {"building": "church"}, "matchScore": 0.5, "name": "Church Building"}, @@ -327,11 +336,6 @@ "emergency/siren": {"icon": "fas-volume-up", "fields": ["siren/purpose", "siren/type", "ref", "operator"], "geometry": ["point", "vertex"], "terms": ["air raid", "loud", "noise", "storm", "tornado", "warning"], "tags": {"emergency": "siren"}, "name": "Siren"}, "emergency/water_tank": {"icon": "maki-water", "fields": ["name", "ref", "operator"], "geometry": ["point", "vertex"], "terms": ["water tank", "cistern", "reservoir"], "tags": {"emergency": "water_tank"}, "name": "Emergency Water Tank"}, "entrance": {"icon": "maki-entrance-alt1", "geometry": ["vertex"], "terms": ["entrance", "exit", "door"], "tags": {"entrance": "*"}, "fields": ["entrance", "access_simple", "address"], "name": "Entrance/Exit"}, - "footway/crossing-raised": {"fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["flat top", "hump", "speed", "slow"], "name": "Raised Street Crossing"}, - "footway/crossing": {"fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing"}, "reference": {"key": "footway", "value": "crossing"}, "terms": [], "name": "Street Crossing"}, - "footway/crosswalk-raised": {"icon": "iD-highway-footway", "fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing", "crossing": "zebra", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["zebra crossing", "flat top", "hump", "speed", "slow"], "name": "Raised Pedestrian Crosswalk"}, - "footway/crosswalk": {"icon": "iD-highway-footway", "fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing", "crossing": "zebra"}, "reference": {"key": "footway", "value": "crossing"}, "terms": ["zebra crossing"], "name": "Pedestrian Crosswalk"}, - "footway/sidewalk": {"icon": "iD-highway-footway", "fields": ["surface", "lit", "width", "structure", "access"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "sidewalk"}, "reference": {"key": "footway", "value": "sidewalk"}, "terms": [], "name": "Sidewalk"}, "ford": {"geometry": ["vertex"], "tags": {"ford": "yes"}, "name": "Ford"}, "golf/bunker": {"icon": "maki-golf", "fields": ["name"], "geometry": ["area"], "tags": {"golf": "bunker", "natural": "sand"}, "terms": ["hazard", "bunker"], "reference": {"key": "golf", "value": "bunker"}, "name": "Sand Trap"}, "golf/fairway": {"icon": "maki-golf", "fields": ["name"], "geometry": ["area"], "tags": {"golf": "fairway", "landuse": "grass"}, "reference": {"key": "golf", "value": "fairway"}, "name": "Fairway"}, @@ -363,13 +367,23 @@ "highway/bridleway": {"fields": ["name", "surface", "width", "structure", "access"], "icon": "iD-highway-bridleway", "geometry": ["line"], "tags": {"highway": "bridleway"}, "terms": ["bridleway", "equestrian", "horse", "trail"], "name": "Bridle Path"}, "highway/bus_guideway": {"icon": "iD-highway-bus-guideway", "fields": ["name", "operator", "oneway"], "geometry": ["line"], "tags": {"highway": "bus_guideway"}, "addTags": {"highway": "bus_guideway", "access": "no", "bus": "designated"}, "removeTags": {"highway": "bus_guideway", "access": "no", "bus": "designated"}, "terms": [], "name": "Bus Guideway"}, "highway/corridor": {"icon": "iD-highway-footway", "fields": ["name", "width", "level", "access_simple"], "geometry": ["line"], "tags": {"highway": "corridor"}, "terms": ["gallery", "hall", "hallway", "indoor", "passage", "passageway"], "name": "Indoor Corridor"}, - "highway/crossing-raised": {"fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["flat top", "hump", "speed", "slow"], "name": "Raised Street Crossing"}, - "highway/crossing": {"fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing"}, "reference": {"key": "highway", "value": "crossing"}, "terms": [], "name": "Street Crossing"}, - "highway/crosswalk-raised": {"icon": "temaki-pedestrian", "fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing", "crossing": "zebra", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["zebra crossing", "flat top", "hump", "speed", "slow"], "name": "Raised Pedestrian Crosswalk"}, - "highway/crosswalk": {"icon": "temaki-pedestrian", "fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing", "crossing": "zebra"}, "reference": {"key": "highway", "value": "crossing"}, "terms": ["zebra crossing"], "name": "Pedestrian Crosswalk"}, + "highway/crossing/zebra-raised": {"icon": "temaki-pedestrian", "fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing", "crossing": "zebra", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["zebra crossing", "marked crossing", "crosswalk", "flat top", "hump", "speed", "slow"], "name": "Marked Crosswalk (Raised)", "searchable": false}, + "highway/crossing/zebra": {"icon": "temaki-pedestrian", "fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing", "crossing": "zebra"}, "reference": {"key": "highway", "value": "crossing"}, "terms": ["zebra crossing", "marked crossing", "crosswalk"], "name": "Marked Crosswalk", "searchable": false}, + "highway/crossing/marked-raised": {"icon": "temaki-pedestrian", "fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing", "crossing": "marked", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["zebra crossing", "marked crossing", "crosswalk", "flat top", "hump", "speed", "slow"], "name": "Marked Crosswalk (Raised)"}, + "highway/crossing/marked": {"icon": "temaki-pedestrian", "fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "tags": {"highway": "crossing", "crossing": "marked"}, "reference": {"key": "highway", "value": "crossing"}, "terms": ["zebra crossing", "marked crossing", "crosswalk"], "name": "Marked Crosswalk"}, + "highway/crossing/unmarked-raised": {"fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "addTags": {"highway": "crossing", "crossing": "unmarked", "traffic_calming": "table"}, "removeTags": {"highway": "crossing", "crossing": "unmarked", "traffic_calming": "table"}, "tags": {"highway": "crossing", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["flat top", "hump", "speed", "slow"], "name": "Unmarked Crossing (Raised)"}, + "highway/crossing/unmarked": {"fields": ["crossing", "kerb", "tactile_paving"], "geometry": ["vertex"], "addTags": {"highway": "crossing", "crossing": "unmarked"}, "removeTags": {"highway": "crossing", "crossing": "unmarked"}, "tags": {"highway": "crossing"}, "reference": {"key": "highway", "value": "crossing"}, "terms": [], "name": "Unmarked Crossing"}, "highway/cycleway": {"icon": "iD-highway-cycleway", "fields": ["name", "oneway", "surface", "lit", "width", "structure", "access"], "geometry": ["line"], "tags": {"highway": "cycleway"}, "terms": ["bike"], "name": "Cycle Path"}, "highway/elevator": {"icon": "temaki-elevator", "fields": ["access_simple", "opening_hours", "maxweight", "ref"], "geometry": ["vertex"], "tags": {"highway": "elevator"}, "terms": ["lift"], "name": "Elevator"}, "highway/footway": {"icon": "iD-highway-footway", "fields": ["name", "surface", "lit", "width", "structure", "access"], "geometry": ["line"], "terms": ["hike", "hiking", "trackway", "trail", "walk"], "tags": {"highway": "footway"}, "name": "Foot Path"}, + "highway/footway/zebra-raised": {"icon": "iD-highway-footway", "fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing", "crossing": "zebra", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["zebra crossing", "marked crossing", "crosswalk", "flat top", "hump", "speed", "slow"], "name": "Marked Crosswalk (Raised)", "searchable": false}, + "highway/footway/zebra": {"icon": "iD-highway-footway", "fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing", "crossing": "zebra"}, "reference": {"key": "footway", "value": "crossing"}, "terms": ["zebra crossing", "marked crossing", "crosswalk"], "name": "Marked Crosswalk", "searchable": false}, + "highway/footway/conveying": {"icon": "iD-highway-footway", "fields": ["name", "conveying", "access_simple", "lit", "width"], "geometry": ["line"], "terms": ["moving sidewalk", "autwalk", "skywalk", "travolator", "travelator", "travellator", "conveyor"], "tags": {"highway": "footway", "conveying": "*"}, "name": "Moving Walkway"}, + "highway/footway/marked-raised": {"icon": "iD-highway-footway", "fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing", "crossing": "marked", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["zebra crossing", "marked crossing", "crosswalk", "flat top", "hump", "speed", "slow"], "name": "Marked Crosswalk (Raised)"}, + "highway/footway/marked": {"icon": "iD-highway-footway", "fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "crossing", "crossing": "marked"}, "reference": {"key": "footway", "value": "crossing"}, "terms": ["zebra crossing", "marked crossing", "crosswalk"], "name": "Marked Crosswalk"}, + "highway/footway/sidewalk": {"icon": "iD-highway-footway", "fields": ["surface", "lit", "width", "structure", "access"], "geometry": ["line"], "tags": {"highway": "footway", "footway": "sidewalk"}, "reference": {"key": "footway", "value": "sidewalk"}, "terms": ["pavement", "sidepath"], "name": "Sidewalk"}, + "highway/footway/unmarked-raised": {"fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "addTags": {"highway": "footway", "footway": "crossing", "crossing": "unmarked", "traffic_calming": "table"}, "removeTags": {"highway": "footway", "footway": "crossing", "crossing": "unmarked", "traffic_calming": "table"}, "tags": {"highway": "footway", "footway": "crossing", "traffic_calming": "table"}, "reference": {"key": "traffic_calming", "value": "table"}, "terms": ["flat top", "hump", "speed", "slow"], "name": "Unmarked Crossing (Raised)"}, + "highway/footway/unmarked": {"fields": ["crossing", "access", "surface", "kerb", "tactile_paving"], "geometry": ["line"], "addTags": {"highway": "footway", "footway": "crossing", "crossing": "unmarked"}, "removeTags": {"highway": "footway", "footway": "crossing", "crossing": "unmarked"}, "tags": {"highway": "footway", "footway": "crossing"}, "reference": {"key": "footway", "value": "crossing"}, "terms": [], "name": "Unmarked Crossing"}, "highway/give_way": {"icon": "temaki-yield", "fields": ["direction_vertex"], "geometry": ["vertex"], "tags": {"highway": "give_way"}, "terms": ["give way", "yield", "sign"], "name": "Yield Sign"}, "highway/living_street": {"icon": "iD-highway-living-street", "fields": ["name", "oneway", "maxspeed", "lanes", "surface", "structure", "maxheight", "access", "cycleway"], "geometry": ["line"], "tags": {"highway": "living_street"}, "name": "Living Street"}, "highway/milestone": {"icon": "temaki-milestone", "geometry": ["point", "vertex"], "fields": ["distance", "direction_vertex"], "tags": {"highway": "milestone"}, "terms": ["milestone", "marker"], "name": "Highway Milestone"}, @@ -398,6 +412,7 @@ "highway/services": {"icon": "maki-car", "fields": ["name"], "geometry": ["point", "vertex", "area"], "tags": {"highway": "services"}, "terms": ["services", "travel plaza", "service station"], "name": "Service Area"}, "highway/speed_camera": {"icon": "maki-attraction", "geometry": ["point", "vertex"], "fields": ["direction", "ref"], "tags": {"highway": "speed_camera"}, "terms": [], "name": "Speed Camera"}, "highway/steps": {"icon": "iD-highway-steps", "fields": ["surface", "lit", "width", "incline_steps", "handrail", "step_count"], "geometry": ["line"], "tags": {"highway": "steps"}, "terms": ["stairs", "staircase"], "name": "Steps"}, + "highway/steps/conveying": {"icon": "maki-entrance", "fields": ["name", "incline_steps", "conveying", "access_simple", "lit", "width", "handrail", "step_count"], "geometry": ["line"], "terms": ["moving staircase", "moving stairway", "people mover"], "tags": {"highway": "steps", "conveying": "*"}, "name": "Escalator"}, "highway/stop": {"icon": "temaki-stop", "fields": ["stop", "direction_vertex"], "geometry": ["vertex"], "tags": {"highway": "stop"}, "terms": ["stop", "halt", "sign"], "name": "Stop Sign"}, "highway/street_lamp": {"icon": "temaki-bulb", "geometry": ["point", "vertex"], "tags": {"highway": "street_lamp"}, "fields": ["lamp_type", "direction", "ref"], "terms": ["streetlight", "street light", "lamp", "light", "gaslight"], "name": "Street Lamp"}, "highway/tertiary_link": {"icon": "iD-highway-tertiary-link", "fields": ["name", "oneway", "maxspeed", "maxspeed/advisory", "lanes", "surface", "structure", "maxheight", "ref_road_number", "cycleway", "access"], "geometry": ["line"], "tags": {"highway": "tertiary_link"}, "terms": ["on ramp", "off ramp", "ramp", "road", "street"], "name": "Tertiary Link"}, @@ -508,7 +523,7 @@ "leisure/pitch": {"icon": "maki-pitch", "fields": ["name", "sport", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch"}, "terms": ["field"], "name": "Sport Pitch"}, "leisure/pitch/american_football": {"icon": "maki-america-football", "fields": ["name", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "american_football"}, "reference": {"key": "sport", "value": "american_football"}, "terms": [], "name": "American Football Field"}, "leisure/pitch/badminton": {"icon": "maki-tennis", "fields": ["name", "surface", "lit", "access_simple"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "badminton"}, "reference": {"key": "sport", "value": "badminton"}, "terms": [], "name": "Badminton Court"}, - "leisure/pitch/baseball": {"icon": "maki-baseball", "fields": ["name", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "baseball"}, "reference": {"key": "sport", "value": "baseball"}, "terms": [], "name": "Baseball Diamond"}, + "leisure/pitch/baseball": {"icon": "maki-baseball", "fields": ["name", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "baseball"}, "reference": {"key": "sport", "value": "baseball"}, "terms": [], "name": "Baseball Field"}, "leisure/pitch/basketball": {"icon": "maki-basketball", "fields": ["name", "surface", "hoops", "lit", "access_simple"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "basketball"}, "reference": {"key": "sport", "value": "basketball"}, "terms": [], "name": "Basketball Court"}, "leisure/pitch/beachvolleyball": {"icon": "maki-basketball", "fields": ["name", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "beachvolleyball"}, "addTags": {"leisure": "pitch", "sport": "beachvolleyball", "surface": "sand"}, "removeTags": {"leisure": "pitch", "sport": "beachvolleyball", "surface": "sand"}, "reference": {"key": "sport", "value": "beachvolleyball"}, "terms": ["volleyball"], "name": "Beach Volleyball Court"}, "leisure/pitch/boules": {"icon": "maki-pitch", "fields": ["name", "boules", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "boules"}, "reference": {"key": "sport", "value": "boules"}, "terms": ["bocce", "lyonnaise", "pétanque"], "name": "Boules/Bocce Court"}, @@ -519,6 +534,7 @@ "leisure/pitch/rugby_union": {"icon": "maki-america-football", "fields": ["name", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "rugby_union"}, "reference": {"key": "sport", "value": "rugby_union"}, "terms": [], "name": "Rugby Union Field"}, "leisure/pitch/skateboard": {"icon": "maki-pitch", "fields": ["name", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "skateboard"}, "reference": {"key": "sport", "value": "skateboard"}, "terms": [], "name": "Skate Park"}, "leisure/pitch/soccer": {"icon": "maki-soccer", "fields": ["name", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "soccer"}, "reference": {"key": "sport", "value": "soccer"}, "terms": ["football"], "name": "Soccer Field"}, + "leisure/pitch/softball": {"icon": "maki-baseball", "fields": ["name", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "softball"}, "reference": {"key": "sport", "value": "softball"}, "terms": ["softball", "diamond"], "name": "Softball Field"}, "leisure/pitch/table_tennis": {"icon": "maki-tennis", "fields": ["name", "lit", "access_simple"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "table_tennis"}, "reference": {"key": "sport", "value": "table_tennis"}, "terms": ["table tennis", "ping pong"], "name": "Ping Pong Table"}, "leisure/pitch/tennis": {"icon": "maki-tennis", "fields": ["name", "surface", "lit", "access_simple"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "tennis"}, "reference": {"key": "sport", "value": "tennis"}, "terms": [], "name": "Tennis Court"}, "leisure/pitch/volleyball": {"icon": "maki-basketball", "fields": ["name", "surface", "lit"], "geometry": ["point", "area"], "tags": {"leisure": "pitch", "sport": "volleyball"}, "reference": {"key": "sport", "value": "volleyball"}, "terms": [], "name": "Volleyball Court"}, @@ -555,7 +571,7 @@ "man_made/observatory": {"geometry": ["point", "area"], "terms": ["astronomical", "meteorological"], "tags": {"man_made": "observatory"}, "name": "Observatory"}, "man_made/petroleum_well": {"icon": "temaki-storage_tank", "geometry": ["point"], "terms": ["drilling rig", "oil derrick", "oil drill", "oil horse", "oil rig", "oil pump", "petroleum well", "pumpjack"], "tags": {"man_made": "petroleum_well"}, "name": "Oil Well"}, "man_made/pier": {"icon": "iD-highway-footway", "fields": ["name", "surface", "lit", "width", "access"], "geometry": ["line", "area"], "terms": ["dock", "jetty"], "tags": {"man_made": "pier"}, "name": "Pier"}, - "man_made/pipeline": {"icon": "iD-pipeline-line", "fields": ["location", "operator", "substance", "layer"], "geometry": ["line"], "tags": {"man_made": "pipeline"}, "name": "Pipeline"}, + "man_made/pipeline": {"icon": "iD-pipeline-line", "fields": ["location", "operator", "substance", "layer"], "geometry": ["line"], "terms": ["oil", "natural gas", "water", "sewer", "sewage"], "tags": {"man_made": "pipeline"}, "name": "Pipeline"}, "man_made/pumping_station": {"icon": "maki-water", "geometry": ["point", "area"], "tags": {"man_made": "pumping_station"}, "name": "Pumping Station"}, "man_made/silo": {"icon": "temaki-silo", "fields": ["crop", "building_area"], "geometry": ["point", "area"], "terms": ["grain", "corn", "wheat"], "tags": {"man_made": "silo"}, "name": "Silo"}, "man_made/storage_tank": {"icon": "temaki-storage_tank", "fields": ["content", "building_area"], "geometry": ["point", "area"], "terms": ["water", "oil", "gas", "petrol"], "tags": {"man_made": "storage_tank"}, "name": "Storage Tank"}, @@ -593,7 +609,7 @@ "natural/scree": {"geometry": ["area"], "tags": {"natural": "scree"}, "terms": ["loose rocks"], "name": "Scree"}, "natural/scrub": {"geometry": ["area"], "tags": {"natural": "scrub"}, "terms": ["bush", "shrubs"], "name": "Scrub"}, "natural/spring": {"icon": "maki-water", "fields": ["name", "intermittent"], "geometry": ["point", "vertex"], "tags": {"natural": "spring"}, "terms": [], "name": "Spring"}, - "natural/tree_row": {"icon": "maki-park", "fields": ["leaf_type", "leaf_cycle", "denotation"], "geometry": ["line"], "tags": {"natural": "tree_row"}, "terms": [], "name": "Tree row"}, + "natural/tree_row": {"icon": "maki-park", "fields": ["leaf_type", "leaf_cycle", "denotation"], "geometry": ["line"], "tags": {"natural": "tree_row"}, "terms": [], "name": "Tree Row"}, "natural/tree": {"icon": "maki-park", "fields": ["leaf_type_singular", "leaf_cycle_singular", "denotation"], "geometry": ["point", "vertex"], "tags": {"natural": "tree"}, "terms": [], "name": "Tree"}, "natural/volcano": {"icon": "maki-volcano", "fields": ["name", "elevation", "volcano/status", "volcano/type"], "geometry": ["point", "vertex"], "tags": {"natural": "volcano"}, "terms": ["mountain", "crater"], "name": "Volcano"}, "natural/water": {"icon": "maki-water", "fields": ["water"], "geometry": ["area"], "tags": {"natural": "water"}, "name": "Water"}, @@ -643,7 +659,14 @@ "office/telecommunication": {"icon": "maki-telephone", "fields": ["name", "address", "building_area", "opening_hours"], "geometry": ["point", "area"], "tags": {"office": "telecommunication"}, "terms": ["communication", "internet", "phone", "voice"], "name": "Telecom Office"}, "office/therapist": {"icon": "maki-suitcase", "fields": ["name", "address", "building_area", "opening_hours"], "geometry": ["point", "area"], "tags": {"office": "therapist"}, "terms": ["therapy"], "name": "Therapist Office"}, "office/water_utility": {"icon": "maki-suitcase", "fields": ["name", "address", "building_area", "opening_hours", "operator"], "geometry": ["point", "area"], "tags": {"office": "water_utility"}, "terms": ["water board", "utility"], "name": "Water Utility Office"}, - "piste": {"icon": "maki-skiing", "fields": ["name", "piste/type", "piste/difficulty", "piste/grooming", "oneway", "lit"], "geometry": ["point", "line", "area"], "terms": ["ski", "sled", "sleigh", "snowboard", "nordic", "downhill", "snowmobile"], "tags": {"piste:type": "*"}, "name": "Piste/Ski Trail"}, + "piste/downhill": {"icon": "maki-skiing", "fields": ["name", "piste/type", "piste/difficulty_downhill", "piste/grooming_downhill", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["ski", "alpine", "snowboard", "downhill", "piste"], "tags": {"piste:type": "downhill"}, "name": "Downhill Piste/Ski Run"}, + "piste/hike": {"icon": "fas-snowflake", "fields": ["name", "piste/type", "piste/difficulty", "piste/grooming_hike", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["hike", "winter hiking", "snowshoe", "snowshoeing", "piste", "ski"], "tags": {"piste:type": "hike"}, "name": "Snowshoeing or Winter Hiking Trail"}, + "piste/ice_skate": {"icon": "fas-snowflake", "fields": ["name", "piste/type", "sport_ice", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["ice", "skating", "ski", "piste"], "tags": {"piste:type": "ice_skate"}, "name": "Ice Skating Piste"}, + "piste/nordic": {"icon": "maki-skiing", "fields": ["name", "piste/type", "piste/difficulty_nordic", "piste/grooming_nordic", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["ski", "nordic", "crosscountry", "skating", "piste"], "tags": {"piste:type": "nordic"}, "name": "Nordic or Crosscountry Piste/Ski Trail"}, + "piste/piste": {"icon": "maki-skiing", "fields": ["name", "piste/type", "piste/difficulty", "piste/grooming", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["ski", "nordic", "crosscountry", "downhill", "alpine", "snowboard", "skitour", "ski touring", "sled", "luge", "sleigh", "sledge", "ski-joring", "husky", "horse", "winter hiking", "snowshoe", "snowshoeing", "ice", "skating"], "tags": {"piste:type": "*"}, "name": "Winter Sport Trails"}, + "piste/skitour": {"icon": "maki-skiing", "fields": ["name", "piste/type", "piste/difficulty_skitour", "piste/grooming", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["ski", "skitour", "crosscountry", "ski touring", "piste"], "tags": {"piste:type": "skitour"}, "name": "Ski Touring Trail"}, + "piste/sled": {"icon": "fas-snowflake", "fields": ["name", "piste/type", "piste/difficulty", "piste/grooming", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["ski", "sled", "luge", "sleigh", "sledge", "piste"], "tags": {"piste:type": "sled"}, "name": "Sled Piste"}, + "piste/sleigh": {"icon": "fas-snowflake", "fields": ["name", "piste/type", "piste/difficulty", "piste/grooming", "oneway", "lit"], "geometry": ["line", "area"], "terms": ["ski", "piste", "sled", "luge", "sleigh", "sledge", "ski-joring", "husky", "horse"], "tags": {"piste:type": "sleigh"}, "name": "Sleigh Piste"}, "place/farm": {"icon": "maki-farm", "geometry": ["point", "area"], "fields": ["name"], "tags": {"place": "farm"}, "name": "Farm", "searchable": false}, "place/city": {"icon": "maki-city", "fields": ["name", "population"], "geometry": ["point", "area"], "tags": {"place": "city"}, "name": "City"}, "place/hamlet": {"icon": "maki-triangle-stroked", "fields": ["name", "population"], "geometry": ["point", "area"], "tags": {"place": "hamlet"}, "name": "Hamlet"}, @@ -674,16 +697,18 @@ "playground/zipwire": {"icon": "maki-playground", "geometry": ["point", "line"], "tags": {"playground": "zipwire"}, "name": "Zip Wire"}, "point": {"fields": ["name"], "geometry": ["point"], "tags": {}, "name": "Point", "matchScore": 0.1}, "power/sub_station": {"icon": "temaki-power", "fields": ["substation", "operator", "building", "ref"], "geometry": ["point", "area"], "tags": {"power": "sub_station"}, "reference": {"key": "power", "value": "substation"}, "name": "Substation", "searchable": false}, + "power/cable/underground": {"fields": ["name", "operator", "voltage", "ref", "layer"], "geometry": ["line"], "tags": {"power": "cable", "location": "underground"}, "name": "Underground Power Cable"}, "power/generator": {"icon": "temaki-power", "fields": ["operator", "generator/source", "generator/method", "generator/type", "generator/output/electricity", "ref"], "geometry": ["point", "vertex", "area"], "terms": ["hydro", "solar", "turbine", "wind"], "tags": {"power": "generator"}, "name": "Power Generator"}, - "power/generator/source_nuclear": {"icon": "temaki-radiation", "fields": ["operator", "generator/source", "generator/method", "generator/type", "generator/output/electricity", "ref"], "geometry": ["point", "vertex", "area"], "terms": ["fission", "generator", "nuclear", "nuke", "reactor"], "tags": {"power": "generator", "generator:source": "nuclear", "generator:method": "fission"}, "reference": {"key": "generator:source", "value": "nuclear"}, "name": "Nuclear Reactor"}, - "power/generator/source_wind": {"icon": "temaki-wind_turbine", "fields": ["operator", "generator/source", "generator/method", "generator/type", "generator/output/electricity", "height", "ref"], "geometry": ["point", "vertex", "area"], "terms": ["generator", "turbine", "windmill", "wind"], "tags": {"power": "generator", "generator:source": "wind", "generator:method": "wind_turbine"}, "reference": {"key": "generator:source", "value": "wind"}, "name": "Wind Turbine"}, + "power/generator/method/photovoltaic": {"icon": "fas-solar-panel", "fields": ["operator", "generator/output/electricity", "ref"], "geometry": ["point", "vertex", "area"], "terms": ["photovoltaic module", "PV module", "sunlight"], "tags": {"power": "generator", "generator:source": "solar", "generator:method": "photovoltaic", "generator:type": "solar_photovoltaic_panel"}, "addTags": {"power": "generator", "generator:source": "solar", "generator:method": "photovoltaic", "generator:type": "solar_photovoltaic_panel", "generator:output:electricity": "yes"}, "removeTags": {"power": "generator", "generator:source": "solar", "generator:method": "photovoltaic", "generator:type": "solar_photovoltaic_panel", "generator:output:electricity": "yes"}, "reference": {"key": "generator:method", "value": "photovoltaic"}, "name": "Solar Panel"}, + "power/generator/source/nuclear": {"icon": "temaki-radiation", "fields": ["operator", "generator/source", "generator/method", "generator/type", "generator/output/electricity", "ref"], "geometry": ["point", "vertex", "area"], "terms": ["fission", "generator", "nuclear", "nuke", "reactor"], "tags": {"power": "generator", "generator:source": "nuclear", "generator:method": "fission"}, "reference": {"key": "generator:source", "value": "nuclear"}, "name": "Nuclear Reactor"}, + "power/generator/source/wind": {"icon": "temaki-wind_turbine", "fields": ["operator", "generator/source", "generator/method", "generator/type", "generator/output/electricity", "height", "ref"], "geometry": ["point", "vertex", "area"], "terms": ["generator", "turbine", "windmill", "wind"], "tags": {"power": "generator", "generator:source": "wind", "generator:method": "wind_turbine"}, "reference": {"key": "generator:source", "value": "wind"}, "name": "Wind Turbine"}, "power/line": {"icon": "iD-power-line", "fields": ["name", "operator", "voltage", "ref", "layer"], "geometry": ["line"], "tags": {"power": "line"}, "name": "Power Line"}, "power/minor_line": {"icon": "iD-power-line", "fields": ["name", "operator", "voltage", "ref", "layer"], "geometry": ["line"], "tags": {"power": "minor_line"}, "name": "Minor Power Line"}, "power/plant": {"icon": "maki-industry", "fields": ["name", "operator", "address", "plant/output/electricity", "start_date"], "geometry": ["area"], "tags": {"power": "plant"}, "addTags": {"power": "plant", "landuse": "industrial"}, "removeTags": {"power": "plant", "landuse": "industrial"}, "terms": ["coal", "gas", "generat*", "hydro", "nuclear", "power", "station"], "name": "Power Station Grounds"}, "power/pole": {"fields": ["ref"], "geometry": ["point", "vertex"], "tags": {"power": "pole"}, "name": "Power Pole"}, "power/substation": {"icon": "temaki-power", "fields": ["substation", "operator", "building", "ref"], "geometry": ["point", "area"], "tags": {"power": "substation"}, "name": "Substation"}, "power/switch": {"icon": "temaki-power", "fields": ["switch", "operator", "location", "cables", "voltage", "ref"], "geometry": ["point", "vertex", "area"], "tags": {"power": "switch"}, "name": "Power Switch"}, - "power/tower": {"fields": ["ref"], "geometry": ["vertex"], "tags": {"power": "tower"}, "name": "High-Voltage Tower"}, + "power/tower": {"fields": ["design", "ref"], "geometry": ["point", "vertex"], "terms": ["power"], "tags": {"power": "tower"}, "name": "High-Voltage Tower"}, "power/transformer": {"icon": "temaki-power", "fields": ["transformer", "operator", "location", "rating", "devices", "phases", "frequency", "voltage/primary", "voltage/secondary", "voltage/tertiary", "windings", "windings/configuration", "ref"], "geometry": ["point", "vertex", "area"], "tags": {"power": "transformer"}, "name": "Transformer"}, "public_transport/linear_platform_aerialway": {"icon": "iD-highway-footway", "fields": ["name", "ref_platform", "network", "operator", "surface", "lit", "bench", "shelter"], "geometry": ["line"], "tags": {"public_transport": "platform", "aerialway": "yes"}, "reference": {"key": "public_transport", "value": "platform"}, "terms": ["aerialway", "cable car", "platform", "public transit", "public transportation", "transit", "transportation"], "name": "Aerialway Stop / Platform"}, "public_transport/linear_platform_bus": {"icon": "iD-highway-footway", "fields": ["name", "ref_platform", "network", "operator", "surface", "lit", "bench", "shelter", "passenger_information_display"], "geometry": ["line"], "tags": {"public_transport": "platform", "bus": "yes"}, "addTags": {"public_transport": "platform", "bus": "yes", "highway": "bus_stop"}, "removeTags": {"public_transport": "platform", "bus": "yes", "highway": "bus_stop"}, "reference": {"key": "public_transport", "value": "platform"}, "terms": ["bus", "platform", "public transit", "public transportation", "transit", "transportation"], "name": "Bus Stop / Platform"}, @@ -926,6 +951,12 @@ "traffic_calming/island": {"icon": "temaki-diamond", "geometry": ["vertex"], "terms": ["circle", "roundabout", "slow"], "tags": {"traffic_calming": "island"}, "name": "Traffic Island"}, "traffic_calming/rumble_strip": {"icon": "temaki-diamond", "fields": ["direction_vertex"], "geometry": ["vertex", "line"], "terms": ["audible lines", "sleeper lines", "growlers"], "tags": {"traffic_calming": "rumble_strip"}, "name": "Rumble Strip"}, "traffic_calming/table": {"icon": "temaki-diamond", "fields": ["surface"], "geometry": ["vertex"], "tags": {"traffic_calming": "table"}, "terms": ["flat top", "hump", "speed", "slow"], "name": "Speed Table"}, + "traffic_sign_vertex": {"icon": "maki-square-stroked", "fields": ["traffic_sign", "traffic_sign/direction"], "geometry": ["vertex"], "tags": {"traffic_sign": "*"}, "terms": ["road", "highway"], "name": "Traffic Sign"}, + "traffic_sign": {"icon": "maki-square-stroked", "fields": ["traffic_sign", "direction"], "geometry": ["point"], "tags": {"traffic_sign": "*"}, "terms": ["road", "highway"], "name": "Traffic Sign"}, + "traffic_sign/city_limit_vertex": {"icon": "maki-square-stroked", "fields": ["traffic_sign", "traffic_sign/direction", "name"], "geometry": ["vertex"], "tags": {"traffic_sign": "city_limit"}, "terms": ["town", "village", "hamlet", "boundary", "edge", "border", "road", "highway"], "name": "City Limit Sign"}, + "traffic_sign/city_limit": {"icon": "maki-square-stroked", "fields": ["traffic_sign", "direction", "name"], "geometry": ["point"], "tags": {"traffic_sign": "city_limit"}, "terms": ["town", "village", "hamlet", "boundary", "edge", "border", "road", "highway"], "name": "City Limit Sign"}, + "traffic_sign/maxspeed_vertex": {"icon": "maki-square-stroked", "fields": ["traffic_sign", "traffic_sign/direction", "maxspeed"], "geometry": ["vertex"], "tags": {"traffic_sign": "maxspeed"}, "terms": ["max speed", "maximum speed", "road", "highway"], "name": "Speed Limit Sign"}, + "traffic_sign/maxspeed": {"icon": "maki-square-stroked", "fields": ["traffic_sign", "direction", "maxspeed"], "geometry": ["point"], "tags": {"traffic_sign": "maxspeed"}, "terms": ["max speed", "maximum speed", "road", "highway"], "name": "Speed Limit Sign"}, "type/multipolygon": {"icon": "iD-multipolygon", "geometry": ["area", "relation"], "tags": {"type": "multipolygon"}, "removeTags": {}, "name": "Multipolygon", "searchable": false, "matchScore": 0.1}, "type/boundary": {"icon": "iD-boundary", "fields": ["name", "boundary"], "geometry": ["relation"], "tags": {"type": "boundary"}, "name": "Boundary"}, "type/boundary/administrative": {"icon": "iD-boundary", "fields": ["name", "admin_level"], "geometry": ["relation"], "tags": {"type": "boundary", "boundary": "administrative"}, "reference": {"key": "boundary", "value": "administrative"}, "name": "Administrative Boundary"}, @@ -949,7 +980,7 @@ "type/route/horse": {"icon": "iD-route-horse", "fields": ["name", "ref_route", "operator", "network_horse", "description", "distance"], "geometry": ["relation"], "tags": {"type": "route", "route": "horse"}, "name": "Riding Route"}, "type/route/light_rail": {"icon": "iD-route-light-rail", "fields": ["name", "ref_route", "operator", "network"], "geometry": ["relation"], "tags": {"type": "route", "route": "light_rail"}, "name": "Light Rail Route"}, "type/route/pipeline": {"icon": "iD-route-pipeline", "fields": ["name", "ref_route", "operator"], "geometry": ["relation"], "tags": {"type": "route", "route": "pipeline"}, "name": "Pipeline Route"}, - "type/route/piste": {"icon": "iD-route-piste", "fields": ["name", "ref_route", "operator", "network"], "geometry": ["relation"], "tags": {"type": "route", "route": "piste"}, "name": "Piste/Ski Route"}, + "type/route/piste": {"icon": "iD-route-piste", "fields": ["name", "piste/type", "colour", "ref_route", "operator"], "geometry": ["relation"], "tags": {"type": "route", "route": "piste"}, "name": "Piste/Ski Route"}, "type/route/power": {"icon": "iD-route-power", "fields": ["name", "ref_route", "operator"], "geometry": ["relation"], "tags": {"type": "route", "route": "power"}, "name": "Power Route"}, "type/route/road": {"icon": "iD-route-road", "fields": ["name", "ref_route", "network_road"], "geometry": ["relation"], "tags": {"type": "route", "route": "road"}, "name": "Road Route"}, "type/route/subway": {"icon": "iD-route-subway", "fields": ["name", "ref_route", "operator", "network"], "geometry": ["relation"], "tags": {"type": "route", "route": "subway"}, "name": "Subway Route"}, diff --git a/data/presets/presets/amenity/_recycling.json b/data/presets/presets/amenity/_recycling.json new file mode 100644 index 000000000..9fd440d1b --- /dev/null +++ b/data/presets/presets/amenity/_recycling.json @@ -0,0 +1,27 @@ +{ + "icon": "maki-recycling", + "fields": [ + "recycling_type", + "recycling_accepts", + "collection_times" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "bin", + "can", + "bottle", + "glass", + "garbage", + "rubbish", + "scrap", + "trash" + ], + "tags": { + "amenity": "recycling" + }, + "name": "Recycling", + "searchable": false +} diff --git a/data/presets/presets/amenity/bench.json b/data/presets/presets/amenity/bench.json index fa9be5ffc..5d58127cd 100644 --- a/data/presets/presets/amenity/bench.json +++ b/data/presets/presets/amenity/bench.json @@ -1,7 +1,10 @@ { "icon": "temaki-bench", "fields": [ - "backrest" + "backrest", + "material", + "seats", + "colour" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/parking/multi-storey.json b/data/presets/presets/amenity/parking/multi-storey.json new file mode 100644 index 000000000..6e1fd256a --- /dev/null +++ b/data/presets/presets/amenity/parking/multi-storey.json @@ -0,0 +1,34 @@ +{ + "icon": "maki-parking-garage", + "fields": ["name", "building", "levels", "height", "address"], + "geometry": ["area"], + "terms": [ + "multistorey car park", + "parking garage", + "parkade", + "parking structure", + "parking ramp", + "parking deck", + "parking building", + "indoor parking" + ], + "tags": { + "amenity": "parking", + "parking": "multi-storey" + }, + "addTags": { + "building": "parking", + "amenity": "parking", + "parking": "multi-storey" + }, + "removeTags": { + "building": "parking", + "amenity": "parking", + "parking": "multi-storey" + }, + "reference": { + "key": "parking", + "value": "multi-storey" + }, + "name": "Multilevel Car Parking" +} diff --git a/data/presets/presets/amenity/recycling.json b/data/presets/presets/amenity/recycling_container.json similarity index 77% rename from data/presets/presets/amenity/recycling.json rename to data/presets/presets/amenity/recycling_container.json index 68847b930..f7ab742ca 100644 --- a/data/presets/presets/amenity/recycling.json +++ b/data/presets/presets/amenity/recycling_container.json @@ -19,13 +19,6 @@ "trash" ], "tags": { - "amenity": "recycling" - }, - "addTags": { - "amenity": "recycling", - "recycling_type": "container" - }, - "removeTags": { "amenity": "recycling", "recycling_type": "container" }, diff --git a/data/presets/presets/amenity/shelter/picnic_shelter.json b/data/presets/presets/amenity/shelter/picnic_shelter.json new file mode 100644 index 000000000..2b7e08374 --- /dev/null +++ b/data/presets/presets/amenity/shelter/picnic_shelter.json @@ -0,0 +1,15 @@ +{ + "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" +} diff --git a/data/presets/presets/amenity/shelter/public_transport.json b/data/presets/presets/amenity/shelter/public_transport.json new file mode 100644 index 000000000..e7ee477f8 --- /dev/null +++ b/data/presets/presets/amenity/shelter/public_transport.json @@ -0,0 +1,28 @@ +{ + "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" +} diff --git a/data/presets/presets/amenity/theatre/type/amphi.json b/data/presets/presets/amenity/theatre/type/amphi.json new file mode 100644 index 000000000..6d18e1e5f --- /dev/null +++ b/data/presets/presets/amenity/theatre/type/amphi.json @@ -0,0 +1,23 @@ +{ + "icon": "maki-theatre", + "fields": [ + "name", + "operator", + "address", + "lit" + ], + "geometry": [ + "point", "area" + ], + "terms": [ + "open air", + "outdoor", + "greek", + "ampi" + ], + "tags": { + "amenity": "theatre", + "theatre:type": "amphi" + }, + "name": "Amphitheatre" +} diff --git a/data/presets/presets/barrier/kerb.json b/data/presets/presets/barrier/kerb.json index aff132c00..21fdd6985 100644 --- a/data/presets/presets/barrier/kerb.json +++ b/data/presets/presets/barrier/kerb.json @@ -11,5 +11,5 @@ "tags": { "barrier": "kerb" }, - "name": "Kerb" + "name": "Curb" } diff --git a/data/presets/presets/barrier/kerb/lowered.json b/data/presets/presets/barrier/kerb/lowered.json new file mode 100644 index 000000000..9054ddc4d --- /dev/null +++ b/data/presets/presets/barrier/kerb/lowered.json @@ -0,0 +1,27 @@ +{ + "icon": "maki-wheelchair", + "fields": [ + "kerb", + "tactile_paving" + ], + "geometry": [ + "vertex", + "line" + ], + "tags": { + "barrier": "kerb", + "kerb": "lowered" + }, + "reference": { + "key": "kerb", + "value": "lowered" + }, + "terms": [ + "curb cut", + "curb ramp", + "kerb ramp", + "dropped kerb", + "pram ramp" + ], + "name": "Lowered Curb" +} diff --git a/data/presets/presets/bridge/support.json b/data/presets/presets/bridge/support.json new file mode 100644 index 000000000..464badee1 --- /dev/null +++ b/data/presets/presets/bridge/support.json @@ -0,0 +1,15 @@ +{ + "icon": "fas-archway", + "fields": [ + "bridge/support" + ], + "geometry": [ + "point", + "vertex", + "area" + ], + "tags": { + "bridge:support": "*" + }, + "name": "Bridge Support" +} diff --git a/data/presets/presets/bridge/support/pier.json b/data/presets/presets/bridge/support/pier.json new file mode 100644 index 000000000..194027440 --- /dev/null +++ b/data/presets/presets/bridge/support/pier.json @@ -0,0 +1,15 @@ +{ + "icon": "fas-archway", + "fields": [ + "bridge/support" + ], + "geometry": [ + "point", + "vertex", + "area" + ], + "tags": { + "bridge:support": "pier" + }, + "name": "Bridge Pier" +} diff --git a/data/presets/presets/building/carport.json b/data/presets/presets/building/carport.json new file mode 100644 index 000000000..06aa5a79c --- /dev/null +++ b/data/presets/presets/building/carport.json @@ -0,0 +1,21 @@ +{ + "icon": "fas-warehouse", + "fields": [ + "height", + "capacity" + ], + "geometry": [ + "area" + ], + "tags": { + "building": "carport" + }, + "matchScore": 0.5, + "terms": [ + "covered parking space", + "garage", + "car", + "porch" + ], + "name": "Carport" +} diff --git a/data/presets/presets/highway/crosswalk-raised.json b/data/presets/presets/highway/crossing/_zebra-raised.json similarity index 80% rename from data/presets/presets/highway/crosswalk-raised.json rename to data/presets/presets/highway/crossing/_zebra-raised.json index 452d61a6c..3b47aa2b4 100644 --- a/data/presets/presets/highway/crosswalk-raised.json +++ b/data/presets/presets/highway/crossing/_zebra-raised.json @@ -19,10 +19,13 @@ }, "terms": [ "zebra crossing", + "marked crossing", + "crosswalk", "flat top", "hump", "speed", "slow" ], - "name": "Raised Pedestrian Crosswalk" + "name": "Marked Crosswalk (Raised)", + "searchable": false } diff --git a/data/presets/presets/highway/crosswalk.json b/data/presets/presets/highway/crossing/_zebra.json similarity index 72% rename from data/presets/presets/highway/crosswalk.json rename to data/presets/presets/highway/crossing/_zebra.json index f59394d4d..dfbee0997 100644 --- a/data/presets/presets/highway/crosswalk.json +++ b/data/presets/presets/highway/crossing/_zebra.json @@ -17,7 +17,10 @@ "value": "crossing" }, "terms": [ - "zebra crossing" + "zebra crossing", + "marked crossing", + "crosswalk" ], - "name": "Pedestrian Crosswalk" + "name": "Marked Crosswalk", + "searchable": false } diff --git a/data/presets/presets/highway/crossing-raised.json b/data/presets/presets/highway/crossing/marked-raised.json similarity index 68% rename from data/presets/presets/highway/crossing-raised.json rename to data/presets/presets/highway/crossing/marked-raised.json index 1b57fa04e..76316a821 100644 --- a/data/presets/presets/highway/crossing-raised.json +++ b/data/presets/presets/highway/crossing/marked-raised.json @@ -1,4 +1,5 @@ { + "icon": "temaki-pedestrian", "fields": [ "crossing", "kerb", @@ -9,6 +10,7 @@ ], "tags": { "highway": "crossing", + "crossing": "marked", "traffic_calming": "table" }, "reference": { @@ -16,10 +18,13 @@ "value": "table" }, "terms": [ + "zebra crossing", + "marked crossing", + "crosswalk", "flat top", "hump", "speed", "slow" ], - "name": "Raised Street Crossing" + "name": "Marked Crosswalk (Raised)" } diff --git a/data/presets/presets/highway/crossing/marked.json b/data/presets/presets/highway/crossing/marked.json new file mode 100644 index 000000000..a61b71302 --- /dev/null +++ b/data/presets/presets/highway/crossing/marked.json @@ -0,0 +1,25 @@ +{ + "icon": "temaki-pedestrian", + "fields": [ + "crossing", + "kerb", + "tactile_paving" + ], + "geometry": [ + "vertex" + ], + "tags": { + "highway": "crossing", + "crossing": "marked" + }, + "reference": { + "key": "highway", + "value": "crossing" + }, + "terms": [ + "zebra crossing", + "marked crossing", + "crosswalk" + ], + "name": "Marked Crosswalk" +} diff --git a/data/presets/presets/highway/crossing/unmarked-raised.json b/data/presets/presets/highway/crossing/unmarked-raised.json new file mode 100644 index 000000000..9783c1c08 --- /dev/null +++ b/data/presets/presets/highway/crossing/unmarked-raised.json @@ -0,0 +1,35 @@ +{ + "fields": [ + "crossing", + "kerb", + "tactile_paving" + ], + "geometry": [ + "vertex" + ], + "addTags": { + "highway": "crossing", + "crossing": "unmarked", + "traffic_calming": "table" + }, + "removeTags": { + "highway": "crossing", + "crossing": "unmarked", + "traffic_calming": "table" + }, + "tags": { + "highway": "crossing", + "traffic_calming": "table" + }, + "reference": { + "key": "traffic_calming", + "value": "table" + }, + "terms": [ + "flat top", + "hump", + "speed", + "slow" + ], + "name": "Unmarked Crossing (Raised)" +} diff --git a/data/presets/presets/highway/crossing.json b/data/presets/presets/highway/crossing/unmarked.json similarity index 57% rename from data/presets/presets/highway/crossing.json rename to data/presets/presets/highway/crossing/unmarked.json index 08c81d23e..54dd7df43 100644 --- a/data/presets/presets/highway/crossing.json +++ b/data/presets/presets/highway/crossing/unmarked.json @@ -7,6 +7,14 @@ "geometry": [ "vertex" ], + "addTags": { + "highway": "crossing", + "crossing": "unmarked" + }, + "removeTags": { + "highway": "crossing", + "crossing": "unmarked" + }, "tags": { "highway": "crossing" }, @@ -15,5 +23,5 @@ "value": "crossing" }, "terms": [], - "name": "Street Crossing" + "name": "Unmarked Crossing" } diff --git a/data/presets/presets/footway/crosswalk-raised.json b/data/presets/presets/highway/footway/_zebra-raised.json similarity index 82% rename from data/presets/presets/footway/crosswalk-raised.json rename to data/presets/presets/highway/footway/_zebra-raised.json index f4da4f255..f6e173680 100644 --- a/data/presets/presets/footway/crosswalk-raised.json +++ b/data/presets/presets/highway/footway/_zebra-raised.json @@ -22,10 +22,13 @@ }, "terms": [ "zebra crossing", + "marked crossing", + "crosswalk", "flat top", "hump", "speed", "slow" ], - "name": "Raised Pedestrian Crosswalk" + "name": "Marked Crosswalk (Raised)", + "searchable": false } diff --git a/data/presets/presets/footway/crosswalk.json b/data/presets/presets/highway/footway/_zebra.json similarity index 76% rename from data/presets/presets/footway/crosswalk.json rename to data/presets/presets/highway/footway/_zebra.json index a73153777..646800847 100644 --- a/data/presets/presets/footway/crosswalk.json +++ b/data/presets/presets/highway/footway/_zebra.json @@ -20,7 +20,10 @@ "value": "crossing" }, "terms": [ - "zebra crossing" + "zebra crossing", + "marked crossing", + "crosswalk" ], - "name": "Pedestrian Crosswalk" + "name": "Marked Crosswalk", + "searchable": false } diff --git a/data/presets/presets/highway/footway/conveying.json b/data/presets/presets/highway/footway/conveying.json new file mode 100644 index 000000000..508fc2f3d --- /dev/null +++ b/data/presets/presets/highway/footway/conveying.json @@ -0,0 +1,27 @@ +{ + "icon": "iD-highway-footway", + "fields": [ + "name", + "conveying", + "access_simple", + "lit", + "width" + ], + "geometry": [ + "line" + ], + "terms": [ + "moving sidewalk", + "autwalk", + "skywalk", + "travolator", + "travelator", + "travellator", + "conveyor" + ], + "tags": { + "highway": "footway", + "conveying": "*" + }, + "name": "Moving Walkway" +} diff --git a/data/presets/presets/footway/crossing-raised.json b/data/presets/presets/highway/footway/marked-raised.json similarity index 71% rename from data/presets/presets/footway/crossing-raised.json rename to data/presets/presets/highway/footway/marked-raised.json index 0ed1a2b50..d23d080f7 100644 --- a/data/presets/presets/footway/crossing-raised.json +++ b/data/presets/presets/highway/footway/marked-raised.json @@ -1,4 +1,5 @@ { + "icon": "iD-highway-footway", "fields": [ "crossing", "access", @@ -12,6 +13,7 @@ "tags": { "highway": "footway", "footway": "crossing", + "crossing": "marked", "traffic_calming": "table" }, "reference": { @@ -19,10 +21,13 @@ "value": "table" }, "terms": [ + "zebra crossing", + "marked crossing", + "crosswalk", "flat top", "hump", "speed", "slow" ], - "name": "Raised Street Crossing" + "name": "Marked Crosswalk (Raised)" } diff --git a/data/presets/presets/footway/crossing.json b/data/presets/presets/highway/footway/marked.json similarity index 57% rename from data/presets/presets/footway/crossing.json rename to data/presets/presets/highway/footway/marked.json index 293e22af8..71e8e499e 100644 --- a/data/presets/presets/footway/crossing.json +++ b/data/presets/presets/highway/footway/marked.json @@ -1,4 +1,5 @@ { + "icon": "iD-highway-footway", "fields": [ "crossing", "access", @@ -11,12 +12,17 @@ ], "tags": { "highway": "footway", - "footway": "crossing" + "footway": "crossing", + "crossing": "marked" }, "reference": { "key": "footway", "value": "crossing" }, - "terms": [], - "name": "Street Crossing" + "terms": [ + "zebra crossing", + "marked crossing", + "crosswalk" + ], + "name": "Marked Crosswalk" } diff --git a/data/presets/presets/footway/sidewalk.json b/data/presets/presets/highway/footway/sidewalk.json similarity index 85% rename from data/presets/presets/footway/sidewalk.json rename to data/presets/presets/highway/footway/sidewalk.json index ed2074fab..48390743e 100644 --- a/data/presets/presets/footway/sidewalk.json +++ b/data/presets/presets/highway/footway/sidewalk.json @@ -18,6 +18,9 @@ "key": "footway", "value": "sidewalk" }, - "terms": [], + "terms": [ + "pavement", + "sidepath" + ], "name": "Sidewalk" } diff --git a/data/presets/presets/highway/footway/unmarked-raised.json b/data/presets/presets/highway/footway/unmarked-raised.json new file mode 100644 index 000000000..03ad8db78 --- /dev/null +++ b/data/presets/presets/highway/footway/unmarked-raised.json @@ -0,0 +1,40 @@ +{ + "fields": [ + "crossing", + "access", + "surface", + "kerb", + "tactile_paving" + ], + "geometry": [ + "line" + ], + "addTags": { + "highway": "footway", + "footway": "crossing", + "crossing": "unmarked", + "traffic_calming": "table" + }, + "removeTags": { + "highway": "footway", + "footway": "crossing", + "crossing": "unmarked", + "traffic_calming": "table" + }, + "tags": { + "highway": "footway", + "footway": "crossing", + "traffic_calming": "table" + }, + "reference": { + "key": "traffic_calming", + "value": "table" + }, + "terms": [ + "flat top", + "hump", + "speed", + "slow" + ], + "name": "Unmarked Crossing (Raised)" +} diff --git a/data/presets/presets/highway/footway/unmarked.json b/data/presets/presets/highway/footway/unmarked.json new file mode 100644 index 000000000..c60797fa2 --- /dev/null +++ b/data/presets/presets/highway/footway/unmarked.json @@ -0,0 +1,32 @@ +{ + "fields": [ + "crossing", + "access", + "surface", + "kerb", + "tactile_paving" + ], + "geometry": [ + "line" + ], + "addTags": { + "highway": "footway", + "footway": "crossing", + "crossing": "unmarked" + }, + "removeTags": { + "highway": "footway", + "footway": "crossing", + "crossing": "unmarked" + }, + "tags": { + "highway": "footway", + "footway": "crossing" + }, + "reference": { + "key": "footway", + "value": "crossing" + }, + "terms": [], + "name": "Unmarked Crossing" +} diff --git a/data/presets/presets/highway/steps/conveying.json b/data/presets/presets/highway/steps/conveying.json new file mode 100644 index 000000000..e138240f0 --- /dev/null +++ b/data/presets/presets/highway/steps/conveying.json @@ -0,0 +1,26 @@ +{ + "icon": "maki-entrance", + "fields": [ + "name", + "incline_steps", + "conveying", + "access_simple", + "lit", + "width", + "handrail", + "step_count" + ], + "geometry": [ + "line" + ], + "terms": [ + "moving staircase", + "moving stairway", + "people mover" + ], + "tags": { + "highway": "steps", + "conveying": "*" + }, + "name": "Escalator" +} diff --git a/data/presets/presets/leisure/pitch/baseball.json b/data/presets/presets/leisure/pitch/baseball.json index aa36e6b63..0f38eb520 100644 --- a/data/presets/presets/leisure/pitch/baseball.json +++ b/data/presets/presets/leisure/pitch/baseball.json @@ -17,5 +17,5 @@ "value": "baseball" }, "terms": [], - "name": "Baseball Diamond" + "name": "Baseball Field" } diff --git a/data/presets/presets/leisure/pitch/softball.json b/data/presets/presets/leisure/pitch/softball.json new file mode 100644 index 000000000..2f0af2c14 --- /dev/null +++ b/data/presets/presets/leisure/pitch/softball.json @@ -0,0 +1,24 @@ +{ + "icon": "maki-baseball", + "fields": [ + "name", + "lit" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "leisure": "pitch", + "sport": "softball" + }, + "reference": { + "key": "sport", + "value": "softball" + }, + "terms": [ + "softball", + "diamond" + ], + "name": "Softball Field" +} \ No newline at end of file diff --git a/data/presets/presets/man_made/pipeline.json b/data/presets/presets/man_made/pipeline.json index 192855517..d198ffc10 100644 --- a/data/presets/presets/man_made/pipeline.json +++ b/data/presets/presets/man_made/pipeline.json @@ -9,6 +9,13 @@ "geometry": [ "line" ], + "terms": [ + "oil", + "natural gas", + "water", + "sewer", + "sewage" + ], "tags": { "man_made": "pipeline" }, diff --git a/data/presets/presets/natural/tree_row.json b/data/presets/presets/natural/tree_row.json index 9d14f6618..8b1bb1f6e 100644 --- a/data/presets/presets/natural/tree_row.json +++ b/data/presets/presets/natural/tree_row.json @@ -12,5 +12,5 @@ "natural": "tree_row" }, "terms": [], - "name": "Tree row" + "name": "Tree Row" } diff --git a/data/presets/presets/piste/downhill.json b/data/presets/presets/piste/downhill.json new file mode 100644 index 000000000..c8e453def --- /dev/null +++ b/data/presets/presets/piste/downhill.json @@ -0,0 +1,26 @@ +{ + "icon": "maki-skiing", + "fields": [ + "name", + "piste/type", + "piste/difficulty_downhill", + "piste/grooming_downhill", + "oneway", + "lit" + ], + "geometry": [ + "line", + "area" + ], + "terms": [ + "ski", + "alpine", + "snowboard", + "downhill", + "piste" + ], + "tags": { + "piste:type": "downhill" + }, + "name": "Downhill Piste/Ski Run" +} diff --git a/data/presets/presets/piste/hike.json b/data/presets/presets/piste/hike.json new file mode 100644 index 000000000..79aaa6183 --- /dev/null +++ b/data/presets/presets/piste/hike.json @@ -0,0 +1,27 @@ +{ + "icon": "fas-snowflake", + "fields": [ + "name", + "piste/type", + "piste/difficulty", + "piste/grooming_hike", + "oneway", + "lit" + ], + "geometry": [ + "line", + "area" + ], + "terms": [ + "hike", + "winter hiking", + "snowshoe", + "snowshoeing", + "piste", + "ski" + ], + "tags": { + "piste:type": "hike" + }, + "name": "Snowshoeing or Winter Hiking Trail" +} diff --git a/data/presets/presets/piste/ice_skate.json b/data/presets/presets/piste/ice_skate.json new file mode 100644 index 000000000..a64e4854c --- /dev/null +++ b/data/presets/presets/piste/ice_skate.json @@ -0,0 +1,24 @@ +{ + "icon": "fas-snowflake", + "fields": [ + "name", + "piste/type", + "sport_ice", + "oneway", + "lit" + ], + "geometry": [ + "line", + "area" + ], + "terms": [ + "ice", + "skating", + "ski", + "piste" + ], + "tags": { + "piste:type": "ice_skate" + }, + "name": "Ice Skating Piste" +} diff --git a/data/presets/presets/piste/nordic.json b/data/presets/presets/piste/nordic.json new file mode 100644 index 000000000..99d4d17f2 --- /dev/null +++ b/data/presets/presets/piste/nordic.json @@ -0,0 +1,26 @@ +{ + "icon": "maki-skiing", + "fields": [ + "name", + "piste/type", + "piste/difficulty_nordic", + "piste/grooming_nordic", + "oneway", + "lit" + ], + "geometry": [ + "line", + "area" + ], + "terms": [ + "ski", + "nordic", + "crosscountry", + "skating", + "piste" + ], + "tags": { + "piste:type": "nordic" + }, + "name": "Nordic or Crosscountry Piste/Ski Trail" +} diff --git a/data/presets/presets/piste/piste.json b/data/presets/presets/piste/piste.json new file mode 100644 index 000000000..c6c38f060 --- /dev/null +++ b/data/presets/presets/piste/piste.json @@ -0,0 +1,41 @@ +{ + "icon": "maki-skiing", + "fields": [ + "name", + "piste/type", + "piste/difficulty", + "piste/grooming", + "oneway", + "lit" + ], + "geometry": [ + "line", + "area" + ], + "terms": [ + "ski", + "nordic", + "crosscountry", + "downhill", + "alpine", + "snowboard", + "skitour", + "ski touring", + "sled", + "luge", + "sleigh", + "sledge", + "ski-joring", + "husky", + "horse", + "winter hiking", + "snowshoe", + "snowshoeing", + "ice", + "skating" + ], + "tags": { + "piste:type": "*" + }, + "name": "Winter Sport Trails" +} diff --git a/data/presets/presets/piste/skitour.json b/data/presets/presets/piste/skitour.json new file mode 100644 index 000000000..831b84fe9 --- /dev/null +++ b/data/presets/presets/piste/skitour.json @@ -0,0 +1,26 @@ +{ + "icon": "maki-skiing", + "fields": [ + "name", + "piste/type", + "piste/difficulty_skitour", + "piste/grooming", + "oneway", + "lit" + ], + "geometry": [ + "line", + "area" + ], + "terms": [ + "ski", + "skitour", + "crosscountry", + "ski touring", + "piste" + ], + "tags": { + "piste:type": "skitour" + }, + "name": "Ski Touring Trail" +} diff --git a/data/presets/presets/piste.json b/data/presets/presets/piste/sled.json similarity index 62% rename from data/presets/presets/piste.json rename to data/presets/presets/piste/sled.json index b838e1b0c..d64a55a7b 100644 --- a/data/presets/presets/piste.json +++ b/data/presets/presets/piste/sled.json @@ -1,5 +1,5 @@ { - "icon": "maki-skiing", + "icon": "fas-snowflake", "fields": [ "name", "piste/type", @@ -9,21 +9,19 @@ "lit" ], "geometry": [ - "point", "line", "area" ], "terms": [ "ski", "sled", + "luge", "sleigh", - "snowboard", - "nordic", - "downhill", - "snowmobile" + "sledge", + "piste" ], "tags": { - "piste:type": "*" + "piste:type": "sled" }, - "name": "Piste/Ski Trail" + "name": "Sled Piste" } diff --git a/data/presets/presets/piste/sleigh.json b/data/presets/presets/piste/sleigh.json new file mode 100644 index 000000000..dc7c7cd28 --- /dev/null +++ b/data/presets/presets/piste/sleigh.json @@ -0,0 +1,30 @@ +{ + "icon": "fas-snowflake", + "fields": [ + "name", + "piste/type", + "piste/difficulty", + "piste/grooming", + "oneway", + "lit" + ], + "geometry": [ + "line", + "area" + ], + "terms": [ + "ski", + "piste", + "sled", + "luge", + "sleigh", + "sledge", + "ski-joring", + "husky", + "horse" + ], + "tags": { + "piste:type": "sleigh" + }, + "name": "Sleigh Piste" +} diff --git a/data/presets/presets/power/cable/underground.json b/data/presets/presets/power/cable/underground.json new file mode 100644 index 000000000..0d80be672 --- /dev/null +++ b/data/presets/presets/power/cable/underground.json @@ -0,0 +1,17 @@ +{ + "fields": [ + "name", + "operator", + "voltage", + "ref", + "layer" + ], + "geometry": [ + "line" + ], + "tags": { + "power": "cable", + "location": "underground" + }, + "name": "Underground Power Cable" +} diff --git a/data/presets/presets/power/generator/method/photovoltaic.json b/data/presets/presets/power/generator/method/photovoltaic.json new file mode 100644 index 000000000..eaecdb820 --- /dev/null +++ b/data/presets/presets/power/generator/method/photovoltaic.json @@ -0,0 +1,43 @@ +{ + "icon": "fas-solar-panel", + "fields": [ + "operator", + "generator/output/electricity", + "ref" + ], + "geometry": [ + "point", + "vertex", + "area" + ], + "terms": [ + "photovoltaic module", + "PV module", + "sunlight" + ], + "tags": { + "power": "generator", + "generator:source": "solar", + "generator:method": "photovoltaic", + "generator:type": "solar_photovoltaic_panel" + }, + "addTags": { + "power": "generator", + "generator:source": "solar", + "generator:method": "photovoltaic", + "generator:type": "solar_photovoltaic_panel", + "generator:output:electricity": "yes" + }, + "removeTags": { + "power": "generator", + "generator:source": "solar", + "generator:method": "photovoltaic", + "generator:type": "solar_photovoltaic_panel", + "generator:output:electricity": "yes" + }, + "reference": { + "key": "generator:method", + "value": "photovoltaic" + }, + "name": "Solar Panel" +} diff --git a/data/presets/presets/power/generator/source_nuclear.json b/data/presets/presets/power/generator/source/nuclear.json similarity index 100% rename from data/presets/presets/power/generator/source_nuclear.json rename to data/presets/presets/power/generator/source/nuclear.json diff --git a/data/presets/presets/power/generator/source_wind.json b/data/presets/presets/power/generator/source/wind.json similarity index 100% rename from data/presets/presets/power/generator/source_wind.json rename to data/presets/presets/power/generator/source/wind.json diff --git a/data/presets/presets/power/tower.json b/data/presets/presets/power/tower.json index 09ce2afe4..eddacdbfd 100644 --- a/data/presets/presets/power/tower.json +++ b/data/presets/presets/power/tower.json @@ -1,10 +1,15 @@ { "fields": [ + "design", "ref" ], "geometry": [ + "point", "vertex" ], + "terms": [ + "power" + ], "tags": { "power": "tower" }, diff --git a/data/presets/presets/traffic_sign.json b/data/presets/presets/traffic_sign.json new file mode 100644 index 000000000..444e77e13 --- /dev/null +++ b/data/presets/presets/traffic_sign.json @@ -0,0 +1,18 @@ +{ + "icon": "maki-square-stroked", + "fields": [ + "traffic_sign", + "direction" + ], + "geometry": [ + "point" + ], + "tags": { + "traffic_sign": "*" + }, + "terms": [ + "road", + "highway" + ], + "name": "Traffic Sign" +} diff --git a/data/presets/presets/traffic_sign/city_limit.json b/data/presets/presets/traffic_sign/city_limit.json new file mode 100644 index 000000000..bf32228f6 --- /dev/null +++ b/data/presets/presets/traffic_sign/city_limit.json @@ -0,0 +1,25 @@ +{ + "icon": "maki-square-stroked", + "fields": [ + "traffic_sign", + "direction", + "name" + ], + "geometry": [ + "point" + ], + "tags": { + "traffic_sign": "city_limit" + }, + "terms": [ + "town", + "village", + "hamlet", + "boundary", + "edge", + "border", + "road", + "highway" + ], + "name": "City Limit Sign" +} diff --git a/data/presets/presets/traffic_sign/city_limit_vertex.json b/data/presets/presets/traffic_sign/city_limit_vertex.json new file mode 100644 index 000000000..11c71e054 --- /dev/null +++ b/data/presets/presets/traffic_sign/city_limit_vertex.json @@ -0,0 +1,25 @@ +{ + "icon": "maki-square-stroked", + "fields": [ + "traffic_sign", + "traffic_sign/direction", + "name" + ], + "geometry": [ + "vertex" + ], + "tags": { + "traffic_sign": "city_limit" + }, + "terms": [ + "town", + "village", + "hamlet", + "boundary", + "edge", + "border", + "road", + "highway" + ], + "name": "City Limit Sign" +} diff --git a/data/presets/presets/traffic_sign/maxspeed.json b/data/presets/presets/traffic_sign/maxspeed.json new file mode 100644 index 000000000..1845a779d --- /dev/null +++ b/data/presets/presets/traffic_sign/maxspeed.json @@ -0,0 +1,21 @@ +{ + "icon": "maki-square-stroked", + "fields": [ + "traffic_sign", + "direction", + "maxspeed" + ], + "geometry": [ + "point" + ], + "tags": { + "traffic_sign": "maxspeed" + }, + "terms": [ + "max speed", + "maximum speed", + "road", + "highway" + ], + "name": "Speed Limit Sign" +} diff --git a/data/presets/presets/traffic_sign/maxspeed_vertex.json b/data/presets/presets/traffic_sign/maxspeed_vertex.json new file mode 100644 index 000000000..667d3c7d9 --- /dev/null +++ b/data/presets/presets/traffic_sign/maxspeed_vertex.json @@ -0,0 +1,21 @@ +{ + "icon": "maki-square-stroked", + "fields": [ + "traffic_sign", + "traffic_sign/direction", + "maxspeed" + ], + "geometry": [ + "vertex" + ], + "tags": { + "traffic_sign": "maxspeed" + }, + "terms": [ + "max speed", + "maximum speed", + "road", + "highway" + ], + "name": "Speed Limit Sign" +} diff --git a/data/presets/presets/traffic_sign_vertex.json b/data/presets/presets/traffic_sign_vertex.json new file mode 100644 index 000000000..67edd21d8 --- /dev/null +++ b/data/presets/presets/traffic_sign_vertex.json @@ -0,0 +1,18 @@ +{ + "icon": "maki-square-stroked", + "fields": [ + "traffic_sign", + "traffic_sign/direction" + ], + "geometry": [ + "vertex" + ], + "tags": { + "traffic_sign": "*" + }, + "terms": [ + "road", + "highway" + ], + "name": "Traffic Sign" +} diff --git a/data/presets/presets/type/route/piste.json b/data/presets/presets/type/route/piste.json index d670b77b3..42993a796 100644 --- a/data/presets/presets/type/route/piste.json +++ b/data/presets/presets/type/route/piste.json @@ -2,9 +2,10 @@ "icon": "iD-route-piste", "fields": [ "name", + "piste/type", + "colour", "ref_route", - "operator", - "network" + "operator" ], "geometry": [ "relation" diff --git a/data/taginfo.json b/data/taginfo.json index 82ac1505c..74d050641 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -248,6 +248,13 @@ "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/wheelchair-15.svg?sanitize=true" }, + { + "key": "amenity", + "value": "recycling", + "description": "Recycling", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/recycling-15.svg?sanitize=true" + }, { "key": "amenity", "value": "register_office", @@ -700,6 +707,13 @@ "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/parking-15.svg?sanitize=true" }, + { + "key": "parking", + "value": "multi-storey", + "description": "Multilevel Car Parking, Type", + "object_types": ["area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/parking-garage-15.svg?sanitize=true" + }, { "key": "amenity", "value": "pharmacy", @@ -836,14 +850,14 @@ { "key": "recycling_type", "value": "centre", - "description": "Recycling Center", + "description": "Recycling Center, Type", "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/recycling-15.svg?sanitize=true" }, { - "key": "amenity", - "value": "recycling", - "description": "Recycling Container", + "key": "recycling_type", + "value": "container", + "description": "Recycling Container, Type", "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/recycling-15.svg?sanitize=true" }, @@ -889,6 +903,20 @@ "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/shelter-15.svg?sanitize=true" }, + { + "key": "shelter_type", + "value": "picnic_shelter", + "description": "Picnic Shelter", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/shelter-15.svg?sanitize=true" + }, + { + "key": "shelter_type", + "value": "public_transport", + "description": "Transit Shelter", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/shelter-15.svg?sanitize=true" + }, { "key": "amenity", "value": "shower", @@ -959,6 +987,13 @@ "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/theatre-15.svg?sanitize=true" }, + { + "key": "theatre:type", + "value": "amphi", + "description": "Amphitheatre", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/theatre-15.svg?sanitize=true" + }, { "key": "amenity", "value": "toilets", @@ -1363,7 +1398,14 @@ { "key": "barrier", "value": "kerb", - "description": "Kerb", + "description": "Curb", + "object_types": ["node", "way"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/wheelchair-15.svg?sanitize=true" + }, + { + "key": "kerb", + "value": "lowered", + "description": "Lowered Curb", "object_types": ["node", "way"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/wheelchair-15.svg?sanitize=true" }, @@ -1414,6 +1456,19 @@ "description": "Administrative Boundary", "object_types": ["way"] }, + { + "key": "bridge:support", + "description": "Bridge Support, Type", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-archway.svg?sanitize=true" + }, + { + "key": "bridge:support", + "value": "pier", + "description": "Bridge Pier", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-archway.svg?sanitize=true" + }, { "key": "building", "description": "Building", @@ -1475,6 +1530,13 @@ "object_types": ["area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/home-15.svg?sanitize=true" }, + { + "key": "building", + "value": "carport", + "description": "Carport", + "object_types": ["area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-warehouse.svg?sanitize=true" + }, { "key": "building", "value": "cathedral", @@ -2235,32 +2297,6 @@ "object_types": ["node"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/entrance-alt1-15.svg?sanitize=true" }, - { - "key": "traffic_calming", - "value": "table", - "description": "Raised Street Crossing, Raised Pedestrian Crosswalk, Speed Table", - "object_types": ["way"] - }, - { - "key": "footway", - "value": "crossing", - "description": "Street Crossing", - "object_types": ["way"] - }, - { - "key": "crossing", - "value": "zebra", - "description": "Pedestrian Crosswalk", - "object_types": ["way"], - "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-footway.svg?sanitize=true" - }, - { - "key": "footway", - "value": "sidewalk", - "description": "Sidewalk", - "object_types": ["way"], - "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-footway.svg?sanitize=true" - }, { "key": "ford", "value": "yes", @@ -2455,10 +2491,31 @@ "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-footway.svg?sanitize=true" }, + { + "key": "traffic_calming", + "value": "table", + "description": "Marked Crosswalk (Raised), Unmarked Crossing (Raised), Speed Table", + "object_types": ["node"], + "icon_url": "https://raw.githubusercontent.com/bhousel/temaki/master/icons/pedestrian.svg?sanitize=true" + }, + { + "key": "crossing", + "value": "zebra", + "description": "Marked Crosswalk", + "object_types": ["node"], + "icon_url": "https://raw.githubusercontent.com/bhousel/temaki/master/icons/pedestrian.svg?sanitize=true" + }, + { + "key": "crossing", + "value": "marked", + "description": "Marked Crosswalk", + "object_types": ["node"], + "icon_url": "https://raw.githubusercontent.com/bhousel/temaki/master/icons/pedestrian.svg?sanitize=true" + }, { "key": "highway", "value": "crossing", - "description": "Street Crossing", + "description": "Unmarked Crossing", "object_types": ["node"] }, { @@ -2482,6 +2539,25 @@ "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-footway.svg?sanitize=true" }, + { + "key": "conveying", + "description": "Moving Walkway, Escalator", + "object_types": ["way"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-footway.svg?sanitize=true" + }, + { + "key": "footway", + "value": "sidewalk", + "description": "Sidewalk", + "object_types": ["way"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/iD-sprite/presets/highway-footway.svg?sanitize=true" + }, + { + "key": "footway", + "value": "crossing", + "description": "Unmarked Crossing", + "object_types": ["way"] + }, { "key": "highway", "value": "give_way", @@ -3426,7 +3502,7 @@ { "key": "sport", "value": "baseball", - "description": "Baseball Diamond", + "description": "Baseball Field", "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/baseball-15.svg?sanitize=true" }, @@ -3500,6 +3576,13 @@ "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/soccer-15.svg?sanitize=true" }, + { + "key": "sport", + "value": "softball", + "description": "Softball Field", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/baseball-15.svg?sanitize=true" + }, { "key": "sport", "value": "table_tennis", @@ -3990,7 +4073,7 @@ { "key": "natural", "value": "tree_row", - "description": "Tree row", + "description": "Tree Row", "object_types": ["way"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/park-15.svg?sanitize=true" }, @@ -4331,10 +4414,59 @@ }, { "key": "piste:type", - "description": "Piste/Ski Trail", - "object_types": ["node", "way", "area"], + "value": "downhill", + "description": "Downhill Piste/Ski Run, Type", + "object_types": ["way", "area"], "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/skiing-15.svg?sanitize=true" }, + { + "key": "piste:type", + "value": "hike", + "description": "Snowshoeing or Winter Hiking Trail, Type", + "object_types": ["way", "area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-snowflake.svg?sanitize=true" + }, + { + "key": "piste:type", + "value": "ice_skate", + "description": "Ice Skating Piste, Type", + "object_types": ["way", "area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-snowflake.svg?sanitize=true" + }, + { + "key": "piste:type", + "value": "nordic", + "description": "Nordic or Crosscountry Piste/Ski Trail, Type", + "object_types": ["way", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/skiing-15.svg?sanitize=true" + }, + { + "key": "piste:type", + "description": "Winter Sport Trails", + "object_types": ["way", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/skiing-15.svg?sanitize=true" + }, + { + "key": "piste:type", + "value": "skitour", + "description": "Ski Touring Trail, Type", + "object_types": ["way", "area"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/skiing-15.svg?sanitize=true" + }, + { + "key": "piste:type", + "value": "sled", + "description": "Sled Piste, Type", + "object_types": ["way", "area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-snowflake.svg?sanitize=true" + }, + { + "key": "piste:type", + "value": "sleigh", + "description": "Sleigh Piste, Type", + "object_types": ["way", "area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-snowflake.svg?sanitize=true" + }, { "key": "place", "value": "farm", @@ -4537,6 +4669,12 @@ "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/bhousel/temaki/master/icons/power.svg?sanitize=true" }, + { + "key": "location", + "value": "underground", + "description": "Underground Power Cable", + "object_types": ["way"] + }, { "key": "power", "value": "generator", @@ -4544,6 +4682,13 @@ "object_types": ["node", "area"], "icon_url": "https://raw.githubusercontent.com/bhousel/temaki/master/icons/power.svg?sanitize=true" }, + { + "key": "generator:type", + "value": "solar_photovoltaic_panel", + "description": "Solar Panel", + "object_types": ["node", "area"], + "icon_url": "https://raw.githubusercontent.com/openstreetmap/iD/master/svg/fontawesome/fas-solar-panel.svg?sanitize=true" + }, { "key": "generator:method", "value": "fission", @@ -4892,13 +5037,13 @@ { "key": "seamark:buoy_lateral:colour", "value": "green", - "description": "Green Buoy, Colour", + "description": "Green Buoy, Color", "object_types": ["node"] }, { "key": "seamark:buoy_lateral:colour", "value": "red", - "description": "Red Buoy, Colour", + "description": "Red Buoy, Color", "object_types": ["node"] }, { @@ -6073,6 +6218,26 @@ "object_types": ["node", "way"], "icon_url": "https://raw.githubusercontent.com/bhousel/temaki/master/icons/diamond.svg?sanitize=true" }, + { + "key": "traffic_sign", + "description": "Traffic Sign", + "object_types": ["node"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/square-stroked-15.svg?sanitize=true" + }, + { + "key": "traffic_sign", + "value": "city_limit", + "description": "City Limit Sign", + "object_types": ["node"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/square-stroked-15.svg?sanitize=true" + }, + { + "key": "traffic_sign", + "value": "maxspeed", + "description": "Speed Limit Sign", + "object_types": ["node"], + "icon_url": "https://raw.githubusercontent.com/mapbox/maki/master/icons/square-stroked-15.svg?sanitize=true" + }, { "key": "type", "value": "multipolygon", @@ -6537,11 +6702,27 @@ {"key": "castle_type", "description": "Type"}, {"key": "clothes", "description": "Clothes"}, {"key": "collection_times", "description": "Collection Times"}, + {"key": "colour", "description": "Color"}, {"key": "comment", "description": "Changeset Comment"}, {"key": "communication:", "description": "Communication Types"}, {"key": "construction", "description": "Type"}, {"key": "contact:webcam", "description": "Webcam URL"}, {"key": "content", "description": "Content"}, + { + "key": "conveying", + "value": "forward", + "description": "Movement Direction" + }, + { + "key": "conveying", + "value": "backward", + "description": "Movement Direction" + }, + { + "key": "conveying", + "value": "reversible", + "description": "Movement Direction" + }, {"key": "country", "description": "Country"}, {"key": "covered", "description": "Covered"}, {"key": "crane:type", "value": "portal_crane", "description": "Crane Type"}, @@ -6601,6 +6782,7 @@ {"key": "denomination", "description": "Denomination"}, {"key": "denotation", "description": "Denotation"}, {"key": "description", "description": "Description"}, + {"key": "design", "description": "Design"}, {"key": "devices", "description": "Devices"}, {"key": "diaper", "description": "Diaper Changing Available"}, {"key": "direction", "value": "N", "description": "Direction"}, @@ -6924,7 +7106,6 @@ {"key": "par", "description": "Par"}, {"key": "park_ride", "description": "Park and Ride"}, {"key": "parking", "value": "surface", "description": "Type"}, - {"key": "parking", "value": "multi-storey", "description": "Type"}, {"key": "parking", "value": "underground", "description": "Type"}, {"key": "parking", "value": "sheds", "description": "Type"}, {"key": "parking", "value": "carports", "description": "Type"}, @@ -6974,13 +7155,6 @@ }, {"key": "piste:grooming", "value": "scooter", "description": "Grooming"}, {"key": "piste:grooming", "value": "skating", "description": "Grooming"}, - {"key": "piste:type", "value": "downhill", "description": "Type"}, - {"key": "piste:type", "value": "nordic", "description": "Type"}, - {"key": "piste:type", "value": "skitour", "description": "Type"}, - {"key": "piste:type", "value": "sled", "description": "Type"}, - {"key": "piste:type", "value": "hike", "description": "Type"}, - {"key": "piste:type", "value": "sleigh", "description": "Type"}, - {"key": "piste:type", "value": "ice_skate", "description": "Type"}, {"key": "piste:type", "value": "snow_park", "description": "Type"}, {"key": "piste:type", "value": "playground", "description": "Type"}, {"key": "piste:type", "value": "connection", "description": "Type"}, @@ -7083,17 +7257,17 @@ { "key": "seamark:beacon_lateral:colour", "value": "red", - "description": "Colour" + "description": "Color" }, { "key": "seamark:beacon_lateral:colour", "value": "green", - "description": "Colour" + "description": "Color" }, { "key": "seamark:beacon_lateral:colour", "value": "grey", - "description": "Colour" + "description": "Color" }, {"key": "seamark:beacon_lateral:shape", "description": "Shape"}, { @@ -7169,32 +7343,32 @@ { "key": "seamark:buoy_lateral:colour", "value": "red;white;red;white", - "description": "Colour" + "description": "Color" }, { "key": "seamark:buoy_lateral:colour", "value": "green;white;green;white", - "description": "Colour" + "description": "Color" }, { "key": "seamark:buoy_lateral:colour", "value": "red;green;red", - "description": "Colour" + "description": "Color" }, { "key": "seamark:buoy_lateral:colour", "value": "green;red;green", - "description": "Colour" + "description": "Color" }, { "key": "seamark:buoy_lateral:colour", "value": "white", - "description": "Colour" + "description": "Color" }, { "key": "seamark:buoy_lateral:colour", "value": "yellow", - "description": "Colour" + "description": "Color" }, {"key": "seamark:buoy_lateral:shape", "description": "Shape"}, { @@ -7220,6 +7394,7 @@ {"key": "seamark:mooring:category", "description": "Category"}, {"key": "seamark:wreck:category", "description": "Category"}, {"key": "seasonal", "description": "Seasonal"}, + {"key": "seats", "description": "Seats"}, {"key": "second_hand", "value": "yes", "description": "Sells Used"}, {"key": "second_hand", "value": "no", "description": "Sells Used"}, {"key": "second_hand", "value": "only", "description": "Sells Used"}, @@ -7336,6 +7511,21 @@ {"key": "tracktype", "value": "grade4", "description": "Track Type"}, {"key": "tracktype", "value": "grade5", "description": "Track Type"}, {"key": "trade", "description": "Type"}, + { + "key": "traffic_sign:direction", + "value": "forward", + "description": "Direction" + }, + { + "key": "traffic_sign:direction", + "value": "backward", + "description": "Direction" + }, + { + "key": "traffic_sign:direction", + "value": "both", + "description": "Direction" + }, {"key": "traffic_signals", "description": "Type"}, { "key": "traffic_signals:direction", diff --git a/dist/locales/en-GB.json b/dist/locales/en-GB.json index b0107b5da..de2770100 100644 --- a/dist/locales/en-GB.json +++ b/dist/locales/en-GB.json @@ -4258,7 +4258,7 @@ "name": "American Football Field" }, "leisure/pitch/baseball": { - "name": "Baseball Diamond" + "name": "Baseball Field" }, "leisure/pitch/basketball": { "name": "Basketball Court" diff --git a/dist/locales/en.json b/dist/locales/en.json index 568d3977e..a8bc9eca8 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1,6 +1,7 @@ { "en": { "icons": { + "download": "download", "information": "info", "remove": "remove", "undo": "undo" @@ -1455,6 +1456,9 @@ "category-route": { "name": "Route Features" }, + "category-utility": { + "name": "Utility Features" + }, "category-water-area": { "name": "Water Features" }, @@ -1680,6 +1684,9 @@ "label": "Type", "placeholder": "Default" }, + "bridge/support": { + "label": "Type" + }, "building_area": { "label": "Building" }, @@ -1727,6 +1734,9 @@ "collection_times": { "label": "Collection Times" }, + "colour": { + "label": "Color" + }, "comment": { "label": "Changeset Comment", "placeholder": "Brief description of your contributions (required)" @@ -1744,6 +1754,14 @@ "content": { "label": "Content" }, + "conveying": { + "label": "Movement Direction", + "options": { + "forward": "Forward", + "backward": "Backward", + "reversible": "Reversible" + } + }, "country": { "label": "Country" }, @@ -1836,6 +1854,9 @@ "description": { "label": "Description" }, + "design": { + "label": "Design" + }, "devices": { "label": "Devices", "placeholder": "1, 2, 3..." @@ -2413,7 +2434,7 @@ "label": "Telephone", "placeholder": "+31 42 123 4567" }, - "piste/difficulty": { + "piste/difficulty_downhill": { "label": "Difficulty", "placeholder": "Easy, Intermediate, Advanced...", "options": { @@ -2426,6 +2447,68 @@ "extreme": "Extreme (climbing equipment required)" } }, + "piste/difficulty_nordic": { + "label": "Difficulty", + "placeholder": "Easy, Intermediate, Advanced...", + "options": { + "novice": "Novice - Flat, no effort needed", + "easy": "Easy - Soft hills, short steep section", + "intermediate": "Intermediate - Steep section", + "advanced": "Advanced - Narrow, steep or icy section, sharp turn", + "expert": "Expert - Dangerous terrain around" + } + }, + "piste/difficulty_skitour": { + "label": "Difficulty", + "placeholder": "Easy, Intermediate, Advanced...", + "options": { + "novice": "Novice - L: <30° incline", + "easy": "Easy - WS: 30-35° incline", + "intermediate": "Intermediate - ZS: 35-40° incline", + "advanced": "Advanced - S: 40-45° incline", + "expert": "Expert - SS: 45–50° incline", + "freeride": "Freeride - AS: 50–55° incline", + "extreme": "Extreme - EX: >55° incline" + } + }, + "piste/difficulty": { + "label": "Difficulty", + "placeholder": "Easy, Intermediate, Advanced...", + "options": { + "novice": "Novice", + "easy": "Easy", + "intermediate": "Intermediate", + "advanced": "Advanced", + "expert": "Expert", + "freeride": "Freeride", + "extreme": "Extreme" + } + }, + "piste/grooming_downhill": { + "label": "Grooming", + "options": { + "classic": "Classic", + "mogul": "Mogul", + "backcountry": "Backcountry - no grooming" + } + }, + "piste/grooming_hike": { + "label": "Grooming", + "options": { + "classic": "Classic - Winter Hiking", + "backcountry": "Backcountry - Snowshoeing" + } + }, + "piste/grooming_nordic": { + "label": "Grooming", + "options": { + "classic": "Classic", + "backcountry": "Backcountry, no grooming", + "classic+skating": "Classic and Skating", + "scooter": "Scooter/Snowmobile", + "skating": "Skating" + } + }, "piste/grooming": { "label": "Grooming", "options": { @@ -2507,6 +2590,14 @@ "recycling_accepts": { "label": "Accepts" }, + "recycling_type": { + "label": "Type", + "placeholder": "Container, Center", + "options": { + "container": "Container", + "centre": "Center" + } + }, "ref_aeroway_gate": { "label": "Gate Number" }, @@ -2594,7 +2685,7 @@ } }, "seamark/beacon_lateral/colour": { - "label": "Colour", + "label": "Color", "options": { "red": "Red", "green": "Green", @@ -2629,7 +2720,7 @@ } }, "seamark/buoy_lateral/colour": { - "label": "Colour", + "label": "Color", "options": { "red": "Red", "green": "Green", @@ -2665,6 +2756,10 @@ "seasonal": { "label": "Seasonal" }, + "seats": { + "label": "Seats", + "placeholder": "2, 4, 6..." + }, "second_hand": { "label": "Sells Used", "placeholder": "Yes, No, Only", @@ -2903,6 +2998,17 @@ "traffic_calming": { "label": "Type" }, + "traffic_sign": { + "label": "Traffic Sign" + }, + "traffic_sign/direction": { + "label": "Direction", + "options": { + "forward": "Forward", + "backward": "Backward", + "both": "Both / All" + } + }, "traffic_signals": { "label": "Type" }, @@ -3201,6 +3307,10 @@ "name": "Nursing Home", "terms": "" }, + "amenity/recycling": { + "name": "Recycling", + "terms": "bin,can,bottle,glass,garbage,rubbish,scrap,trash" + }, "amenity/register_office": { "name": "Register Office", "terms": "" @@ -3461,6 +3571,10 @@ "name": "Car Parking", "terms": "" }, + "amenity/parking/multi-storey": { + "name": "Multilevel Car Parking", + "terms": "multistorey car park,parking garage,parkade,parking structure,parking ramp,parking deck,parking building,indoor parking" + }, "amenity/pharmacy": { "name": "Pharmacy", "terms": "apothecary,drug*,med*,prescription" @@ -3541,7 +3655,7 @@ "name": "Recycling Center", "terms": "bottle,can,dump,glass,garbage,rubbish,scrap,trash" }, - "amenity/recycling": { + "amenity/recycling_container": { "name": "Recycling Container", "terms": "bin,can,bottle,glass,garbage,rubbish,scrap,trash" }, @@ -3569,6 +3683,14 @@ "name": "Lean-To", "terms": "" }, + "amenity/shelter/picnic_shelter": { + "name": "Picnic Shelter", + "terms": "pavilion" + }, + "amenity/shelter/public_transport": { + "name": "Transit Shelter", + "terms": "bus stop,metro stop,waiting" + }, "amenity/shower": { "name": "Shower", "terms": "rain closet" @@ -3613,6 +3735,10 @@ "name": "Theater", "terms": "theatre,performance,play,musical" }, + "amenity/theatre/type/amphi": { + "name": "Amphitheatre", + "terms": "open air,outdoor,greek,ampi" + }, "amenity/toilets": { "name": "Toilets", "terms": "bathroom,restroom,outhouse,privy,head,lavatory,latrine,water closet,WC,W.C." @@ -3846,9 +3972,13 @@ "terms": "" }, "barrier/kerb": { - "name": "Kerb", + "name": "Curb", "terms": "" }, + "barrier/kerb/lowered": { + "name": "Lowered Curb", + "terms": "curb cut,curb ramp,kerb ramp,dropped kerb,pram ramp" + }, "barrier/kissing_gate": { "name": "Kissing Gate", "terms": "" @@ -3877,6 +4007,14 @@ "name": "Administrative Boundary", "terms": "" }, + "bridge/support": { + "name": "Bridge Support", + "terms": "" + }, + "bridge/support/pier": { + "name": "Bridge Pier", + "terms": "" + }, "building": { "name": "Building", "terms": "" @@ -3913,6 +4051,10 @@ "name": "Cabin", "terms": "" }, + "building/carport": { + "name": "Carport", + "terms": "covered parking space,garage,car,porch" + }, "building/cathedral": { "name": "Cathedral Building", "terms": "" @@ -4353,26 +4495,6 @@ "name": "Entrance/Exit", "terms": "entrance,exit,door" }, - "footway/crossing-raised": { - "name": "Raised Street Crossing", - "terms": "flat top,hump,speed,slow" - }, - "footway/crossing": { - "name": "Street Crossing", - "terms": "" - }, - "footway/crosswalk-raised": { - "name": "Raised Pedestrian Crosswalk", - "terms": "zebra crossing,flat top,hump,speed,slow" - }, - "footway/crosswalk": { - "name": "Pedestrian Crosswalk", - "terms": "zebra crossing" - }, - "footway/sidewalk": { - "name": "Sidewalk", - "terms": "" - }, "ford": { "name": "Ford", "terms": "" @@ -4497,22 +4619,30 @@ "name": "Indoor Corridor", "terms": "gallery,hall,hallway,indoor,passage,passageway" }, - "highway/crossing-raised": { - "name": "Raised Street Crossing", + "highway/crossing/zebra-raised": { + "name": "Marked Crosswalk (Raised)", + "terms": "zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow" + }, + "highway/crossing/zebra": { + "name": "Marked Crosswalk", + "terms": "zebra crossing,marked crossing,crosswalk" + }, + "highway/crossing/marked-raised": { + "name": "Marked Crosswalk (Raised)", + "terms": "zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow" + }, + "highway/crossing/marked": { + "name": "Marked Crosswalk", + "terms": "zebra crossing,marked crossing,crosswalk" + }, + "highway/crossing/unmarked-raised": { + "name": "Unmarked Crossing (Raised)", "terms": "flat top,hump,speed,slow" }, - "highway/crossing": { - "name": "Street Crossing", + "highway/crossing/unmarked": { + "name": "Unmarked Crossing", "terms": "" }, - "highway/crosswalk-raised": { - "name": "Raised Pedestrian Crosswalk", - "terms": "zebra crossing,flat top,hump,speed,slow" - }, - "highway/crosswalk": { - "name": "Pedestrian Crosswalk", - "terms": "zebra crossing" - }, "highway/cycleway": { "name": "Cycle Path", "terms": "bike" @@ -4525,6 +4655,38 @@ "name": "Foot Path", "terms": "hike,hiking,trackway,trail,walk" }, + "highway/footway/zebra-raised": { + "name": "Marked Crosswalk (Raised)", + "terms": "zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow" + }, + "highway/footway/zebra": { + "name": "Marked Crosswalk", + "terms": "zebra crossing,marked crossing,crosswalk" + }, + "highway/footway/conveying": { + "name": "Moving Walkway", + "terms": "moving sidewalk,autwalk,skywalk,travolator,travelator,travellator,conveyor" + }, + "highway/footway/marked-raised": { + "name": "Marked Crosswalk (Raised)", + "terms": "zebra crossing,marked crossing,crosswalk,flat top,hump,speed,slow" + }, + "highway/footway/marked": { + "name": "Marked Crosswalk", + "terms": "zebra crossing,marked crossing,crosswalk" + }, + "highway/footway/sidewalk": { + "name": "Sidewalk", + "terms": "pavement,sidepath" + }, + "highway/footway/unmarked-raised": { + "name": "Unmarked Crossing (Raised)", + "terms": "flat top,hump,speed,slow" + }, + "highway/footway/unmarked": { + "name": "Unmarked Crossing", + "terms": "" + }, "highway/give_way": { "name": "Yield Sign", "terms": "give way,yield,sign" @@ -4637,6 +4799,10 @@ "name": "Steps", "terms": "stairs,staircase" }, + "highway/steps/conveying": { + "name": "Escalator", + "terms": "moving staircase,moving stairway,people mover" + }, "highway/stop": { "name": "Stop Sign", "terms": "stop,halt,sign" @@ -5078,7 +5244,7 @@ "terms": "" }, "leisure/pitch/baseball": { - "name": "Baseball Diamond", + "name": "Baseball Field", "terms": "" }, "leisure/pitch/basketball": { @@ -5121,6 +5287,10 @@ "name": "Soccer Field", "terms": "football" }, + "leisure/pitch/softball": { + "name": "Softball Field", + "terms": "softball,diamond" + }, "leisure/pitch/table_tennis": { "name": "Ping Pong Table", "terms": "table tennis,ping pong" @@ -5267,7 +5437,7 @@ }, "man_made/pipeline": { "name": "Pipeline", - "terms": "" + "terms": "oil,natural gas,water,sewer,sewage" }, "man_made/pumping_station": { "name": "Pumping Station", @@ -5418,7 +5588,7 @@ "terms": "" }, "natural/tree_row": { - "name": "Tree row", + "name": "Tree Row", "terms": "" }, "natural/tree": { @@ -5617,9 +5787,37 @@ "name": "Water Utility Office", "terms": "water board,utility" }, - "piste": { - "name": "Piste/Ski Trail", - "terms": "ski,sled,sleigh,snowboard,nordic,downhill,snowmobile" + "piste/downhill": { + "name": "Downhill Piste/Ski Run", + "terms": "ski,alpine,snowboard,downhill,piste" + }, + "piste/hike": { + "name": "Snowshoeing or Winter Hiking Trail", + "terms": "hike,winter hiking,snowshoe,snowshoeing,piste,ski" + }, + "piste/ice_skate": { + "name": "Ice Skating Piste", + "terms": "ice,skating,ski,piste" + }, + "piste/nordic": { + "name": "Nordic or Crosscountry Piste/Ski Trail", + "terms": "ski,nordic,crosscountry,skating,piste" + }, + "piste/piste": { + "name": "Winter Sport Trails", + "terms": "ski,nordic,crosscountry,downhill,alpine,snowboard,skitour,ski touring,sled,luge,sleigh,sledge,ski-joring,husky,horse,winter hiking,snowshoe,snowshoeing,ice,skating" + }, + "piste/skitour": { + "name": "Ski Touring Trail", + "terms": "ski,skitour,crosscountry,ski touring,piste" + }, + "piste/sled": { + "name": "Sled Piste", + "terms": "ski,sled,luge,sleigh,sledge,piste" + }, + "piste/sleigh": { + "name": "Sleigh Piste", + "terms": "ski,piste,sled,luge,sleigh,sledge,ski-joring,husky,horse" }, "place/farm": { "name": "Farm", @@ -5741,15 +5939,23 @@ "name": "Substation", "terms": "" }, + "power/cable/underground": { + "name": "Underground Power Cable", + "terms": "" + }, "power/generator": { "name": "Power Generator", "terms": "hydro,solar,turbine,wind" }, - "power/generator/source_nuclear": { + "power/generator/method/photovoltaic": { + "name": "Solar Panel", + "terms": "photovoltaic module,PV module,sunlight" + }, + "power/generator/source/nuclear": { "name": "Nuclear Reactor", "terms": "fission,generator,nuclear,nuke,reactor" }, - "power/generator/source_wind": { + "power/generator/source/wind": { "name": "Wind Turbine", "terms": "generator,turbine,windmill,wind" }, @@ -5779,7 +5985,7 @@ }, "power/tower": { "name": "High-Voltage Tower", - "terms": "" + "terms": "power" }, "power/transformer": { "name": "Transformer", @@ -6749,6 +6955,30 @@ "name": "Speed Table", "terms": "flat top,hump,speed,slow" }, + "traffic_sign_vertex": { + "name": "Traffic Sign", + "terms": "road,highway" + }, + "traffic_sign": { + "name": "Traffic Sign", + "terms": "road,highway" + }, + "traffic_sign/city_limit_vertex": { + "name": "City Limit Sign", + "terms": "town,village,hamlet,boundary,edge,border,road,highway" + }, + "traffic_sign/city_limit": { + "name": "City Limit Sign", + "terms": "town,village,hamlet,boundary,edge,border,road,highway" + }, + "traffic_sign/maxspeed_vertex": { + "name": "Speed Limit Sign", + "terms": "max speed,maximum speed,road,highway" + }, + "traffic_sign/maxspeed": { + "name": "Speed Limit Sign", + "terms": "max speed,maximum speed,road,highway" + }, "type/multipolygon": { "name": "Multipolygon", "terms": "" @@ -7153,6 +7383,34 @@ "description": "Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.", "name": "basemap.at Orthofoto" }, + "eufar-balaton": { + "attribution": { + "text": "EUFAR Balaton ortofotó 2010" + }, + "description": "1940 geo-tagged photography from Balaton Limnological Institute.", + "name": "EUFAR Balaton orthophotos" + }, + "finds.jp_KBN_2500": { + "attribution": { + "text": "GSI KIBAN 2500" + }, + "description": "GSI Kiban 2500 via finds.jp. Good for tracing, but a bit older.", + "name": "Japan GSI KIBAN 2500" + }, + "gsi.go.jp": { + "attribution": { + "text": "GSI Japan" + }, + "description": "Japan GSI ortho Imagery. Usually better than bing, but a bit older.", + "name": "Japan GSI ortho Imagery" + }, + "gsi.go.jp_std_map": { + "attribution": { + "text": "GSI Japan" + }, + "description": "Japan GSI Standard Map. Widely covered.", + "name": "Japan GSI Standard Map" + }, "hike_n_bike": { "attribution": { "text": "© OpenStreetMap contributors" diff --git a/dist/locales/pt.json b/dist/locales/pt.json index 51ca5b503..98d0cbd87 100644 --- a/dist/locales/pt.json +++ b/dist/locales/pt.json @@ -4661,7 +4661,7 @@ }, "leisure/pitch/baseball": { "name": "Campo de basebol", - "terms": "Baisebol, Beisebol, Baizebol, Beizebol, Baseball Diamond" + "terms": "Baisebol, Beisebol, Baizebol, Beizebol, Baseball Field" }, "leisure/pitch/basketball": { "name": "Campo de basquetebol", diff --git a/dist/locales/uk.json b/dist/locales/uk.json index 5ab7b7356..4b941dc83 100644 --- a/dist/locales/uk.json +++ b/dist/locales/uk.json @@ -4855,7 +4855,7 @@ }, "leisure/pitch/baseball": { "name": "Бейсбольний майданчик", - "terms": "Baseball Diamond, tqcjkmybq vfqlfyxbr, бейсбольний майданчик, бейсбол" + "terms": "Baseball Field, tqcjkmybq vfqlfyxbr, бейсбольний майданчик, бейсбол" }, "leisure/pitch/basketball": { "name": "Баскетбольний майданчик", diff --git a/dist/locales/yue.json b/dist/locales/yue.json index ecbe25766..8c8a123fb 100644 --- a/dist/locales/yue.json +++ b/dist/locales/yue.json @@ -2345,7 +2345,7 @@ }, "leisure/pitch/baseball": { "name": "棒球場", - "terms": "Baseball Diamond,棒球場" + "terms": "Baseball Field,棒球場" }, "leisure/pitch/basketball": { "name": "籃球場", diff --git a/dist/locales/zh-HK.json b/dist/locales/zh-HK.json index 50b0c6a4f..248bc37f4 100644 --- a/dist/locales/zh-HK.json +++ b/dist/locales/zh-HK.json @@ -4165,7 +4165,7 @@ }, "leisure/pitch/baseball": { "name": "棒球場", - "terms": "Baseball Diamond,棒球場" + "terms": "Baseball Field,棒球場" }, "leisure/pitch/basketball": { "name": "籃球場", diff --git a/modules/services/mapillary.js b/modules/services/mapillary.js index 8be72b3f1..77d516a6d 100644 --- a/modules/services/mapillary.js +++ b/modules/services/mapillary.js @@ -335,7 +335,7 @@ export default { loadSigns: function(context, projection) { // if we are looking at signs, we'll actually need to fetch images too loadTiles('images', apibase + 'images?', projection); - loadTiles('objects', apibase + 'objects?', projection); + loadTiles('objects', apibase + 'map_features?layers=trafficsigns&', projection); }, @@ -636,7 +636,7 @@ export default { function loadDetection(detectionKey) { - var url = apibase + 'detections/' + + var url = apibase + 'image_detections/' + detectionKey + '?' + utilQsString({ client_id: clientId }); d3_request(url) diff --git a/modules/services/taginfo.js b/modules/services/taginfo.js index cc8df7041..6242be845 100644 --- a/modules/services/taginfo.js +++ b/modules/services/taginfo.js @@ -182,7 +182,9 @@ export default { init: function() { inflight = {}; taginfoCache = {}; - popularKeys = {}; + popularKeys = { + postal_code: true // #5377 + }; // Fetch popular keys. We'll exclude these from `values` // lookups because they stress taginfo, and they aren't likely diff --git a/modules/svg/tag_classes.js b/modules/svg/tag_classes.js index d84b3c0f6..508c731a3 100644 --- a/modules/svg/tag_classes.js +++ b/modules/svg/tag_classes.js @@ -15,7 +15,7 @@ export function svgTagClasses() { var secondaries = [ 'oneway', 'bridge', 'tunnel', 'embankment', 'cutting', 'barrier', 'surface', 'tracktype', 'footway', 'crossing', 'service', 'sport', - 'public_transport' + 'public_transport', 'location' ]; var tagClassRe = /^tag-/; var _tags = function(entity) { return entity.tags; }; diff --git a/modules/ui/fields/maxspeed.js b/modules/ui/fields/maxspeed.js index fb0e5c2ed..92f9ef7c1 100644 --- a/modules/ui/fields/maxspeed.js +++ b/modules/ui/fields/maxspeed.js @@ -49,8 +49,14 @@ export function uiFieldMaxspeed(field, context) { .on('change', change) .on('blur', change); - var childNodes = context.graph().childNodes(context.entity(entity.id)), + var loc; + if (entity.type === 'node') { + loc = entity.loc; + } + else { + var childNodes = context.graph().childNodes(context.entity(entity.id)); loc = childNodes[~~(childNodes.length/2)].loc; + } isImperial = _some(dataImperial.features, function(f) { return _some(f.geometry.coordinates, function(d) { diff --git a/modules/ui/raw_member_editor.js b/modules/ui/raw_member_editor.js index 3d61148ab..dc5f56053 100644 --- a/modules/ui/raw_member_editor.js +++ b/modules/ui/raw_member_editor.js @@ -23,9 +23,24 @@ export function uiRawMemberEditor(context) { var taginfo = services.taginfo, _entityID; + function downloadMember(d) { + d3_event.preventDefault(); + // display the loading indicator + d3_select(this.parentNode).classed('tag-reference-loading', true); + context.loadEntity(d.id); + } + function selectMember(d) { d3_event.preventDefault(); + + var entity = context.entity(d.id); + var mapExtent = context.map().extent(); + if (!entity.intersects(mapExtent, context.graph())) { + // zoom to the entity if its extent is not visible now + context.map().zoomTo(entity); + } + context.enter(modeSelect(context, [d.id])); } @@ -125,9 +140,19 @@ export function uiRawMemberEditor(context) { .text(function(d) { return utilDisplayName(d.member); }); } else { - d3_select(this).append('label') + var incompleteLabel = d3_select(this).append('label') .attr('class', 'form-label') .text(t('inspector.incomplete', { id: d.id })); + + var wrap = incompleteLabel.append('div') + .attr('class', 'form-label-button-wrap'); + + wrap.append('button') + .attr('class', 'download-icon') + .attr('title', t('icons.download')) + .attr('tabindex', -1) + .call(svgIcon('#iD-icon-load')) + .on('click', downloadMember); } }); diff --git a/package.json b/package.json index 97fe96919..7e05e92fd 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "diacritics": "1.3.0", "fast-json-stable-stringify": "2.0.0", "lodash-es": "4.17.11", - "marked": "0.5.0", + "marked": "0.5.1", "martinez-polygon-clipping": "0.5.0", "node-diff3": "1.0.0", "osm-auth": "1.0.2", @@ -49,10 +49,10 @@ "wmf-sitematrix": "0.1.4" }, "devDependencies": { - "@fortawesome/fontawesome-svg-core": "~1.2.4", - "@fortawesome/free-brands-svg-icons": "~5.3.1", - "@fortawesome/free-regular-svg-icons": "~5.3.1", - "@fortawesome/free-solid-svg-icons": "~5.3.1", + "@fortawesome/fontawesome-svg-core": "~1.2.5", + "@fortawesome/free-brands-svg-icons": "~5.4.0", + "@fortawesome/free-regular-svg-icons": "~5.4.0", + "@fortawesome/free-solid-svg-icons": "~5.4.0", "@mapbox/maki": "^4.0.0", "chai": "^4.1.0", "colors": "^1.1.2", @@ -68,7 +68,7 @@ "js-yaml": "^3.9.0", "json-stringify-pretty-compact": "^1.1.0", "jsonschema": "^1.1.0", - "mapillary-js": "2.13.0", + "mapillary-js": "2.13.1", "mapillary_sprite_source": "^1.5.0", "minimist": "^1.2.0", "mocha": "^5.0.0", diff --git a/svg/fontawesome/fas-snowflake.svg b/svg/fontawesome/fas-snowflake.svg new file mode 100644 index 000000000..a162d4179 --- /dev/null +++ b/svg/fontawesome/fas-snowflake.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svg/fontawesome/fas-solar-panel.svg b/svg/fontawesome/fas-solar-panel.svg new file mode 100644 index 000000000..6c637615d --- /dev/null +++ b/svg/fontawesome/fas-solar-panel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svg/iD-sprite/presets/category-utility.svg b/svg/iD-sprite/presets/category-utility.svg new file mode 100644 index 000000000..e819114fc --- /dev/null +++ b/svg/iD-sprite/presets/category-utility.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/test/spec/actions/merge_nodes.js b/test/spec/actions/merge_nodes.js index 5bde52beb..8d6c5460a 100644 --- a/test/spec/actions/merge_nodes.js +++ b/test/spec/actions/merge_nodes.js @@ -60,14 +60,14 @@ describe('iD.actionMergeNodes', function () { it('merges two isolated nodes, merging tags, and averaging loc of both interesting nodes', function() { var graph = iD.coreGraph([ iD.osmNode({ id: 'a', loc: [0, -2], tags: { highway: 'traffic_signals' } }), - iD.osmNode({ id: 'b', loc: [0, 2], tags: { crossing: 'zebra' } }) + iD.osmNode({ id: 'b', loc: [0, 2], tags: { crossing: 'marked' } }) ]); graph = iD.actionMergeNodes(['a', 'b'])(graph); expect(graph.hasEntity('a')).to.be.undefined; var survivor = graph.hasEntity('b'); - expect(survivor.tags).to.eql({ highway: 'traffic_signals', crossing: 'zebra' }, 'merge all tags'); + expect(survivor.tags).to.eql({ highway: 'traffic_signals', crossing: 'marked' }, 'merge all tags'); expect(survivor.loc).to.eql([0, 0], 'average loc of both interesting nodes'); }); diff --git a/test/spec/core/difference.js b/test/spec/core/difference.js index b3829127d..623387e5c 100644 --- a/test/spec/core/difference.js +++ b/test/spec/core/difference.js @@ -153,7 +153,7 @@ describe('iD.Difference', function () { describe('#summary', function () { var base = iD.Graph([ - iD.Node({id: 'a', tags: {crossing: 'zebra'}}), + iD.Node({id: 'a', tags: {crossing: 'marked'}}), iD.Node({id: 'b'}), iD.Node({id: 'v'}), iD.Way({id: '-', nodes: ['a', 'b']}) @@ -315,7 +315,7 @@ describe('iD.Difference', function () { }); it('reports a vertex as created when it has tags', function() { - var vertex = iD.Node({id: 'c', tags: {crossing: 'zebra'}}), + var vertex = iD.Node({id: 'c', tags: {crossing: 'marked'}}), way = base.entity('-').addNode('c'), head = base.replace(way).replace(vertex), diff = iD.Difference(base, head); diff --git a/test/spec/services/mapillary.js b/test/spec/services/mapillary.js index 72046b1b6..eaadd6ba4 100644 --- a/test/spec/services/mapillary.js +++ b/test/spec/services/mapillary.js @@ -1,6 +1,6 @@ describe('iD.serviceMapillary', function() { - var dimensions = [64, 64], - context, server, mapillary; + var dimensions = [64, 64]; + var context, server, mapillary; before(function() { @@ -59,13 +59,13 @@ describe('iD.serviceMapillary', function() { mapillary.on('loadedImages', spy); mapillary.loadImages(context.projection); - var match = /images/, - features = [{ - type: 'Feature', - geometry: { type: 'Point', coordinates: [10,0] }, - properties: { ca: 90, key: '0' } - }], - response = { type: 'FeatureCollection', features: features }; + var match = /images/; + var features = [{ + type: 'Feature', + geometry: { type: 'Point', coordinates: [10,0] }, + properties: { ca: 90, key: '0' } + }]; + var response = { type: 'FeatureCollection', features: features }; server.respondWith('GET', match, [200, { 'Content-Type': 'application/json' }, JSON.stringify(response) ]); @@ -80,13 +80,13 @@ describe('iD.serviceMapillary', function() { mapillary.on('loadedImages', spy); mapillary.loadImages(context.projection); - var match = /images/, - features = [{ - type: 'Feature', - geometry: { type: 'Point', coordinates: [0,0] }, - properties: { ca: 90, key: '0' } - }], - response = { type: 'FeatureCollection', features: features }; + var match = /images/; + var features = [{ + type: 'Feature', + geometry: { type: 'Point', coordinates: [0,0] }, + properties: { ca: 90, key: '0' } + }]; + var response = { type: 'FeatureCollection', features: features }; server.respondWith('GET', match, [200, { 'Content-Type': 'application/json' }, JSON.stringify(response) ]); @@ -100,9 +100,9 @@ describe('iD.serviceMapillary', function() { mapillary.on('loadedImages', spy); mapillary.loadImages(context.projection); - var features0 = [], - features1 = [], - i; + var features0 = []; + var features1 = []; + var i; for (i = 0; i < 1000; i++) { features0.push({ @@ -119,10 +119,10 @@ describe('iD.serviceMapillary', function() { }); } - var match0 = /page=0/, - response0 = { type: 'FeatureCollection', features: features0 }, - match1 = /page=1/, - response1 = { type: 'FeatureCollection', features: features1 }; + var match0 = /page=0/; + var response0 = { type: 'FeatureCollection', features: features0 }; + var match1 = /page=1/; + var response1 = { type: 'FeatureCollection', features: features1 }; server.respondWith('GET', match0, [200, { 'Content-Type': 'application/json' }, JSON.stringify(response0) ]); @@ -140,17 +140,17 @@ describe('iD.serviceMapillary', function() { mapillary.on('loadedSigns', spy); mapillary.loadSigns(context, context.projection); - var match = /objects/, - detections = [{ - detection_key: '0', - image_key: '0' - }], - features = [{ - type: 'Feature', - geometry: { type: 'Point', coordinates: [10,0] }, - properties: { detections: detections, key: '0', value: 'not-in-set' } - }], - response = { type: 'FeatureCollection', features: features }; + var match = /map_features/; + var detections = [{ + detection_key: '0', + image_key: '0' + }]; + var features = [{ + type: 'Feature', + geometry: { type: 'Point', coordinates: [10,0] }, + properties: { detections: detections, key: '0', value: 'not-in-set' } + }]; + var response = { type: 'FeatureCollection', features: features }; server.respondWith('GET', match, [200, { 'Content-Type': 'application/json' }, JSON.stringify(response) ]); @@ -165,17 +165,17 @@ describe('iD.serviceMapillary', function() { mapillary.on('loadedSigns', spy); mapillary.loadSigns(context, context.projection); - var match = /objects/, - detections = [{ - detection_key: '0', - image_key: '0' - }], - features = [{ - type: 'Feature', - geometry: { type: 'Point', coordinates: [0,0] }, - properties: { detections: detections, key: '0', value: 'not-in-set' } - }], - response = { type: 'FeatureCollection', features: features }; + var match = /map_features/; + var detections = [{ + detection_key: '0', + image_key: '0' + }]; + var features = [{ + type: 'Feature', + geometry: { type: 'Point', coordinates: [0,0] }, + properties: { detections: detections, key: '0', value: 'not-in-set' } + }]; + var response = { type: 'FeatureCollection', features: features }; server.respondWith('GET', match, [200, { 'Content-Type': 'application/json' }, JSON.stringify(response) ]); @@ -190,15 +190,15 @@ describe('iD.serviceMapillary', function() { mapillary.loadSigns(context, context.projection); var rects = [{ - package: 'trafficsign', - rect: [ 0.805, 0.463, 0.833, 0.502 ], - length: 4, - score: '1.27', - type: 'regulatory--maximum-speed-limit-65--us' - }], - features0 = [], - features1 = [], - i; + package: 'trafficsign', + rect: [ 0.805, 0.463, 0.833, 0.502 ], + length: 4, + score: '1.27', + type: 'regulatory--maximum-speed-limit-65--us' + }]; + var features0 = []; + var features1 = []; + var i; for (i = 0; i < 1000; i++) { features0.push({ @@ -215,10 +215,10 @@ describe('iD.serviceMapillary', function() { }); } - var match0 = /page=0/, - response0 = { type: 'FeatureCollection', features: features0 }, - match1 = /page=1/, - response1 = { type: 'FeatureCollection', features: features1 }; + var match0 = /page=0/; + var response0 = { type: 'FeatureCollection', features: features0 }; + var match1 = /page=1/; + var response1 = { type: 'FeatureCollection', features: features1 }; server.respondWith('GET', match0, [200, { 'Content-Type': 'application/json' }, JSON.stringify(response0) ]); @@ -266,14 +266,14 @@ describe('iD.serviceMapillary', function() { describe('#signs', function() { it('returns signs in the visible map area', function() { var detections = [{ - detection_key: '78vqha63gs1upg15s823qckcmn', - image_key: 'bwYs-uXLDvm_meo_EC5Nzw' - }], - features = [ - { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '0', loc: [10,0], detections: detections } }, - { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '1', loc: [10,0], detections: detections } }, - { minX: 10, minY: 1, maxX: 10, maxY: 1, data: { key: '2', loc: [10,1], detections: detections } } - ]; + detection_key: '78vqha63gs1upg15s823qckcmn', + image_key: 'bwYs-uXLDvm_meo_EC5Nzw' + }]; + var features = [ + { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '0', loc: [10,0], detections: detections } }, + { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '1', loc: [10,0], detections: detections } }, + { minX: 10, minY: 1, maxX: 10, maxY: 1, data: { key: '2', loc: [10,1], detections: detections } } + ]; mapillary.cache().objects.rtree.load(features); var res = mapillary.signs(context.projection); @@ -286,16 +286,16 @@ describe('iD.serviceMapillary', function() { it('limits results no more than 3 stacked signs in one spot', function() { var detections = [{ - detection_key: '78vqha63gs1upg15s823qckcmn', - image_key: 'bwYs-uXLDvm_meo_EC5Nzw' - }], - features = [ - { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '0', loc: [10,0], detections: detections } }, - { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '1', loc: [10,0], detections: detections } }, - { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '2', loc: [10,0], detections: detections } }, - { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '3', loc: [10,0], detections: detections } }, - { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '4', loc: [10,0], detections: detections } } - ]; + detection_key: '78vqha63gs1upg15s823qckcmn', + image_key: 'bwYs-uXLDvm_meo_EC5Nzw' + }]; + var features = [ + { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '0', loc: [10,0], detections: detections } }, + { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '1', loc: [10,0], detections: detections } }, + { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '2', loc: [10,0], detections: detections } }, + { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '3', loc: [10,0], detections: detections } }, + { minX: 10, minY: 0, maxX: 10, maxY: 0, data: { key: '4', loc: [10,0], detections: detections } } + ]; mapillary.cache().objects.rtree.load(features); var res = mapillary.signs(context.projection); diff --git a/test/spec/services/osm.js b/test/spec/services/osm.js index b8080b2c5..c977cf599 100644 --- a/test/spec/services/osm.js +++ b/test/spec/services/osm.js @@ -140,7 +140,7 @@ describe('iD.serviceOsm', function () { var path = '/api/0.6/map?bbox=-74.542,40.655,-74.541,40.656'; var response = '' + '' + - ' ' + ' ' + ' ' + ' ' +