diff --git a/assets/layers/recycling/batteries.svg b/assets/layers/recycling/batteries.svg new file mode 100644 index 000000000..2ba547473 --- /dev/null +++ b/assets/layers/recycling/batteries.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/beverage_cartons.svg b/assets/layers/recycling/beverage_cartons.svg new file mode 100644 index 000000000..05909ef8f --- /dev/null +++ b/assets/layers/recycling/beverage_cartons.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/cans.svg b/assets/layers/recycling/cans.svg new file mode 100644 index 000000000..2aaff3f9a --- /dev/null +++ b/assets/layers/recycling/cans.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/clothes.svg b/assets/layers/recycling/clothes.svg new file mode 100644 index 000000000..f99861248 --- /dev/null +++ b/assets/layers/recycling/clothes.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/cooking_oil.svg b/assets/layers/recycling/cooking_oil.svg new file mode 100644 index 000000000..7a742beab --- /dev/null +++ b/assets/layers/recycling/cooking_oil.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/engine_oil.svg b/assets/layers/recycling/engine_oil.svg new file mode 100644 index 000000000..f92afd355 --- /dev/null +++ b/assets/layers/recycling/engine_oil.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/garden_waste.svg b/assets/layers/recycling/garden_waste.svg new file mode 100644 index 000000000..8788c1147 --- /dev/null +++ b/assets/layers/recycling/garden_waste.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/glass.svg b/assets/layers/recycling/glass.svg new file mode 100644 index 000000000..46488037e --- /dev/null +++ b/assets/layers/recycling/glass.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/glass_bottles.svg b/assets/layers/recycling/glass_bottles.svg new file mode 100644 index 000000000..7d234e991 --- /dev/null +++ b/assets/layers/recycling/glass_bottles.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/license_info.json b/assets/layers/recycling/license_info.json new file mode 100644 index 000000000..ec788ff43 --- /dev/null +++ b/assets/layers/recycling/license_info.json @@ -0,0 +1,186 @@ +[ + { + "path": "batteries.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/batteries.svg" + ] + }, + { + "path": "beverage_cartons.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/beverage_cartons.svg" + ] + }, + { + "path": "cans.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/cans.svg" + ] + }, + { + "path": "clothes.svg", + "license": "CC-BY-SA", + "authors": [ + "Adrien Pavie", + "modified from EmojiOne 2: U+1F456, U+1F45" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/clothes.svg" + ] + }, + { + "path": "cooking_oil.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/cooking_oil.svg" + ] + }, + { + "path": "engine_oil.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/engine_oil.svg" + ] + }, + { + "path": "garden_waste.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick", + "modified from Twemoji: U+1F33F" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/garden_waste.svg" + ] + }, + { + "path": "glass.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/glass.svg" + ] + }, + { + "path": "glass_bottles.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/glass_bottles.svg" + ] + }, + { + "path": "newspaper.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick", + "modified from EmojiOne 2: U+1F4F0" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/newspaper.svg" + ] + }, + { + "path": "paper.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/paper.svg" + ] + }, + { + "path": "plastic.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/plastic.svg" + ] + }, + { + "path": "plastic_bottles.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/plastic_bottles.svg" + ] + }, + { + "path": "plastic_packaging.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/plastic_packaging.svg" + ] + }, + { + "path": "recycling-14.svg", + "license": "CC0", + "authors": [ + "Michael Glanznig" + ], + "sources": [ + "https://github.com/gmgeo/osmic/blob/master/amenity/recycling-14.svg" + ] + }, + { + "path": "scrap_metal.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/scrap_metal.svg" + ] + }, + { + "path": "shoes.svg", + "license": "CC-BY-SA", + "authors": [ + "Tobias Zwick", + "modified from EmojiOne 2: U+1F45F" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/shoes.svg" + ] + }, + { + "path": "small_electrical_appliances.svg", + "license": "CC-BY-SA", + "authors": [ + "EmojiOne 2: U+1F50C" + ], + "sources": [ + "https://github.com/streetcomplete/StreetComplete/blob/master/res/graphics/recycling%20icons/small_electrical_appliances.svg" + ] + } +] \ No newline at end of file diff --git a/assets/layers/recycling/newspaper.svg b/assets/layers/recycling/newspaper.svg new file mode 100644 index 000000000..19ffa9d54 --- /dev/null +++ b/assets/layers/recycling/newspaper.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/assets/layers/recycling/paper.svg b/assets/layers/recycling/paper.svg new file mode 100644 index 000000000..76cb42217 --- /dev/null +++ b/assets/layers/recycling/paper.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/plastic.svg b/assets/layers/recycling/plastic.svg new file mode 100644 index 000000000..755c2e865 --- /dev/null +++ b/assets/layers/recycling/plastic.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/plastic_bottles.svg b/assets/layers/recycling/plastic_bottles.svg new file mode 100644 index 000000000..669312972 --- /dev/null +++ b/assets/layers/recycling/plastic_bottles.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/plastic_packaging.svg b/assets/layers/recycling/plastic_packaging.svg new file mode 100644 index 000000000..7ae9d650f --- /dev/null +++ b/assets/layers/recycling/plastic_packaging.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/recycling-14.svg b/assets/layers/recycling/recycling-14.svg new file mode 100644 index 000000000..6244f4124 --- /dev/null +++ b/assets/layers/recycling/recycling-14.svg @@ -0,0 +1,40 @@ + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/assets/layers/recycling/recycling.json b/assets/layers/recycling/recycling.json new file mode 100644 index 000000000..270620fd6 --- /dev/null +++ b/assets/layers/recycling/recycling.json @@ -0,0 +1,954 @@ +{ + "id": "recycling", + "name": { + "en": "Recycling", + "nl": "Recycling" + }, + "description": { + "en": "A layer with recycling containers and centres", + "nl": "Een laag met recyclagingcontainers en -centrums" + }, + "source": { + "osmTags": "amenity=recycling" + }, + "calculatedTags": [ + "_waste_amount=Object.values(Object.keys(feat.properties).filter((key) => key.startsWith('recycling:')).reduce((cur, key) => { return Object.assign(cur, { [key]: feat.properties[key] })}, {})).reduce((n, x) => n + (x == \"yes\"), 0);" + ], + "minzoom": 12, + "title": { + "render": { + "en": "Recycling facility", + "nl": "Recyclingfaciliteit" + }, + "mappings": [ + { + "if": "recycling_type=centre", + "then": { + "en": "Recycling centre", + "nl": "Recyclingcentrum" + } + }, + { + "if": "recycling_type=container", + "then": { + "en": "Recycling container", + "nl": "Recyclingcontainer" + } + } + ] + }, + "mapRendering": [ + { + "location": [ + "point", + "centroid" + ], + "icon": { + "render": "circle:white;./assets/layers/recycling/recycling-14.svg", + "mappings": [ + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:batteries=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/batteries.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:beverage_cartons=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/beverage_cartons.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:cans=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/cans.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:clothes=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/clothes.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:cooking_oil=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/cooking_oil.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:engine_oil=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/engine_oil.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:glass=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/glass.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:glass_bottles=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/glass_bottles.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + { + "or": [ + "recycling:green_waste=yes", + "recycling:organic=yes" + ] + } + ] + }, + "then": "circle:white;./assets/layers/recycling/garden_waste.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:newspaper=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/newspaper.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:paper=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/paper.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:plastic_bottles=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/plastic_bottles.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:plastic_packaging=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/plastic_packaging.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:plastic=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/plastic.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:scrap_metal=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/scrap_metal.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:shoes=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/shoes.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + { + "or": [ + "recycling:small_appliances=yes", + "recycling:small_electric_appliances=yes" + ] + } + ] + }, + "then": "circle:white;./assets/layers/recycling/small_electrical_appliances.svg" + }, + { + "if": { + "and": [ + "_waste_amount=1", + "recycling:waste=yes" + ] + }, + "then": "circle:white;./assets/layers/waste_disposal/waste_disposal.svg" + } + ] + }, + "iconBadges": [ + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:batteries=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/batteries.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:beverage_cartons=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/beverage_cartons.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:cans=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/cans.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:clothes=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/clothes.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:cooking_oil=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/cooking_oil.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:engine_oil=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/engine_oil.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:glass=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/glass.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:glass_bottles=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/glass_bottles.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + { + "or": [ + "recycling:green_waste=yes", + "recycling:organic=yes" + ] + } + ] + }, + "then": "circle:white;./assets/layers/recycling/garden_waste.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:newspaper=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/newspaper.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:paper=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/paper.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:plastic_bottles=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/plastic_bottles.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:plastic_packaging=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/plastic_packaging.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:plastic=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/plastic.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:scrap_metal=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/scrap_metal.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:shoes=yes" + ] + }, + "then": "circle:white;./assets/layers/recycling/shoes.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + { + "or": [ + "recycling:small_appliances=yes", + "recycling:small_electrical_appliances=yes" + ] + } + ] + }, + "then": "circle:white;./assets/layers/recycling/small_electrical_appliances.svg" + }, + { + "if": { + "and": [ + "_waste_amount>1", + "recycling:waste=yes" + ] + }, + "then": "circle:white;./assets/layers/waste_disposal/waste_disposal.svg" + } + ] + } + ], + "presets": [ + { + "title": { + "en": "recycling container", + "nl": "recycling container" + }, + "tags": [ + "amenity=recycling", + "recycling_type=container" + ] + }, + { + "title": { + "en": "recycling centre", + "nl": "recycling centre" + }, + "tags": [ + "amenity=recycling", + "recycling_type=centre" + ] + } + ], + "tagRenderings": [ + { + "id": "recycling-type", + "question": { + "en": "What type of recycling is this?", + "nl": "Wat voor soort recycling is dit?" + }, + "mappings": [ + { + "if": "recycling_type=container", + "then": { + "en": "This is a recycling container", + "nl": "Dit is een recyclingcontainer" + } + }, + { + "if": "recycling_type=centre", + "then": { + "en": "This is a recycling centre", + "nl": "Dit is een recyclingcentrum" + } + }, + { + "if": "amenity=waste_disposal", + "then": { + "en": "Waste disposal container for residual waste", + "nl": "Afvalcontainer voor restafval" + }, + "addExtraTags": [ + "recycling:batteries=", + "recycling:beverage_cartons=", + "recycling:cans=", + "recycling:clothes=", + "recycling:cooking_oil=", + "recycling:engine_oil=", + "recycling:green_waste=", + "recycling:organic=", + "recycling:glass_bottles=", + "recycling:glass=", + "recycling:newspaper=", + "recycling:paper=", + "recycling:plastic_bottles=", + "recycling:plastic_packaging=", + "recycling:plastic=", + "recycling:scrap_metal=", + "recycling:shoes=", + "recycling:small_appliances=", + "recycling:small_electrical_appliances=", + "recycling:waste=" + ] + } + ] + }, + { + "id": "container-location", + "question": { + "en": "Where is this container located?", + "nl": "Waar bevindt deze container zich?" + }, + "condition": "recycling_type=container", + "mappings": [ + { + "if": "location=underground", + "then": { + "en": "This is an underground container", + "nl": "Dit is een ondergrondse container" + } + }, + { + "if": "location=indoor", + "then": { + "en": "This container is located indoors", + "nl": "Deze container bevindt zich binnen" + } + }, + { + "if": "location=", + "then": { + "en": "This container is located outdoors", + "nl": "Deze container is buiten" + } + } + ] + }, + { + "id": "recycling-accepts", + "question": { + "en": "What can be recycled here?", + "nl": "Wat kan hier gerecycled worden?" + }, + "multiAnswer": true, + "mappings": [ + { + "if": "recycling:batteries=yes", + "ifnot": "recycling:batteries=", + "then": { + "en": "Batteries can be recycled here", + "nl": "Batterijen kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/batteries.svg", + "class": "medium" + } + }, + { + "if": "recycling:beverage_cartons=yes", + "ifnot": "recycling:beverage_cartons=", + "then": { + "en": "Beverage cartons can be recycled here", + "nl": "Drankpakken kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/beverage_cartons.svg", + "class": "medium" + } + }, + { + "if": "recycling:cans=yes", + "ifnot": "recycling:cans=", + "then": { + "en": "Cans can be recycled here", + "nl": "Blikken kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/cans.svg", + "class": "medium" + } + }, + { + "if": "recycling:clothes=yes", + "ifnot": "recycling:clothes=", + "then": { + "en": "Clothes can be recycled here", + "nl": "Kleren kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/clothes.svg", + "class": "medium" + } + }, + { + "if": "recycling:cooking_oil=yes", + "ifnot": "recycling:cooking_oil=", + "then": { + "en": "Cooking oil can be recycled here", + "nl": "Frituurvet kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/cooking_oil.svg", + "class": "medium" + } + }, + { + "if": "recycling:engine_oil=yes", + "ifnot": "recycling:engine_oil=", + "then": { + "en": "Engine oil can be recycled here", + "nl": "Motorolie kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/engine_oil.svg", + "class": "medium" + } + }, + { + "if": "recycling:green_waste=yes", + "ifnot": "recycling:green_waste=", + "then": { + "en": "Green waste can be recycled here", + "nl": "Groen afval kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/garden_waste.svg", + "class": "medium" + } + }, + { + "if": "recycling:organic=yes", + "ifnot": "recycling:organic=", + "then": { + "en": "Organic waste can be recycled here", + "nl": "Organisch afval kan hier gerecycled worden" + }, + "hideInAnswer": true, + "icon": { + "path": "./assets/layers/recycling/garden_waste.svg", + "class": "medium" + } + }, + { + "if": "recycling:glass_bottles=yes", + "ifnot": "recycling:glass_bottles=", + "then": { + "en": "Glass bottles can be recycled here", + "nl": "Glazen flessen kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/glass_bottles.svg", + "class": "medium" + } + }, + { + "if": "recycling:glass=yes", + "ifnot": "recycling:glass=", + "then": { + "en": "Glass can be recycled here", + "nl": "Glas kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/glass.svg", + "class": "medium" + } + }, + { + "if": "recycling:newspaper=yes", + "ifnot": "recycling:newspaper=", + "then": { + "en": "Newspapers can be recycled here", + "nl": "Kranten kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/newspaper.svg", + "class": "medium" + } + }, + { + "if": "recycling:paper=yes", + "ifnot": "recycling:paper=", + "then": { + "en": "Paper can be recycled here", + "nl": "Papier kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/paper.svg", + "class": "medium" + } + }, + { + "if": "recycling:plastic_bottles=yes", + "ifnot": "recycling:plastic_bottles=", + "then": { + "en": "Plastic bottles can be recycled here", + "nl": "Plastic flessen kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/plastic_bottles.svg", + "class": "medium" + } + }, + { + "if": "recycling:plastic_packaging=yes", + "ifnot": "recycling:plastic_packaging=", + "then": { + "en": "Plastic packaging can be recycled here", + "nl": "Plastic verpakking kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/plastic_packaging.svg", + "class": "medium" + } + }, + { + "if": "recycling:plastic=yes", + "ifnot": "recycling:plastic=", + "then": { + "en": "Plastic can be recycled here", + "nl": "Plastic kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/plastic.svg", + "class": "medium" + } + }, + { + "if": "recycling:scrap_metal=yes", + "ifnot": "recycling:scrap_metal=", + "then": { + "en": "Scrap metal can be recycled here", + "nl": "Oud metaal kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/scrap_metal.svg", + "class": "medium" + } + }, + { + "if": "recycling:shoes=yes", + "ifnot": "recycling:shoes=", + "then": { + "en": "Shoes can be recycled here", + "nl": "Schoenen kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/shoes.svg", + "class": "medium" + } + }, + { + "if": "recycling:small_appliances=yes", + "ifnot": "recycling:small_appliances=", + "then": { + "en": "Small electrical appliances can be recycled here", + "nl": "Kleine elektrische apparaten kunnen hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/recycling/small_electrical_appliances.svg", + "class": "medium" + } + }, + { + "if": "recycling:small_electrical_appliances=yes", + "ifnot": "recycling:small_electrical_appliances=", + "then": { + "en": "Small electrical appliances can be recycled here", + "nl": "Kleine elektrische apparaten kunnen hier gerecycled worden" + }, + "hideInAnswer": true, + "icon": { + "path": "./assets/layers/recycling/small_electrical_appliances.svg", + "class": "medium" + } + }, + { + "if": "recycling:waste=yes", + "ifnot": "recycling:waste=", + "then": { + "en": "Residual waste can be recycled here", + "nl": "Restafval kan hier gerecycled worden" + }, + "icon": { + "path": "./assets/layers/waste_disposal/waste_disposal.svg", + "class": "medium" + }, + "hideInAnswer": "recycling_type=container" + } + ] + }, + { + "id": "operator", + "render": { + "en": "This recycling facility is operated by {operator}", + "nl": "Deze recyclingfaciliteit wordt beheerd door {operator}" + }, + "question": { + "en": "What company operates this recycling facility?", + "nl": "Wat is de beheerder van deze recyclingfaciliteit?" + }, + "freeform": { + "key": "operator", + "type": "string" + } + }, + { + "id": "opening_hours", + "render": "{opening_hours_table()}", + "question": { + "en": "What are the opening hours of this recycling facility?", + "nl": "Wat zijn de openingstijden van deze recyclingfaciliteit?" + }, + "freeform": { + "key": "opening_hours", + "type": "opening_hours" + }, + "mappings": [ + { + "if": "opening_hours=24/7", + "then": { + "en": "24/7", + "nl": "24/7" + } + } + ] + } + ], + "filter": [ + { + "id": "isOpen", + "options": [ + { + "question": { + "en": "Currently open", + "nl": "Op dit moment open" + }, + "osmTags": "_isOpen=yes" + } + ] + }, + { + "id": "recyclingType", + "options": [ + { + "question": { + "en": "All recycling types", + "nl": "Alle recyclingtypes" + } + }, + { + "question": { + "en": "Recycling of batteries", + "nl": "Recycling van batterijen" + }, + "osmTags": "recycling:batteries=yes" + }, + { + "question": { + "en": "Recycling of beverage cartons", + "nl": "Recycling van drankpakken" + }, + "osmTags": "recycling:beverage_cartons=yes" + }, + { + "question": { + "en": "Recycling of cans", + "nl": "Recycling van blikken" + }, + "osmTags": "recycling:cans=yes" + }, + { + "question": { + "en": "Recycling of clothes", + "nl": "Recycling van kleding" + }, + "osmTags": "recycling:clothes=yes" + }, + { + "question": { + "en": "Recycling of cooking oil", + "nl": "Recycling van frituurvet" + }, + "osmTags": "recycling:cooking_oil=yes" + }, + { + "question": { + "en": "Recycling of engine oil", + "nl": "Recycling van motorolie" + }, + "osmTags": "recycling:engine_oil=yes" + }, + { + "question": { + "en": "Recycling of green waste", + "nl": "Recycling van groen afval" + }, + "osmTags": { + "or": [ + "recycling:green_waste=yes", + "recycling:organic=yes" + ] + } + }, + { + "question": { + "en": "Recycling of glass bottles", + "nl": "Recycling van glazen flessen" + }, + "osmTags": "recycling:glass_bottles=yes" + }, + { + "question": { + "en": "Recycling of glass", + "nl": "Recycling van glas" + }, + "osmTags": "recycling:glass=yes" + }, + { + "question": { + "en": "Recycling of newspapers", + "nl": "Recycling van kranten" + }, + "osmTags": "recycling:newspaper=yes" + }, + { + "question": { + "en": "Recycling of paper", + "nl": "Recycling van papier" + }, + "osmTags": "recycling:paper=yes" + }, + { + "question": { + "en": "Recycling of plastic bottles", + "nl": "Recycling van plastic flessen" + }, + "osmTags": "recycling:plastic_bottles=yes" + }, + { + "question": { + "en": "Recycling of plastic packaging", + "nl": "Recycling van plastic verpakking" + }, + "osmTags": "recycling:plastic_packaging=yes" + }, + { + "question": { + "en": "Recycling of plastic", + "nl": "Recycling van plastic" + }, + "osmTags": "recycling:plastic=yes" + }, + { + "question": { + "en": "Recycling of scrap metal", + "nl": "Recycling van oud metaal" + }, + "osmTags": "recycling:scrap_metal=yes" + }, + { + "question": { + "en": "Recycling of small electrical appliances", + "nl": "Recycling van kleine elektrische apparaten" + }, + "osmTags": { + "or": [ + "recycling:small_appliances=yes", + "recycling:small_electrical_appliances=yes" + ] + } + }, + { + "question": { + "en": "Recycling of residual waste", + "nl": "Recycling van restafval" + }, + "osmTags": "recycling:waste=yes" + } + ] + } + ], + "deletion": {"neededChangesets": 1}, + "allowMove": { + "enableRelocation": false, + "enableImproveAccuracy": true + } +} \ No newline at end of file diff --git a/assets/layers/recycling/scrap_metal.svg b/assets/layers/recycling/scrap_metal.svg new file mode 100644 index 000000000..9ff4dfeeb --- /dev/null +++ b/assets/layers/recycling/scrap_metal.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/shoes.svg b/assets/layers/recycling/shoes.svg new file mode 100644 index 000000000..0a5bd834e --- /dev/null +++ b/assets/layers/recycling/shoes.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/recycling/small_electrical_appliances.svg b/assets/layers/recycling/small_electrical_appliances.svg new file mode 100644 index 000000000..b5529c91f --- /dev/null +++ b/assets/layers/recycling/small_electrical_appliances.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/layers/waste_basket/waste_basket.json b/assets/layers/waste_basket/waste_basket.json index 49a365d2b..cf59c3f29 100644 --- a/assets/layers/waste_basket/waste_basket.json +++ b/assets/layers/waste_basket/waste_basket.json @@ -86,6 +86,14 @@ "nl": "Een vuilnisbak voor injectienaalden en andere scherpe voorwerpen", "de": "Ein Abfalleimer für Nadeln und andere scharfe Gegenstände" } + }, + { + "if": "waste=plastic", + "then": { + "en": "A waste basket for plastic", + "nl": "Een vuilnisbak voor plastic", + "de": "Ein Abfalleimer für Plastik" + } } ] }, @@ -137,7 +145,7 @@ "nl": "Deze vuilnisbaak heeft waarschijnlijk geen verdeler voor hondenpoepzakjes", "de": "Dieser Abfalleimer hat keinen Spender für (Hunde-)Kotbeutel" }, - "hideInAnwer": true + "hideInAnswer": true } ] } @@ -159,6 +167,81 @@ } } ], + "filter": [ + { + "id": "waste-type", + "options": [ + { + "question": { + "en": "All types", + "nl": "Alle soorten", + "de": "Alle Typen" + } + }, + { + "question": { + "en": "Waste basket for cigarettes", + "nl": "Vuilnisbak voor sigarettenpeuken", + "de": "Mülleimer für Zigaretten" + }, + "osmTags": "waste~.*cigarettes.*" + }, + { + "question": { + "en": "Waste basket for drugs", + "nl": "Vuilnisbak voor (vervallen) medicatie en drugs", + "de": "Mülleimer für Drogen" + }, + "osmTags": "waste~.*drugs.*" + }, + { + "question": { + "en": "Waste basket for dog excrement", + "nl": "Vuilnisbak voor hondenuitwerpselen", + "de": "Mülleimer für Hundekot" + }, + "osmTags": "waste~.*dog_excrement.*" + }, + { + "question": { + "en": "Waste basket for trash", + "nl": "Vuilnisbak voor zwerfvuil", + "de": "Mülleimer für allgemeinen Müll" + }, + "osmTags": "waste~.*trash.*" + }, + { + "question": { + "en": "Waste basket for sharps", + "nl": "Vuilnisbak voor injectienaalden en andere scherpe voorwerpen", + "de": "Mülleimer für Nadeln und andere scharfe Gegenstände" + }, + "osmTags": "waste~.*sharps.*" + }, + { + "question": { + "en": "Waste basket for plastic", + "nl": "Vuilnisbak voor plastic", + "de": "Mülleimer für Plastik" + }, + "osmTags": "waste~.*plastic.*" + } + ] + }, + { + "id": "waste-vending", + "options": [ + { + "question": { + "en": "Waste basket with dispenser for (dog) excrement bags", + "nl": "Vuilnisbak met verdeler voor hondenpoepzakjes", + "de": "Abfalleimer mit Spender für (Hunde-)Kotbeutel" + }, + "osmTags": "vending=dog_excrement_bag" + } + ] + } + ], "deletion": { "softDeletionTags": { "and": [ diff --git a/assets/layers/waste_disposal/license_info.json b/assets/layers/waste_disposal/license_info.json new file mode 100644 index 000000000..aeeec767e --- /dev/null +++ b/assets/layers/waste_disposal/license_info.json @@ -0,0 +1,12 @@ +[ + { + "path": "waste_disposal.svg", + "license": "CC0", + "authors": [ + "kocio-pl" + ], + "sources": [ + "https://github.com/gravitystorm/openstreetmap-carto/blob/master/symbols/amenity/waste_disposal.svg" + ] + } +] \ No newline at end of file diff --git a/assets/layers/waste_disposal/waste_disposal.json b/assets/layers/waste_disposal/waste_disposal.json new file mode 100644 index 000000000..a589d75d1 --- /dev/null +++ b/assets/layers/waste_disposal/waste_disposal.json @@ -0,0 +1,119 @@ +{ + "id": "waste_disposal", + "name": { + "en": "Waste Disposal Bins" + }, + "description": { + "en": "Waste Disposal Bin, medium to large bin for disposal of (household) waste" + }, + "source": { + "osmTags": "amenity=waste_disposal" + }, + "minzoom": 18, + "minzoomVisible": 18, + "title": { + "render": { + "en": "Waste Disposal" + } + }, + "mapRendering": [ + { + "location": [ + "point", + "centroid" + ], + "icon": "circle:white;./assets/layers/waste_disposal/waste_disposal.svg" + } + ], + "presets": [ + { + "title": { + "en": "Waste Disposal Bin" + }, + "tags": [ + "amenity=waste_disposal" + ], + "description": { + "en": "Medium to large bin for disposal of (household) waste" + } + } + ], + "tagRenderings": [ + { + "id": "access", + "render": { + "en": "Access: {access}" + }, + "question": { + "en": "Who can use this waste disposal bin?" + }, + "freeform": { + "key": "access", + "type": "string" + }, + "mappings": [ + { + "if": "access=yes", + "then": { + "en": "This bin can be used by anyone" + } + }, + { + "if": "access=no", + "then": { + "en": "This bin is private" + } + }, + { + "if": "access=residents", + "then": { + "en": "This bin is only for residents" + } + } + ] + }, + { + "id": "disposal-location", + "question": { + "en": "Where is this container located?", + "nl": "Waar bevindt deze container zich?" + }, + "mappings": [ + { + "if": "location=underground", + "then": { + "en": "This is an underground container", + "nl": "Dit is een ondergrondse container" + } + }, + { + "if": "location=indoor", + "then": { + "en": "This container is located indoors", + "nl": "Deze container bevindt zich binnen" + } + }, + { + "if": "location=", + "then": { + "en": "This container is located outdoors", + "nl": "Deze container is buiten" + } + } + ] + } + ], + "filter": [ + { + "id": "public-access", + "options": [ + { + "question": { + "en": "Only public access" + }, + "osmTags": "access=yes" + } + ] + } + ] +} \ No newline at end of file diff --git a/assets/layers/waste_disposal/waste_disposal.svg b/assets/layers/waste_disposal/waste_disposal.svg new file mode 100644 index 000000000..db755349c --- /dev/null +++ b/assets/layers/waste_disposal/waste_disposal.svg @@ -0,0 +1,31 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/assets/themes/mapcomplete-changes/mapcomplete-changes.json b/assets/themes/mapcomplete-changes/mapcomplete-changes.json index d0108bdbf..8653e1842 100644 --- a/assets/themes/mapcomplete-changes/mapcomplete-changes.json +++ b/assets/themes/mapcomplete-changes/mapcomplete-changes.json @@ -299,6 +299,14 @@ "if": "theme=uk_addresses", "then": "./assets/themes/uk_addresses/housenumber_unknown.svg" }, + { + "if": "theme=waste", + "then": "./assets/layers/recycling/recycling-14.svg" + }, + { + "if": "theme=waste_assen", + "then": "./assets/layers/recycling/recycling-14.svg" + }, { "if": "theme=waste_basket", "then": "./assets/themes/waste_basket/waste_basket.svg" diff --git a/assets/themes/street_lighting/street_lighting_assen.json b/assets/themes/street_lighting/street_lighting_assen.json index 7de783931..646a82550 100644 --- a/assets/themes/street_lighting/street_lighting_assen.json +++ b/assets/themes/street_lighting/street_lighting_assen.json @@ -26,7 +26,7 @@ }, "calculatedTags": [ "_closest_osm_street_lamp=feat.closest('street_lamps')?.properties?.id", - "_closest_osm_street_lamp_distance=feat.distanceTo(feat.properties._closest_osm_street_lamp) * 1000", + "_closest_osm_street_lamp_distance=feat.distanceTo(feat.properties._closest_osm_street_lamp)", "_has_closeby_feature=Number(feat.properties._closest_osm_street_lamp_distance) < 5 ? 'yes' : 'no'" ], "title": "Straatlantaarn in dataset", diff --git a/assets/themes/waste/waste.json b/assets/themes/waste/waste.json new file mode 100644 index 000000000..1998b893a --- /dev/null +++ b/assets/themes/waste/waste.json @@ -0,0 +1,32 @@ +{ + "id": "waste", + "maintainer": "", + "version": "2022-01-19", + "language": [ + "en", + "nl" + ], + "title": { + "en": "Waste", + "nl": "Afval" + }, + "description": { + "en": "Map showing waste baskets and recycling facilities.", + "nl": "Kaart met afvalbakken en recyclingfaciliteiten." + }, + "icon": "./assets/layers/recycling/recycling-14.svg", + "startZoom": 19, + "startLat": 53.24865, + "startLon": 6.60075, + "layers": [ + { + "builtin": "waste_basket", + "override": { + "minzoom": 18, + "minzoomVisible": 18 + } + }, + "recycling", + "waste_disposal" + ] +} \ No newline at end of file diff --git a/assets/themes/waste/waste_assen.json b/assets/themes/waste/waste_assen.json new file mode 100644 index 000000000..810c64a31 --- /dev/null +++ b/assets/themes/waste/waste_assen.json @@ -0,0 +1,109 @@ +{ + "id": "waste_assen", + "maintainer": "Robin van der Linde", + "version": "2022-01-09", + "language": [ + "en", + "nl" + ], + "title": { + "nl": "Afval - Assen" + }, + "description": { + "nl": "Kaart met afvalbakken en recyclingfaciliteiten + een dataset voor Assen." + }, + "icon": "./assets/layers/recycling/recycling-14.svg", + "startZoom": 19, + "startLat": 53.24865, + "startLon": 6.60075, + "layers": [ + { + "builtin": "waste_basket", + "override": { + "minzoom": 12 + } + }, + { + "id": "waste_basket_assen", + "name": "Dataset Afvalbakken Assen", + "source": { + "osmTags": "OBJECTID~*", + "geoJson": "https://opendata.arcgis.com/datasets/5b6953ac5a9d4616a7dc75ab0beeac2f_0.geojson", + "isOsmCache": false + }, + "calculatedTags": [ + "_closest_osm_waste_basket=feat.closest('waste_basket')?.properties?.id", + "_closest_osm_waste_basket_distance=feat.distanceTo(feat.properties._closest_osm_waste_basket)", + "_has_closeby_feature=Number(feat.properties._closest_osm_waste_basket_distance) < 10 ? 'yes' : 'no'" + ], + "title": "Afvalbak in dataset", + "mapRendering": [ + { + "location": [ + "point", + "centroid" + ], + "icon": { + "render": "circle:red", + "mappings": [ + { + "if": "_has_closeby_feature=yes", + "then": "circle:#008000aa" + } + ] + }, + "iconSize": "20,20,center" + } + ], + "tagRenderings": [ + "all_tags" + ] + }, + "recycling", + { + "id": "recycling_assen", + "name": "Dataset Recyclingcontainers Assen", + "source": { + "osmTags": "OBJECTID~*", + "geoJson": "https://opendata.arcgis.com/datasets/edb893998e27461b8ed82aad9854d27d_0.geojson", + "isOsmCache": false + }, + "calculatedTags": [ + "_closest_osm_recycling=feat.closest('recycling')?.properties?.id", + "_closest_osm_waste_disposal=feat.closest('waste_disposal')?.properties?.id", + "_closest_osm_recycling_distance=feat.distanceTo(feat.properties._closest_osm_recycling)", + "_closest_osm_waste_disposal_distance=feat.distanceTo(feat.properties._closest_osm_waste_disposal)", + "_has_closeby_recycling=Number(feat.properties._closest_osm_recycling_distance) < 10 ? 'yes' : 'no'", + "_has_closeby_waste_disposal=Number(feat.properties._closest_osm_waste_disposal_distance) < 10 ? 'yes' : 'no'" + ], + "title": "Recyclingcontainer in dataset", + "mapRendering": [ + { + "location": [ + "point", + "centroid" + ], + "icon": { + "render": "circle:red", + "mappings": [ + { + "if": "_has_closeby_recycling=yes", + "then": "circle:#008000aa" + }, + { + "if": "_has_closeby_waste_disposal=yes", + "then": "circle:#008000aa" + } + ] + }, + "iconSize": "20,20,center" + } + ], + "tagRenderings": [ + "all_tags" + ] + }, + "waste_disposal" + ], + "hideFromOverview": true +} \ No newline at end of file diff --git a/langs/layers/de.json b/langs/layers/de.json index e3182578f..3c845d54d 100644 --- a/langs/layers/de.json +++ b/langs/layers/de.json @@ -3175,6 +3175,40 @@ }, "waste_basket": { "description": "Dies ist ein öffentlicher Abfalleimer, in den Sie Ihren Müll entsorgen können.", + "filter": { + "0": { + "options": { + "0": { + "question": "Alle Typen" + }, + "1": { + "question": "Mülleimer für Zigaretten" + }, + "2": { + "question": "Mülleimer für Drogen" + }, + "3": { + "question": "Mülleimer für Hundekot" + }, + "4": { + "question": "Mülleimer für allgemeinen Müll" + }, + "5": { + "question": "Mülleimer für Nadeln und andere scharfe Gegenstände" + }, + "6": { + "question": "Mülleimer für Plastik" + } + } + }, + "1": { + "options": { + "0": { + "question": "Abfalleimer mit Spender für (Hunde-)Kotbeutel" + } + } + } + }, "mapRendering": { "0": { "iconSize": { @@ -3226,6 +3260,9 @@ }, "5": { "then": "Ein Abfalleimer für Nadeln und andere scharfe Gegenstände" + }, + "6": { + "then": "Ein Abfalleimer für Plastik" } }, "question": "Um was für einen Abfalleimer handelt es sich?" diff --git a/langs/layers/en.json b/langs/layers/en.json index e7b8d1d14..1cbc07a8f 100644 --- a/langs/layers/en.json +++ b/langs/layers/en.json @@ -4124,6 +4124,203 @@ "render": "Bookcase" } }, + "recycling": { + "description": "A layer with recycling containers and centres", + "filter": { + "0": { + "options": { + "0": { + "question": "Currently open" + } + } + }, + "1": { + "options": { + "0": { + "question": "All recycling types" + }, + "1": { + "question": "Recycling of batteries" + }, + "2": { + "question": "Recycling of beverage cartons" + }, + "3": { + "question": "Recycling of cans" + }, + "4": { + "question": "Recycling of clothes" + }, + "5": { + "question": "Recycling of cooking oil" + }, + "6": { + "question": "Recycling of engine oil" + }, + "7": { + "question": "Recycling of green waste" + }, + "8": { + "question": "Recycling of glass bottles" + }, + "9": { + "question": "Recycling of glass" + }, + "10": { + "question": "Recycling of newspapers" + }, + "11": { + "question": "Recycling of paper" + }, + "12": { + "question": "Recycling of plastic bottles" + }, + "13": { + "question": "Recycling of plastic packaging" + }, + "14": { + "question": "Recycling of plastic" + }, + "15": { + "question": "Recycling of scrap metal" + }, + "16": { + "question": "Recycling of small electrical appliances" + }, + "17": { + "question": "Recycling of residual waste" + } + } + } + }, + "name": "Recycling", + "presets": { + "0": { + "title": "recycling container" + }, + "1": { + "title": "recycling centre" + } + }, + "tagRenderings": { + "container-location": { + "mappings": { + "0": { + "then": "This is an underground container" + }, + "1": { + "then": "This container is located indoors" + }, + "2": { + "then": "This container is located outdoors" + } + }, + "question": "Where is this container located?" + }, + "opening_hours": { + "mappings": { + "0": { + "then": "24/7" + } + }, + "question": "What are the opening hours of this recycling facility?" + }, + "operator": { + "question": "What company operates this recycling facility?", + "render": "This recycling facility is operated by {operator}" + }, + "recycling-accepts": { + "mappings": { + "0": { + "then": "Batteries can be recycled here" + }, + "1": { + "then": "Beverage cartons can be recycled here" + }, + "2": { + "then": "Cans can be recycled here" + }, + "3": { + "then": "Clothes can be recycled here" + }, + "4": { + "then": "Cooking oil can be recycled here" + }, + "5": { + "then": "Engine oil can be recycled here" + }, + "6": { + "then": "Green waste can be recycled here" + }, + "7": { + "then": "Organic waste can be recycled here" + }, + "8": { + "then": "Glass bottles can be recycled here" + }, + "9": { + "then": "Glass can be recycled here" + }, + "10": { + "then": "Newspapers can be recycled here" + }, + "11": { + "then": "Paper can be recycled here" + }, + "12": { + "then": "Plastic bottles can be recycled here" + }, + "13": { + "then": "Plastic packaging can be recycled here" + }, + "14": { + "then": "Plastic can be recycled here" + }, + "15": { + "then": "Scrap metal can be recycled here" + }, + "16": { + "then": "Shoes can be recycled here" + }, + "17": { + "then": "Small electrical appliances can be recycled here" + }, + "18": { + "then": "Small electrical appliances can be recycled here" + }, + "19": { + "then": "Residual waste can be recycled here" + } + }, + "question": "What can be recycled here?" + }, + "recycling-type": { + "mappings": { + "0": { + "then": "This is a recycling container" + }, + "1": { + "then": "This is a recycling centre" + }, + "2": { + "then": "Waste disposal container for residual waste" + } + }, + "question": "What type of recycling is this?" + } + }, + "title": { + "mappings": { + "0": { + "then": "Recycling centre" + }, + "1": { + "then": "Recycling container" + } + }, + "render": "Recycling facility" + } + }, "shops": { "description": "A shop", "name": "Shop", @@ -4961,6 +5158,40 @@ }, "waste_basket": { "description": "This is a public waste basket, thrash can, where you can throw away your thrash.", + "filter": { + "0": { + "options": { + "0": { + "question": "All types" + }, + "1": { + "question": "Waste basket for cigarettes" + }, + "2": { + "question": "Waste basket for drugs" + }, + "3": { + "question": "Waste basket for dog excrement" + }, + "4": { + "question": "Waste basket for trash" + }, + "5": { + "question": "Waste basket for sharps" + }, + "6": { + "question": "Waste basket for plastic" + } + } + }, + "1": { + "options": { + "0": { + "question": "Waste basket with dispenser for (dog) excrement bags" + } + } + } + }, "mapRendering": { "0": { "iconSize": { @@ -5012,6 +5243,9 @@ }, "5": { "then": "A waste basket for needles and other sharp objects" + }, + "6": { + "then": "A waste basket for plastic" } }, "question": "What kind of waste basket is this?" @@ -5021,6 +5255,59 @@ "render": "Waste Basket" } }, + "waste_disposal": { + "description": "Waste Disposal Bin, medium to large bin for disposal of (household) waste", + "filter": { + "0": { + "options": { + "0": { + "question": "Only public access" + } + } + } + }, + "name": "Waste Disposal Bins", + "presets": { + "0": { + "description": "Medium to large bin for disposal of (household) waste", + "title": "Waste Disposal Bin" + } + }, + "tagRenderings": { + "access": { + "mappings": { + "0": { + "then": "This bin can be used by anyone" + }, + "1": { + "then": "This bin is private" + }, + "2": { + "then": "This bin is only for residents" + } + }, + "question": "Who can use this waste disposal bin?", + "render": "Access: {access}" + }, + "disposal-location": { + "mappings": { + "0": { + "then": "This is an underground container" + }, + "1": { + "then": "This container is located indoors" + }, + "2": { + "then": "This container is located outdoors" + } + }, + "question": "Where is this container located?" + } + }, + "title": { + "render": "Waste Disposal" + } + }, "watermill": { "name": "Watermill" } diff --git a/langs/layers/nl.json b/langs/layers/nl.json index 65ef4358d..ff6f4367e 100644 --- a/langs/layers/nl.json +++ b/langs/layers/nl.json @@ -3916,6 +3916,203 @@ "render": "Boekenruilkast" } }, + "recycling": { + "description": "Een laag met recyclagingcontainers en -centrums", + "filter": { + "0": { + "options": { + "0": { + "question": "Op dit moment open" + } + } + }, + "1": { + "options": { + "0": { + "question": "Alle recyclingtypes" + }, + "1": { + "question": "Recycling van batterijen" + }, + "2": { + "question": "Recycling van drankpakken" + }, + "3": { + "question": "Recycling van blikken" + }, + "4": { + "question": "Recycling van kleding" + }, + "5": { + "question": "Recycling van frituurvet" + }, + "6": { + "question": "Recycling van motorolie" + }, + "7": { + "question": "Recycling van groen afval" + }, + "8": { + "question": "Recycling van glazen flessen" + }, + "9": { + "question": "Recycling van glas" + }, + "10": { + "question": "Recycling van kranten" + }, + "11": { + "question": "Recycling van papier" + }, + "12": { + "question": "Recycling van plastic flessen" + }, + "13": { + "question": "Recycling van plastic verpakking" + }, + "14": { + "question": "Recycling van plastic" + }, + "15": { + "question": "Recycling van oud metaal" + }, + "16": { + "question": "Recycling van kleine elektrische apparaten" + }, + "17": { + "question": "Recycling van restafval" + } + } + } + }, + "name": "Recycling", + "presets": { + "0": { + "title": "recycling container" + }, + "1": { + "title": "recycling centre" + } + }, + "tagRenderings": { + "container-location": { + "mappings": { + "0": { + "then": "Dit is een ondergrondse container" + }, + "1": { + "then": "Deze container bevindt zich binnen" + }, + "2": { + "then": "Deze container is buiten" + } + }, + "question": "Waar bevindt deze container zich?" + }, + "opening_hours": { + "mappings": { + "0": { + "then": "24/7" + } + }, + "question": "Wat zijn de openingstijden van deze recyclingfaciliteit?" + }, + "operator": { + "question": "Wat is de beheerder van deze recyclingfaciliteit?", + "render": "Deze recyclingfaciliteit wordt beheerd door {operator}" + }, + "recycling-accepts": { + "mappings": { + "0": { + "then": "Batterijen kunnen hier gerecycled worden" + }, + "1": { + "then": "Drankpakken kunnen hier gerecycled worden" + }, + "2": { + "then": "Blikken kunnen hier gerecycled worden" + }, + "3": { + "then": "Kleren kunnen hier gerecycled worden" + }, + "4": { + "then": "Frituurvet kan hier gerecycled worden" + }, + "5": { + "then": "Motorolie kan hier gerecycled worden" + }, + "6": { + "then": "Groen afval kan hier gerecycled worden" + }, + "7": { + "then": "Organisch afval kan hier gerecycled worden" + }, + "8": { + "then": "Glazen flessen kunnen hier gerecycled worden" + }, + "9": { + "then": "Glas kan hier gerecycled worden" + }, + "10": { + "then": "Kranten kunnen hier gerecycled worden" + }, + "11": { + "then": "Papier kan hier gerecycled worden" + }, + "12": { + "then": "Plastic flessen kunnen hier gerecycled worden" + }, + "13": { + "then": "Plastic verpakking kan hier gerecycled worden" + }, + "14": { + "then": "Plastic kan hier gerecycled worden" + }, + "15": { + "then": "Oud metaal kan hier gerecycled worden" + }, + "16": { + "then": "Schoenen kunnen hier gerecycled worden" + }, + "17": { + "then": "Kleine elektrische apparaten kunnen hier gerecycled worden" + }, + "18": { + "then": "Kleine elektrische apparaten kunnen hier gerecycled worden" + }, + "19": { + "then": "Restafval kan hier gerecycled worden" + } + }, + "question": "Wat kan hier gerecycled worden?" + }, + "recycling-type": { + "mappings": { + "0": { + "then": "Dit is een recyclingcontainer" + }, + "1": { + "then": "Dit is een recyclingcentrum" + }, + "2": { + "then": "Afvalcontainer voor restafval" + } + }, + "question": "Wat voor soort recycling is dit?" + } + }, + "title": { + "mappings": { + "0": { + "then": "Recyclingcentrum" + }, + "1": { + "then": "Recyclingcontainer" + } + }, + "render": "Recyclingfaciliteit" + } + }, "shops": { "description": "Een winkel", "name": "Winkel", @@ -4817,6 +5014,40 @@ }, "waste_basket": { "description": "Dit is een publieke vuilnisbak waar je je afval kan weggooien.", + "filter": { + "0": { + "options": { + "0": { + "question": "Alle soorten" + }, + "1": { + "question": "Vuilnisbak voor sigarettenpeuken" + }, + "2": { + "question": "Vuilnisbak voor (vervallen) medicatie en drugs" + }, + "3": { + "question": "Vuilnisbak voor hondenuitwerpselen" + }, + "4": { + "question": "Vuilnisbak voor zwerfvuil" + }, + "5": { + "question": "Vuilnisbak voor injectienaalden en andere scherpe voorwerpen" + }, + "6": { + "question": "Vuilnisbak voor plastic" + } + } + }, + "1": { + "options": { + "0": { + "question": "Vuilnisbak met verdeler voor hondenpoepzakjes" + } + } + } + }, "mapRendering": { "0": { "iconSize": { @@ -4868,6 +5099,9 @@ }, "5": { "then": "Een vuilnisbak voor injectienaalden en andere scherpe voorwerpen" + }, + "6": { + "then": "Een vuilnisbak voor plastic" } }, "question": "Wat voor soort vuilnisbak is dit?" @@ -4877,6 +5111,24 @@ "render": "Vuilnisbak" } }, + "waste_disposal": { + "tagRenderings": { + "disposal-location": { + "mappings": { + "0": { + "then": "Dit is een ondergrondse container" + }, + "1": { + "then": "Deze container bevindt zich binnen" + }, + "2": { + "then": "Deze container is buiten" + } + }, + "question": "Waar bevindt deze container zich?" + } + } + }, "watermill": { "description": "Watermolens", "name": "Watermolens", diff --git a/langs/themes/en.json b/langs/themes/en.json index ccdc4f080..fb0db2db4 100644 --- a/langs/themes/en.json +++ b/langs/themes/en.json @@ -1286,6 +1286,10 @@ "shortDescription": "Map all the trees", "title": "Trees" }, + "waste": { + "description": "Map showing waste baskets and recycling facilities.", + "title": "Waste" + }, "waste_basket": { "description": "On this map, you'll find waste baskets near you. If a waste basket is missing on this map, you can add it yourself", "shortDescription": "A map with waste baskets", diff --git a/langs/themes/nl.json b/langs/themes/nl.json index 660702e1a..3b591ad64 100644 --- a/langs/themes/nl.json +++ b/langs/themes/nl.json @@ -1050,6 +1050,14 @@ "shortDescription": "Breng bomen in kaart", "title": "Bomen" }, + "waste": { + "description": "Kaart met afvalbakken en recyclingfaciliteiten.", + "title": "Afval" + }, + "waste_assen": { + "description": "Kaart met afvalbakken en recyclingfaciliteiten + een dataset voor Assen.", + "title": "Afval - Assen" + }, "waste_basket": { "description": "Op deze kaart vind je vuilnisbakken waar je afval in kan smijten. Ontbreekt er een vuilnisbak? Dan kan je die zelf toevoegen", "shortDescription": "Een kaart met vuilnisbakken", diff --git a/scripts/fixImagesInTagRenderings.ts b/scripts/fixImagesInTagRenderings.ts index 704896521..5440238fb 100644 --- a/scripts/fixImagesInTagRenderings.ts +++ b/scripts/fixImagesInTagRenderings.ts @@ -56,7 +56,6 @@ function main() { const path = args[0] const iconClass = args[1] ?? "small" const targetFile = args[2] ?? path + ".autoconverted.json" - console.log("Fixing images in " + path) const parsed = JSON.parse(readFileSync(path, "UTF8")) const converted = new ConvertImagesToIcon(iconClass).convertStrict(parsed, "While running the fixImagesInTagRenderings-script") writeFileSync(targetFile, JSON.stringify(converted, null, " "))