diff --git a/data/fields/cycleway/both.json b/data/fields/cycleway/both.json new file mode 100644 index 0000000000..9d7b4abc53 --- /dev/null +++ b/data/fields/cycleway/both.json @@ -0,0 +1,48 @@ +{ + "keys": [ + "cycleway", + "cycleway:both" + ], + "reference": { + "key": "cycleway" + }, + "type": "combo", + "label": "Bike Lanes (both/primary sides)", + "placeholder": "none", + "strings": { + "options": { + "none": { + "title": "None", + "description": "No bike lane" + }, + "lane": { + "title": "Standard bike lane", + "description": "A bike lane separated from auto traffic by a painted line" + }, + "shared_lane": { + "title": "Shared bike lane", + "description": "A bike lane with no separation from auto traffic" + }, + "track": { + "title": "Bike track", + "description": "A bike lane separated from traffic by a physical barrier" + }, + "share_busway": { + "title": "Bike lane shared with bus", + "description": "A bike lane shared with a bus lane" + }, + "opposite_lane": { + "title": "Opposite bike lane", + "description": "A bike lane that travels in the opposite direction of traffic" + }, + "opposite": { + "title": "Contraflow bike lane", + "description": "A bike lane that travels in both directions on a one-way street" + }, + "separate": { + "title": "Cycleway mapped separately", + "description": "Indicates that cycleway was mapped as a separate geometry" + } + } + } +} diff --git a/data/fields/cycleway.json b/data/fields/cycleway/left_right.json similarity index 95% rename from data/fields/cycleway.json rename to data/fields/cycleway/left_right.json index b1fad8aad8..7b87310be3 100644 --- a/data/fields/cycleway.json +++ b/data/fields/cycleway/left_right.json @@ -1,19 +1,18 @@ { "keys": [ - "cycleway", "cycleway:left", "cycleway:right" ], "reference": { "key": "cycleway" }, - "type": "cycleway", + "type": "directionalCombo", "label": "Bike Lanes", "placeholder": "none", "strings": { "types": { "cycleway:left": "Left side", - "cycleway:right": "Right side" + "cycleway:right": "Right side", }, "options": { "none": { diff --git a/data/fields/parking/both/orientation.json b/data/fields/parking/both/orientation.json new file mode 100644 index 0000000000..38502a24f0 --- /dev/null +++ b/data/fields/parking/both/orientation.json @@ -0,0 +1,82 @@ +{ + "key": "parking:both:orientation", + "type": "combo", + "label": "Parking orientation (both sides)", + "strings": { + "options": { + "parallel": { + "title": "Parallel to the Street", + "description": "Parking " + }, + "diagonal": { + "title": "Diagonal in Relation to the Street", + "description": "" + }, + "perpendicular": { + "title": "Meets the Street at a Straight Angle", + "description": "" + } + } + }, + "prerequisiteTag": { + "key": "parking:both", + "valueNot:": "no" + }, + // TODO: Option 3: + // Can we move the "prerequisiteTag" to the string>types area? + // Or maybe use the keys from string>types here, to match per "side"? + // + // TODO: Option 1: + // "prerequisiteTag": { + // "key": "parking:both", + // "valuesNot:": ["no", "separate"] + // }, + // + // TODO: Option 2: Which would allow to list :left, :right as well in the future. + // "prerequisiteTag": { + // "and": [ + // { + // "key": "parking:both", + // "valueNot:": "no" + // }, + // { + // "key": "parking:both", + // "valueNot:": "separate" + // } + // ], + // "or": [] + // }, + // + // TODO: Option 2 variant for ./left_right/orientation + // "prerequisiteTag": { + // "and": [ + // { + // "key": "parking:both", + // "valueNot:": "no" + // }, + // { + // "key": "parking:both", + // "valueNot:": "separate" + // }, + // { + // "key": "parking:left", + // "valueNot:": "no" + // }, + // { + // "key": "parking:left", + // "valueNot:": "separate" + // }, + // { + // "key": "parking:right", + // "valueNot:": "no" + // }, + // { + // "key": "parking:right", + // "valueNot:": "separate" + // } + // ], + // "or": [] + // }, + "autoSuggestions": false, + "customValues": false +} diff --git a/data/fields/parking/both/parking.json b/data/fields/parking/both/parking.json new file mode 100644 index 0000000000..d609a61522 --- /dev/null +++ b/data/fields/parking/both/parking.json @@ -0,0 +1,46 @@ +{ + "key": "parking:both", + "reference": { + "key": "parking" + }, + "type": "combo", + "label": "Parking", + "strings": { + "options": { + "lane": { + "title": "Roadside Lane", + "description": "" + }, + "street_side": { + "title": "Street-Side", + "description": "" + }, + "on_kerb": { + "title": "On Kerb", + "description": "" + }, + "half_on_kerb": { + "title": "Half On Kerb", + "description": "" + }, + "shoulder": { + "title": "Shoulder", + "description": "" + }, + "no": { + "title": "No", + "description": "" + }, + "separate": { + "title": "Parking mapped separately", + "description": "Indicates that parking was mapped as a separate geometry (point or area)" + }, + "yes": { + "title": "Yes (unspecified)", + "description": "" + } + } + }, + "autoSuggestions": false, + "customValues": false +} diff --git a/data/fields/parking/left_right/orientation.json b/data/fields/parking/left_right/orientation.json new file mode 100644 index 0000000000..e44ed9eaab --- /dev/null +++ b/data/fields/parking/left_right/orientation.json @@ -0,0 +1,37 @@ +{ + "keys": [ + "parking:left:orientation", + "parking:right:orientationt" + ], + "type": "directionalCombo", + "label": "Parking orientation", + "strings": { + "types": { + "parking:left:orientation": "Left side", + "parking:right:orientation": "Right side" + }, + "options": { + "parallel": { + "title": "Parallel to the Street", + "description": "Parking " + }, + "diagonal": { + "title": "Diagonal in Relation to the Street", + "description": "" + }, + "perpendicular": { + "title": "Meets the Street at a Straight Angle", + "description": "" + } + } + }, + "prerequisiteTag": { + // TODO + "keys": [ + "parking:left", + "parking:right" + ] + }, + "autoSuggestions": false, + "customValues": false +} diff --git a/data/fields/parking/left_right/parking.json b/data/fields/parking/left_right/parking.json new file mode 100644 index 0000000000..b368eb08ca --- /dev/null +++ b/data/fields/parking/left_right/parking.json @@ -0,0 +1,53 @@ +{ + "keys": [ + "parking:left", + "parking:right" + ], + "reference": { + "key": "parking" + }, + "type": "directionalCombo", + "label": "Parking", + "strings": { + "types": { + "parking:left": "Left side", + "parking:right": "Right side" + }, + "options": { + "lane": { + "title": "Roadside Lane", + "description": "" + }, + "street_side": { + "title": "Street-Side", + "description": "" + }, + "on_kerb": { + "title": "On Kerb", + "description": "" + }, + "half_on_kerb": { + "title": "Half On Kerb", + "description": "" + }, + "shoulder": { + "title": "Shoulder", + "description": "" + }, + "no": { + "title": "No", + "description": "" + }, + "separate": { + "title": "Parking mapped separately", + "description": "Indicates that parking was mapped as a separate geometry (point or area)" + }, + "yes": { + "title": "Yes (unspecified)", + "description": "" + } + } + }, + "autoSuggestions": false, + "customValues": false +} diff --git a/data/presets/highway/living_street.json b/data/presets/highway/living_street.json index 4e951546d8..0fca821f2a 100644 --- a/data/presets/highway/living_street.json +++ b/data/presets/highway/living_street.json @@ -21,7 +21,9 @@ "oneway/bicycle", "smoothness", "trolley_wire", - "width" + "width", + "parking/parking_side", + "parking/parking_side_orientation" ], "geometry": [ "line" diff --git a/data/presets/highway/primary.json b/data/presets/highway/primary.json index 38cb39976f..477c4ee064 100644 --- a/data/presets/highway/primary.json +++ b/data/presets/highway/primary.json @@ -31,7 +31,9 @@ "toll", "traffic_calming", "trolley_wire", - "width" + "width", + "parking/parking_side", + "parking/parking_side_orientation" ], "geometry": [ "line" diff --git a/data/presets/highway/primary_link.json b/data/presets/highway/primary_link.json index ce38a7cfc4..b5744f12de 100644 --- a/data/presets/highway/primary_link.json +++ b/data/presets/highway/primary_link.json @@ -30,7 +30,9 @@ "smoothness", "toll", "trolley_wire", - "width" + "width", + "parking/parking_side", + "parking/parking_side_orientation" ], "geometry": [ "line" diff --git a/data/presets/highway/residential.json b/data/presets/highway/residential.json index 8de62dc2d6..ec3abe60cb 100644 --- a/data/presets/highway/residential.json +++ b/data/presets/highway/residential.json @@ -26,7 +26,9 @@ "smoothness", "traffic_calming", "trolley_wire", - "width" + "width", + "parking/parking_side", + "parking/parking_side_orientation" ], "geometry": [ "line" diff --git a/data/presets/highway/service.json b/data/presets/highway/service.json index a6f31271db..a9c8632692 100644 --- a/data/presets/highway/service.json +++ b/data/presets/highway/service.json @@ -23,7 +23,9 @@ "smoothness", "traffic_calming", "trolley_wire", - "width" + "width", + "parking/parking_side", + "parking/parking_side_orientation" ], "geometry": [ "line"