From 3340d05502593927be86b5092e22e01ea3629ebb Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Tue, 14 Jan 2020 20:50:00 -0500 Subject: [PATCH] Add Solar Farm and Wind Farm presets --- CHANGELOG.md | 2 +- data/presets.yaml | 10 +++++ data/presets/presets.json | 4 +- .../power/generator/method/photovoltaic.json | 2 +- .../power/plant/method/photovoltaic.json | 40 +++++++++++++++++++ .../presets/power/plant/source/wind.json | 39 ++++++++++++++++++ data/taginfo.json | 2 + dist/locales/en.json | 8 ++++ modules/validations/outdated_tags.js | 6 ++- 9 files changed, 109 insertions(+), 4 deletions(-) create mode 100644 data/presets/presets/power/plant/method/photovoltaic.json create mode 100644 data/presets/presets/power/plant/source/wind.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 1d3015aac..e4403cc22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -104,7 +104,7 @@ _Breaking changes, which may affect downstream projects or sites that embed iD, * Add Secondhand Clothing Store preset ([#7164]) * Add Public Prosecutor's Office preset ([#7225]) * Add Speed Limit Enforcement preset ([#7234]) -* Add presets: Emergency Exit, Geyser, Used Car Dealership, Wedding Clothes Store, Backcountry Camping Area, Group Camping Area, History Museum +* Add presets: Emergency Exit, Geyser, Used Car Dealership, Wedding Clothes Store, Backcountry Camping Area, Group Camping Area, History Museum, Wind Farm, Solar Farm * Rename "Anime Shop" to "Anime / Manga Shop" ([#7223]) * Simplify the names of various Piste presets * Update Arts & Crafts Store icon ([#7228]) diff --git a/data/presets.yaml b/data/presets.yaml index 86378349a..1dcdf56a3 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -7014,6 +7014,16 @@ en: name: Power Station Grounds # 'terms: coal,gas,generat*,hydro,nuclear,power,station' terms: '' + power/plant/method/photovoltaic: + # 'power=plant, plant:method=photovoltaic' + name: Solar Farm + # 'terms: photovoltaic power station,solar panels,solar park,utility-scale solar' + terms: '' + power/plant/source/wind: + # 'power=plant, plant:source=wind' + name: Wind Farm + # 'terms: photovoltaic power station,solar panels,solar park,utility-scale solar' + terms: '' power/pole: # power=pole name: Power Pole diff --git a/data/presets/presets.json b/data/presets/presets.json index 5c4e6d9da..2192b20e6 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -930,13 +930,15 @@ "power/sub_station": {"icon": "temaki-power", "fields": ["substation", "operator", "building", "ref"], "geometry": ["area", "point"], "tags": {"power": "sub_station"}, "reference": {"key": "power", "value": "substation"}, "name": "Substation", "searchable": false}, "power/cable/underground": {"icon": "temaki-cable", "fields": ["name", "operator", "voltage", "ref", "layer"], "geometry": ["line"], "tags": {"power": "cable", "location": "underground"}, "addTags": {"power": "cable", "location": "underground", "layer": "-1"}, "name": "Underground Power Cable"}, "power/generator": {"icon": "temaki-power", "fields": ["operator", "generator/source", "generator/method", "generator/type", "generator/output/electricity", "ref"], "moreFields": ["level", "manufacturer"], "geometry": ["point", "vertex", "area"], "terms": ["hydro", "solar", "turbine", "wind"], "tags": {"power": "generator"}, "name": "Power Generator"}, - "power/generator/method/photovoltaic": {"icon": "fas-solar-panel", "fields": ["operator", "generator/output/electricity", "ref"], "moreFields": ["manufacturer"], "geometry": ["area", "point", "vertex"], "terms": ["photovoltaic module", "PV module", "sunlight"], "tags": {"power": "generator", "generator:method": "photovoltaic"}, "addTags": {"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/method/photovoltaic": {"icon": "fas-solar-panel", "fields": ["operator", "generator/output/electricity", "ref"], "moreFields": ["manufacturer"], "geometry": ["area", "point", "vertex"], "terms": ["photovoltaic module", "PV module", "sunlight"], "tags": {"power": "generator", "generator:method": "photovoltaic"}, "addTags": {"power": "generator", "generator:source": "solar", "generator:method": "photovoltaic", "generator:type": "solar_photovoltaic_panel", "generator:output:electricity": "*"}, "reference": {"key": "generator:method", "value": "photovoltaic"}, "name": "Solar Panel"}, "power/generator/source/hydro": {"icon": "temaki-power", "fields": ["operator", "generator/method", "generator/type", "generator/output/electricity", "ref"], "moreFields": ["height", "manufacturer"], "geometry": ["point", "vertex", "area"], "terms": ["dam", "generator", "francis turbine", "hydroelectricity", "kaplan turbine", "pelton turbine"], "tags": {"power": "generator", "generator:source": "hydro"}, "addTags": {"power": "generator", "generator:source": "hydro", "generator:output:electricity": "yes"}, "reference": {"key": "generator:source", "value": "hydro"}, "name": "Water Turbine"}, "power/generator/source/nuclear": {"icon": "temaki-radiation", "fields": ["operator", "generator/source", "generator/method", "generator/type", "generator/output/electricity", "ref"], "moreFields": ["manufacturer"], "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/type", "generator/output/electricity", "height", "ref"], "moreFields": ["manufacturer"], "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": "temaki-power_tower", "fields": ["name", "operator", "voltage", "ref", "layer"], "geometry": ["line"], "terms": ["electric power transmission line", "high voltage line", "high tension 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"], "moreFields": ["gnis/feature_id"], "geometry": ["area"], "tags": {"power": "plant"}, "addTags": {"power": "plant", "landuse": "industrial"}, "terms": ["coal", "gas", "generat*", "hydro", "nuclear", "power", "station"], "name": "Power Station Grounds"}, + "power/plant/method/photovoltaic": {"icon": "fas-solar-panel", "fields": ["{power/plant}"], "moreFields": ["{power/plant}"], "geometry": ["area"], "tags": {"power": "plant", "plant:method": "photovoltaic"}, "addTags": {"power": "plant", "plant:method": "photovoltaic", "plant:source": "solar", "plant:output:electricity": "*"}, "removeTags": {"power": "plant", "plant:method": "photovoltaic", "plant:source": "solar", "plant:output:electricity": "*", "landuse": "industrial"}, "reference": {"key": "plant:method", "value": "photovoltaic"}, "terms": ["photovoltaic power station", "solar panels", "solar park", "utility-scale solar"], "name": "Solar Farm"}, + "power/plant/source/wind": {"icon": "temaki-wind_turbine", "fields": ["{power/plant}"], "moreFields": ["{power/plant}"], "geometry": ["area"], "tags": {"power": "plant", "plant:source": "wind"}, "addTags": {"power": "plant", "plant:source": "wind", "plant:output:electricity": "*"}, "removeTags": {"power": "plant", "plant:method": "*", "plant:source": "wind", "plant:output:electricity": "*", "landuse": "industrial"}, "reference": {"key": "plant:source", "value": "wind"}, "terms": ["photovoltaic power station", "solar panels", "solar park", "utility-scale solar"], "name": "Wind Farm"}, "power/pole": {"icon": "temaki-utility_pole", "fields": ["ref", "operator", "height", "material", "line_attachment"], "moreFields": ["manufacturer"], "geometry": ["point", "vertex"], "tags": {"power": "pole"}, "name": "Power Pole"}, "power/substation": {"icon": "temaki-power", "fields": ["substation", "operator", "building", "ref"], "moreFields": ["gnis/feature_id"], "geometry": ["area", "point"], "tags": {"power": "substation"}, "name": "Substation"}, "power/switch": {"icon": "temaki-power_switch", "fields": ["switch", "operator", "location", "cables", "voltage", "ref"], "geometry": ["point", "vertex"], "tags": {"power": "switch"}, "name": "Power Switch"}, diff --git a/data/presets/presets/power/generator/method/photovoltaic.json b/data/presets/presets/power/generator/method/photovoltaic.json index 10f3b1560..17dc641d4 100644 --- a/data/presets/presets/power/generator/method/photovoltaic.json +++ b/data/presets/presets/power/generator/method/photovoltaic.json @@ -27,7 +27,7 @@ "generator:source": "solar", "generator:method": "photovoltaic", "generator:type": "solar_photovoltaic_panel", - "generator:output:electricity": "yes" + "generator:output:electricity": "*" }, "reference": { "key": "generator:method", diff --git a/data/presets/presets/power/plant/method/photovoltaic.json b/data/presets/presets/power/plant/method/photovoltaic.json new file mode 100644 index 000000000..8b18f377c --- /dev/null +++ b/data/presets/presets/power/plant/method/photovoltaic.json @@ -0,0 +1,40 @@ +{ + "icon": "fas-solar-panel", + "fields": [ + "{power/plant}" + ], + "moreFields": [ + "{power/plant}" + ], + "geometry": [ + "area" + ], + "tags": { + "power": "plant", + "plant:method": "photovoltaic" + }, + "addTags": { + "power": "plant", + "plant:method": "photovoltaic", + "plant:source": "solar", + "plant:output:electricity": "*" + }, + "removeTags": { + "power": "plant", + "plant:method": "photovoltaic", + "plant:source": "solar", + "plant:output:electricity": "*", + "landuse": "industrial" + }, + "reference": { + "key": "plant:method", + "value": "photovoltaic" + }, + "terms": [ + "photovoltaic power station", + "solar panels", + "solar park", + "utility-scale solar" + ], + "name": "Solar Farm" +} diff --git a/data/presets/presets/power/plant/source/wind.json b/data/presets/presets/power/plant/source/wind.json new file mode 100644 index 000000000..e1aa164ed --- /dev/null +++ b/data/presets/presets/power/plant/source/wind.json @@ -0,0 +1,39 @@ +{ + "icon": "temaki-wind_turbine", + "fields": [ + "{power/plant}" + ], + "moreFields": [ + "{power/plant}" + ], + "geometry": [ + "area" + ], + "tags": { + "power": "plant", + "plant:source": "wind" + }, + "addTags": { + "power": "plant", + "plant:source": "wind", + "plant:output:electricity": "*" + }, + "removeTags": { + "power": "plant", + "plant:method": "*", + "plant:source": "wind", + "plant:output:electricity": "*", + "landuse": "industrial" + }, + "reference": { + "key": "plant:source", + "value": "wind" + }, + "terms": [ + "photovoltaic power station", + "solar panels", + "solar park", + "utility-scale solar" + ], + "name": "Wind Farm" +} diff --git a/data/taginfo.json b/data/taginfo.json index 480a32377..19dc2ddff 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -910,6 +910,8 @@ {"key": "power", "value": "line", "description": "🄿 Power Line", "object_types": ["way"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/power_tower.svg"}, {"key": "power", "value": "minor_line", "description": "🄿 Minor Power Line", "object_types": ["way"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@master/svg/iD-sprite/presets/power-line.svg"}, {"key": "power", "value": "plant", "description": "🄿 Power Station Grounds", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/mapbox/maki/icons/industry-15.svg"}, + {"key": "plant:method", "value": "photovoltaic", "description": "🄿 Solar Farm", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/openstreetmap/iD@master/svg/fontawesome/fas-solar-panel.svg"}, + {"key": "plant:source", "value": "wind", "description": "🄿 Wind Farm", "object_types": ["area"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/wind_turbine.svg"}, {"key": "power", "value": "pole", "description": "🄿 Power Pole", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/utility_pole.svg"}, {"key": "power", "value": "substation", "description": "🄿 Substation", "object_types": ["area", "node"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/power.svg"}, {"key": "power", "value": "switch", "description": "🄿 Power Switch", "object_types": ["node"], "icon_url": "https://cdn.jsdelivr.net/gh/ideditor/temaki/icons/power_switch.svg"}, diff --git a/dist/locales/en.json b/dist/locales/en.json index d615f13c2..060d10f37 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -8553,6 +8553,14 @@ "name": "Power Station Grounds", "terms": "coal,gas,generat*,hydro,nuclear,power,station" }, + "power/plant/method/photovoltaic": { + "name": "Solar Farm", + "terms": "photovoltaic power station,solar panels,solar park,utility-scale solar" + }, + "power/plant/source/wind": { + "name": "Wind Farm", + "terms": "photovoltaic power station,solar panels,solar park,utility-scale solar" + }, "power/pole": { "name": "Power Pole", "terms": "" diff --git a/modules/validations/outdated_tags.js b/modules/validations/outdated_tags.js index cc2663afa..679021c4b 100644 --- a/modules/validations/outdated_tags.js +++ b/modules/validations/outdated_tags.js @@ -56,7 +56,11 @@ export function validationOutdatedTags(context) { if (preset.tags !== preset.addTags) { Object.keys(preset.addTags).forEach(function(k) { if (!newTags[k]) { - newTags[k] = preset.addTags[k]; + if (preset.addTags[k] === '*') { + newTags[k] = 'yes'; + } else { + newTags[k] = preset.addTags[k]; + } } }); }