Merge branch 'develop'

This commit is contained in:
Pieter Vander Vennet 2022-02-11 01:29:50 +01:00
commit fa2e9db571
108 changed files with 10039 additions and 4001 deletions

View file

@ -1,4 +1,6 @@
address
address
=========
@ -7,77 +9,107 @@ address
Addresses
## Table of contents
1. [address](#address)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [housenumber](#housenumber)
+ [street](#street)
+ [fixme](#fixme)
- This layer will automatically load [named_streets](./named_streets.md) into the layout as it depends on it: A
calculated tag loads features from this layer (calculatedTag[0] which calculates the value for _
closest_3_street_names)
- This layer will automatically load [named_streets](./named_streets.md) into the layout as it depends on it: A calculated tag loads features from this layer (calculatedTag[0] which calculates the value for _closest_3_street_names)
[Go to the source code](../assets/layers/address/address.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- addr:housenumber~^..*$|addr:street~^..*$
Supported attributes
- addr:housenumber~^..*$|addr:street~^..*$
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/addr:housenumber#values) [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/addr:housenumber#values) [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/addr:street#values) [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:addr:street%3D) [](https://wiki.openstreetmap.org/wiki/Tag:addr:street%3D) [](https://wiki.openstreetmap.org/wiki/Tag:addr:street%3D)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/fixme#values) [fixme](https://wiki.openstreetmap.org/wiki/Key:fixme) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:fixme%3D)
### housenumber
### housenumber
The question is **What is the number of this house?**
This rendering asks information about the
property [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber)
This rendering asks information about the property [addr:housenumber](https://wiki.openstreetmap.org/wiki/Key:addr:housenumber)
This is rendered with `The housenumber is <b>{addr:housenumber}</b>`
- **This building has no house number** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:nohousenumber' target='_blank'>nohousenumber</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:nohousenumber%3Dyes' target='_blank'>yes</a>
### street
- **This building has no house number** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:nohousenumber' target='_blank'>nohousenumber</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:nohousenumber%3Dyes' target='_blank'>yes</a>
### street
The question is **What street is this address located in?**
This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street)
This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street)
This is rendered with `This address is in street <b>{addr:street}</b>`
- **Located in <b>{_closest_street:0:name}</b>** corresponds with addr:street=
- **Located in <b>{_closest_street:1:name}</b>** corresponds with addr:street=
- **Located in <b>{_closest_street:2:name}</b>** corresponds with addr:street=
### fixme
- **Located in <b>{_closest_street:0:name}</b>** corresponds with addr:street=
- **Located in <b>{_closest_street:1:name}</b>** corresponds with addr:street=
- **Located in <b>{_closest_street:2:name}</b>** corresponds with addr:street=
### fixme
The question is **What should be fixed here? Please explain**
This rendering asks information about the property [fixme](https://wiki.openstreetmap.org/wiki/Key:fixme)
This rendering asks information about the property [fixme](https://wiki.openstreetmap.org/wiki/Key:fixme)
This is rendered with `<b>Fixme description</b>{fixme}`
- **No fixme - write something here to explain complicated cases** corresponds with
- **No fixme - write something here to explain complicated cases** corresponds with
This document is autogenerated from assets/layers/address/address.json

View file

@ -1,20 +1,23 @@
ambulancestation
ambulancestation
==================
<img src='https://mapcomplete.osm.be/./assets/themes/hailhydrant/Twemoji_1f691.svg' height="100px">
An ambulance station is an area for storage of ambulance vehicles, medical equipment, personal protective equipment, and
other medical supplies.
An ambulance station is an area for storage of ambulance vehicles, medical equipment, personal protective equipment, and other medical supplies.
## Table of contents
1. [ambulancestation](#ambulancestation)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [ambulance-name](#ambulance-name)
+ [ambulance-street](#ambulance-street)
+ [ambulance-place](#ambulance-place)
@ -22,91 +25,136 @@ other medical supplies.
+ [ambulance-operator-type](#ambulance-operator-type)
+ [images](#images)
#### Themes using this layer
- [hailhydrant](https://mapcomplete.osm.be/hailhydrant)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [hailhydrant](https://mapcomplete.osm.be/hailhydrant)
[Go to the source code](../assets/layers/ambulancestation/ambulancestation.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:emergency' target='_blank'>emergency</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:emergency%3Dambulance_station' target='_blank'>ambulance_station</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:emergency' target='_blank'>emergency</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:emergency%3Dambulance_station' target='_blank'>ambulance_station</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/addr:street#values) [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/addr:place#values) [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/addr:street#values) [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/addr:place#values) [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operator:type#values) [operator:type](https://wiki.openstreetmap.org/wiki/Key:operator:type) | [string](../SpecialInputElements.md#string) | [government](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dgovernment) [community](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dcommunity) [ngo](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dngo) [private](https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dprivate)
### ambulance-name
### ambulance-name
The question is **What is the name of this ambulance station?**
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This is rendered with `This station is called {name}.`
### ambulance-street
### ambulance-street
The question is ** What is the street name where the station located?**
This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street)
This rendering asks information about the property [addr:street](https://wiki.openstreetmap.org/wiki/Key:addr:street)
This is rendered with `This station is along a highway called {addr:street}.`
### ambulance-place
### ambulance-place
The question is **Where is the station located? (e.g. name of neighborhood, villlage, or town)**
This rendering asks information about the property [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place)
This rendering asks information about the property [addr:place](https://wiki.openstreetmap.org/wiki/Key:addr:place)
This is rendered with `This station is found within {addr:place}.`
### ambulance-agency
### ambulance-agency
The question is **What agency operates this station?**
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This is rendered with `This station is operated by {operator}.`
### ambulance-operator-type
### ambulance-operator-type
The question is **How is the station operator classified?**
This rendering asks information about the
property [operator:type](https://wiki.openstreetmap.org/wiki/Key:operator:type)
This rendering asks information about the property [operator:type](https://wiki.openstreetmap.org/wiki/Key:operator:type)
This is rendered with `The operator is a(n) {operator:type} entity.`
- **The station is operated by the government.** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dgovernment' target='_blank'>government</a>
- **The station is operated by a community-based, or informal organization.** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dcommunity' target='_blank'>community</a>
- **The station is operated by a formal group of volunteers.** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dngo' target='_blank'>ngo</a>
- **The station is privately operated.** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dprivate' target='_blank'>private</a>
### images
- **The station is operated by the government.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dgovernment' target='_blank'>government</a>
- **The station is operated by a community-based, or informal organization.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dcommunity' target='_blank'>community</a>
- **The station is operated by a formal group of volunteers.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dngo' target='_blank'>ngo</a>
- **The station is privately operated.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator:type' target='_blank'>operator:type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator:type%3Dprivate' target='_blank'>private</a>
### images
_This tagrendering has no question and is thus read-only_
This document is autogenerated from assets/layers/ambulancestation/ambulancestation.json

View file

@ -1,4 +1,6 @@
artwork
artwork
=========
@ -7,115 +9,142 @@ artwork
Diverse pieces of artwork
## Table of contents
1. [artwork](#artwork)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [artwork-artwork_type](#artwork-artwork_type)
+ [artwork-artist_name](#artwork-artist_name)
+ [artwork-website](#artwork-website)
+ [artwork-wikidata](#artwork-wikidata)
#### Themes using this layer
- [artwork](https://mapcomplete.osm.be/artwork)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [artwork](https://mapcomplete.osm.be/artwork)
[Go to the source code](../assets/layers/artwork/artwork.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:tourism' target='_blank'>tourism</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:tourism%3Dartwork' target='_blank'>artwork</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:tourism' target='_blank'>tourism</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:tourism%3Dartwork' target='_blank'>artwork</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/artwork_type#values) [artwork_type](https://wiki.openstreetmap.org/wiki/Key:artwork_type) | [string](../SpecialInputElements.md#string) | [architecture](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Darchitecture) [mural](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dmural) [painting](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dpainting) [sculpture](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dsculpture) [statue](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstatue) [bust](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dbust) [stone](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstone) [installation](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dinstallation) [graffiti](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dgraffiti) [relief](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Drelief) [azulejo](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dazulejo) [tilework](https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dtilework)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/artist_name#values) [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/wikidata#values) [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) | [wikidata](../SpecialInputElements.md#wikidata) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/artist_name#values) [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/wikidata#values) [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata) | [wikidata](../SpecialInputElements.md#wikidata) |
### images
### images
_This tagrendering has no question and is thus read-only_
### artwork-artwork_type
### artwork-artwork_type
The question is **What is the type of this artwork?**
This rendering asks information about the property [artwork_type](https://wiki.openstreetmap.org/wiki/Key:artwork_type)
This rendering asks information about the property [artwork_type](https://wiki.openstreetmap.org/wiki/Key:artwork_type)
This is rendered with `This is a {artwork_type}`
- **Architecture** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Darchitecture' target='_blank'>
architecture</a>
- **Mural** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dmural' target='_blank'>mural</a>
- **Painting** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dpainting' target='_blank'>
painting</a>
- **Sculpture** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dsculpture' target='_blank'>
sculpture</a>
- **Statue** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstatue' target='_blank'>statue</a>
- **Bust** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dbust' target='_blank'>bust</a>
- **Stone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstone' target='_blank'>stone</a>
- **Installation** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dinstallation' target='_blank'>
installation</a>
- **Graffiti** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dgraffiti' target='_blank'>
graffiti</a>
- **Relief** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Drelief' target='_blank'>relief</a>
- **Azulejo (Spanish decorative tilework)** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dazulejo' target='_blank'>azulejo</a>
- **Tilework** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>
artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dtilework' target='_blank'>
tilework</a>
### artwork-artist_name
- **Architecture** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Darchitecture' target='_blank'>architecture</a>
- **Mural** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dmural' target='_blank'>mural</a>
- **Painting** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dpainting' target='_blank'>painting</a>
- **Sculpture** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dsculpture' target='_blank'>sculpture</a>
- **Statue** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstatue' target='_blank'>statue</a>
- **Bust** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dbust' target='_blank'>bust</a>
- **Stone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dstone' target='_blank'>stone</a>
- **Installation** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dinstallation' target='_blank'>installation</a>
- **Graffiti** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dgraffiti' target='_blank'>graffiti</a>
- **Relief** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Drelief' target='_blank'>relief</a>
- **Azulejo (Spanish decorative tilework)** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dazulejo' target='_blank'>azulejo</a>
- **Tilework** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:artwork_type' target='_blank'>artwork_type</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:artwork_type%3Dtilework' target='_blank'>tilework</a>
### artwork-artist_name
The question is **Which artist created this?**
This rendering asks information about the property [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name)
This rendering asks information about the property [artist_name](https://wiki.openstreetmap.org/wiki/Key:artist_name)
This is rendered with `Created by {artist_name}`
### artwork-website
### artwork-website
The question is **Is there a website with more information about this artwork?**
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This is rendered with `More information on <a href='{website}' target='_blank'>this website</a>`
### artwork-wikidata
### artwork-wikidata
The question is **Which Wikidata-entry corresponds with <b>this artwork</b>?**
This rendering asks information about the property [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata)
This is rendered
with `Corresponds with <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>`
This rendering asks information about the property [wikidata](https://wiki.openstreetmap.org/wiki/Key:wikidata)
This is rendered with `Corresponds with <a href='https://www.wikidata.org/wiki/{wikidata}' target='_blank'>{wikidata}</a>`
This document is autogenerated from assets/layers/artwork/artwork.json

View file

@ -1,4 +1,6 @@
barrier
barrier
=========
@ -7,13 +9,15 @@ barrier
Obstacles while cycling, such as bollards and cycle barriers
## Table of contents
1. [barrier](#barrier)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [bicycle=yes/no](#bicycle=yesno)
+ [barrier_type](#barrier_type)
+ [Bollard type](#bollard-type)
@ -24,139 +28,174 @@ Obstacles while cycling, such as bollards and cycle barriers
+ [Overlap (cyclebarrier)](#overlap-(cyclebarrier))
- This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on
it: a preset snaps to this layer (presets[0])
- This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on
it: a preset snaps to this layer (presets[1])
#### Themes using this layer
- [cycle_infra](https://mapcomplete.osm.be/cycle_infra)
- [personal](https://mapcomplete.osm.be/personal)
- This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on it: a preset snaps to this layer (presets[0])
- This layer will automatically load [cycleways_and_roads](./cycleways_and_roads.md) into the layout as it depends on it: a preset snaps to this layer (presets[1])
#### Themes using this layer
- [cycle_infra](https://mapcomplete.osm.be/cycle_infra)
[Go to the source code](../assets/layers/barrier/barrier.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dbollard' target='_blank'>bollard</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dcycle_barrier' target='_blank'>cycle_barrier</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dbollard' target='_blank'>bollard</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dcycle_barrier' target='_blank'>cycle_barrier</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/bicycle#values) [bicycle](https://wiki.openstreetmap.org/wiki/Key:bicycle) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/barrier#values) [barrier](https://wiki.openstreetmap.org/wiki/Key:barrier) | Multiple choice | [bollard](https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dbollard) [cycle_barrier](https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dcycle_barrier)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/bollard#values) [bollard](https://wiki.openstreetmap.org/wiki/Key:bollard) | Multiple choice | [removable](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dremovable) [fixed](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfixed) [foldable](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfoldable) [flexible](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dflexible) [rising](https://wiki.openstreetmap.org/wiki/Tag:bollard%3Drising)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/cycle_barrier#values) [cycle_barrier](https://wiki.openstreetmap.org/wiki/Key:cycle_barrier) | Multiple choice | [single](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsingle) [double](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Ddouble) [triple](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dtriple) [squeeze](https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsqueeze)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/maxwidth:physical#values) [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical) | [length](../SpecialInputElements.md#length) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/width:separation#values) [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation) | [length](../SpecialInputElements.md#length) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/width:opening#values) [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening) | [length](../SpecialInputElements.md#length) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/overlap#values) [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap) | [length](../SpecialInputElements.md#length) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/maxwidth:physical#values) [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical) | [length](../SpecialInputElements.md#length) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/width:separation#values) [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation) | [length](../SpecialInputElements.md#length) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/width:opening#values) [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening) | [length](../SpecialInputElements.md#length) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/overlap#values) [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap) | [length](../SpecialInputElements.md#length) |
### bicycle=yes/no
### bicycle=yes/no
The question is **Can a bicycle go past this barrier?**
- **A cyclist can go past this.** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle' target='_blank'>bicycle</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dyes' target='_blank'>yes</a>
- **A cyclist can not go past this.** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle' target='_blank'>bicycle</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dno' target='_blank'>no</a>
### barrier_type
- **A cyclist can go past this.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle' target='_blank'>bicycle</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dyes' target='_blank'>yes</a>
- **A cyclist can not go past this.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle' target='_blank'>bicycle</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle%3Dno' target='_blank'>no</a>
### barrier_type
_This tagrendering has no question and is thus read-only_
- **This is a single bollard in the road** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dbollard' target='_blank'>bollard</a>
- **This is a cycle barrier slowing down cyclists** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dcycle_barrier' target='_blank'>cycle_barrier</a>
### Bollard type
- **This is a single bollard in the road** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dbollard' target='_blank'>bollard</a>
- **This is a cycle barrier slowing down cyclists** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:barrier' target='_blank'>barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:barrier%3Dcycle_barrier' target='_blank'>cycle_barrier</a>
### Bollard type
The question is **What kind of bollard is this?**
- **Removable bollard** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>
bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dremovable' target='_blank'>removable</a>
- **Fixed bollard** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>
bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfixed' target='_blank'>fixed</a>
- **Bollard that can be folded down** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>bollard</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfoldable' target='_blank'>foldable</a>
- **Flexible bollard, usually plastic** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>bollard</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dflexible' target='_blank'>flexible</a>
- **Rising bollard** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>
bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Drising' target='_blank'>rising</a>
### Cycle barrier type
- **Removable bollard** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dremovable' target='_blank'>removable</a>
- **Fixed bollard** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfixed' target='_blank'>fixed</a>
- **Bollard that can be folded down** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dfoldable' target='_blank'>foldable</a>
- **Flexible bollard, usually plastic** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Dflexible' target='_blank'>flexible</a>
- **Rising bollard** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bollard' target='_blank'>bollard</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bollard%3Drising' target='_blank'>rising</a>
### Cycle barrier type
The question is **What kind of cycling barrier is this?**
- **Single, just two barriers with a space
inbetween <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsingle' target='_blank'>single</a>
- **Double, two barriers behind each
other <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Ddouble' target='_blank'>double</a>
- **Triple, three barriers behind each
other <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dtriple' target='_blank'>triple</a>
- **Squeeze gate, gap is smaller at top, than at the
bottom <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsqueeze' target='_blank'>squeeze</a>
### MaxWidth
- **Single, just two barriers with a space inbetween <img src='./assets/themes/cycle_infra/Cycle_barrier_single.png' style='width:8em'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsingle' target='_blank'>single</a>
- **Double, two barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_double.svg' style='width:8em'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Ddouble' target='_blank'>double</a>
- **Triple, three barriers behind each other <img src='./assets/themes/cycle_infra/Cycle_barrier_triple.png' style='width:8em'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dtriple' target='_blank'>triple</a>
- **Squeeze gate, gap is smaller at top, than at the bottom <img src='./assets/themes/cycle_infra/Cycle_barrier_squeeze.png' style='width:8em'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:cycle_barrier' target='_blank'>cycle_barrier</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:cycle_barrier%3Dsqueeze' target='_blank'>squeeze</a>
### MaxWidth
The question is **How wide is the gap left over besides the barrier?**
This rendering asks information about the
property [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical)
This rendering asks information about the property [maxwidth:physical](https://wiki.openstreetmap.org/wiki/Key:maxwidth:physical)
This is rendered with `Maximum width: {maxwidth:physical} m`
### Space between barrier (cyclebarrier)
### Space between barrier (cyclebarrier)
The question is **How much space is there between the barriers (along the length of the road)?**
This rendering asks information about the
property [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation)
This rendering asks information about the property [width:separation](https://wiki.openstreetmap.org/wiki/Key:width:separation)
This is rendered with `Space between barriers (along the length of the road): {width:separation} m`
### Width of opening (cyclebarrier)
### Width of opening (cyclebarrier)
The question is **How wide is the smallest opening next to the barriers?**
This rendering asks information about the
property [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening)
This rendering asks information about the property [width:opening](https://wiki.openstreetmap.org/wiki/Key:width:opening)
This is rendered with `Width of opening: {width:opening} m`
### Overlap (cyclebarrier)
### Overlap (cyclebarrier)
The question is **How much overlap do the barriers have?**
This rendering asks information about the property [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap)
This is rendered with `Overlap: {overlap} m`
This rendering asks information about the property [overlap](https://wiki.openstreetmap.org/wiki/Key:overlap)
This is rendered with `Overlap: {overlap} m`
This document is autogenerated from assets/layers/barrier/barrier.json

View file

@ -1,20 +1,23 @@
bench
bench
=======
<img src='https://mapcomplete.osm.be/./assets/layers/bench/bench.svg' height="100px">
A bench is a wooden, metal, stone, ... surface where a human can sit. This layers visualises them and asks a few
questions about them.
A bench is a wooden, metal, stone, ... surface where a human can sit. This layers visualises them and asks a few questions about them.
## Table of contents
1. [bench](#bench)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bench-backrest](#bench-backrest)
+ [bench-seats](#bench-seats)
@ -23,120 +26,168 @@ questions about them.
+ [bench-colour](#bench-colour)
+ [bench-survey:date](#bench-surveydate)
#### Themes using this layer
- [benches](https://mapcomplete.osm.be/benches)
- [nature](https://mapcomplete.osm.be/nature)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [benches](https://mapcomplete.osm.be/benches)
- [nature](https://mapcomplete.osm.be/nature)
[Go to the source code](../assets/layers/bench/bench.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbench' target='_blank'>bench</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbench' target='_blank'>bench</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/backrest#values) [backrest](https://wiki.openstreetmap.org/wiki/Key:backrest) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/seats#values) [seats](https://wiki.openstreetmap.org/wiki/Key:seats) | [nat](../SpecialInputElements.md#nat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/seats#values) [seats](https://wiki.openstreetmap.org/wiki/Key:seats) | [nat](../SpecialInputElements.md#nat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/material#values) [material](https://wiki.openstreetmap.org/wiki/Key:material) | [string](../SpecialInputElements.md#string) | [wood](https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood) [metal](https://wiki.openstreetmap.org/wiki/Tag:material%3Dmetal) [stone](https://wiki.openstreetmap.org/wiki/Tag:material%3Dstone) [concrete](https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete) [plastic](https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic) [steel](https://wiki.openstreetmap.org/wiki/Tag:material%3Dsteel)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/colour#values) [colour](https://wiki.openstreetmap.org/wiki/Key:colour) | [color](../SpecialInputElements.md#color) | [brown](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dbrown) [green](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgreen) [gray](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgray) [white](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dwhite) [red](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dred) [black](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblack) [blue](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblue) [yellow](https://wiki.openstreetmap.org/wiki/Tag:colour%3Dyellow)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/survey:date#values) [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date) | [date](../SpecialInputElements.md#date) | [](https://wiki.openstreetmap.org/wiki/Tag:survey:date%3D)
### images
### images
_This tagrendering has no question and is thus read-only_
### bench-backrest
### bench-backrest
The question is **Does this bench have a backrest?**
- **Backrest: Yes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:backrest' target='_blank'>
backrest</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dyes' target='_blank'>yes</a>
- **Backrest: No** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:backrest' target='_blank'>
backrest</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dno' target='_blank'>no</a>
### bench-seats
- **Backrest: Yes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:backrest' target='_blank'>backrest</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dyes' target='_blank'>yes</a>
- **Backrest: No** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:backrest' target='_blank'>backrest</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:backrest%3Dno' target='_blank'>no</a>
### bench-seats
The question is **How many seats does this bench have?**
This rendering asks information about the property [seats](https://wiki.openstreetmap.org/wiki/Key:seats)
This rendering asks information about the property [seats](https://wiki.openstreetmap.org/wiki/Key:seats)
This is rendered with `{seats} seats`
### bench-material
### bench-material
The question is **What is the bench (seating) made from?**
This rendering asks information about the property [material](https://wiki.openstreetmap.org/wiki/Key:material)
This rendering asks information about the property [material](https://wiki.openstreetmap.org/wiki/Key:material)
This is rendered with `Material: {material}`
- **Material: wood** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>
material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood' target='_blank'>wood</a>
- **Material: metal** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>
material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dmetal' target='_blank'>metal</a>
- **Material: stone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>
material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dstone' target='_blank'>stone</a>
- **Material: concrete** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>
material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete' target='_blank'>concrete</a>
- **Material: plastic** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>
material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic' target='_blank'>plastic</a>
- **Material: steel** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>
material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dsteel' target='_blank'>steel</a>
### bench-direction
- **Material: wood** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dwood' target='_blank'>wood</a>
- **Material: metal** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dmetal' target='_blank'>metal</a>
- **Material: stone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dstone' target='_blank'>stone</a>
- **Material: concrete** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dconcrete' target='_blank'>concrete</a>
- **Material: plastic** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dplastic' target='_blank'>plastic</a>
- **Material: steel** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:material' target='_blank'>material</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:material%3Dsteel' target='_blank'>steel</a>
### bench-direction
The question is **In which direction are you looking when sitting on the bench?**
This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction)
This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction)
This is rendered with `When sitting on the bench, one looks towards {direction}°.`
### bench-colour
### bench-colour
The question is **Which colour does this bench have?**
This rendering asks information about the property [colour](https://wiki.openstreetmap.org/wiki/Key:colour)
This rendering asks information about the property [colour](https://wiki.openstreetmap.org/wiki/Key:colour)
This is rendered with `Colour: {colour}`
- **Colour: brown** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dbrown' target='_blank'>brown</a>
- **Colour: green** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgreen' target='_blank'>green</a>
- **Colour: gray** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgray' target='_blank'>gray</a>
- **Colour: white** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dwhite' target='_blank'>white</a>
- **Colour: red** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dred' target='_blank'>red</a>
- **Colour: black** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblack' target='_blank'>black</a>
- **Colour: blue** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblue' target='_blank'>blue</a>
- **Colour: yellow** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>
colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dyellow' target='_blank'>yellow</a>
### bench-survey:date
- **Colour: brown** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dbrown' target='_blank'>brown</a>
- **Colour: green** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgreen' target='_blank'>green</a>
- **Colour: gray** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dgray' target='_blank'>gray</a>
- **Colour: white** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dwhite' target='_blank'>white</a>
- **Colour: red** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dred' target='_blank'>red</a>
- **Colour: black** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblack' target='_blank'>black</a>
- **Colour: blue** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dblue' target='_blank'>blue</a>
- **Colour: yellow** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:colour' target='_blank'>colour</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:colour%3Dyellow' target='_blank'>yellow</a>
### bench-survey:date
The question is **When was this bench last surveyed?**
This rendering asks information about the property [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date)
This rendering asks information about the property [survey:date](https://wiki.openstreetmap.org/wiki/Key:survey:date)
This is rendered with `This bench was last surveyed on {survey:date}`
- **Surveyed today!** corresponds with survey:date=
- **Surveyed today!** corresponds with survey:date=
This document is autogenerated from assets/layers/bench/bench.json

View file

@ -1,4 +1,6 @@
bench_at_pt
bench_at_pt
=============
@ -7,71 +9,106 @@ bench_at_pt
A layer showing all public-transport-stops which do have a bench
## Table of contents
1. [bench_at_pt](#bench_at_pt)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bench_at_pt-name](#bench_at_pt-name)
+ [bench_at_pt-bench_type](#bench_at_pt-bench_type)
#### Themes using this layer
- [benches](https://mapcomplete.osm.be/benches)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [benches](https://mapcomplete.osm.be/benches)
[Go to the source code](../assets/layers/bench_at_pt/bench_at_pt.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dyes' target='_blank'>yes</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dstand_up_bench' target='_blank'>stand_up_bench</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dyes' target='_blank'>yes</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dstand_up_bench' target='_blank'>stand_up_bench</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/bench#values) [bench](https://wiki.openstreetmap.org/wiki/Key:bench) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:bench%3Dyes) [stand_up_bench](https://wiki.openstreetmap.org/wiki/Tag:bench%3Dstand_up_bench) [no](https://wiki.openstreetmap.org/wiki/Tag:bench%3Dno)
### images
### images
_This tagrendering has no question and is thus read-only_
### bench_at_pt-name
### bench_at_pt-name
_This tagrendering has no question and is thus read-only_
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This is rendered with `{name}`
### bench_at_pt-bench_type
### bench_at_pt-bench_type
The question is **What kind of bench is this?**
- **There is a normal, sit-down bench here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dyes' target='_blank'>yes</a>
- **Stand up bench** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dstand_up_bench' target='_blank'>stand_up_bench</a>
- **There is no bench here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>
bench</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dno' target='_blank'>no</a>
- **There is a normal, sit-down bench here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dyes' target='_blank'>yes</a>
- **Stand up bench** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dstand_up_bench' target='_blank'>stand_up_bench</a>
- **There is no bench here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bench' target='_blank'>bench</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bench%3Dno' target='_blank'>no</a>
This document is autogenerated from assets/layers/bench_at_pt/bench_at_pt.json

View file

@ -1,19 +1,23 @@
bicycle_library
bicycle_library
=================
<img src='https://mapcomplete.osm.be/./assets/layers/bicycle_library/bicycle_library.svg' height="100px">
<img src='https://mapcomplete.osm.be/pin:#22ff55;./assets/layers/bicycle_library/bicycle_library.svg' height="100px">
A facility where bicycles can be lent for longer period of times
## Table of contents
1. [bicycle_library](#bicycle_library)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bicycle_library-name](#bicycle_library-name)
+ [website](#website)
@ -24,129 +28,187 @@ A facility where bicycles can be lent for longer period of times
+ [bicycle-library-target-group](#bicycle-library-target-group)
+ [description](#description)
#### Themes using this layer
- [bicyclelib](https://mapcomplete.osm.be/bicyclelib)
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [bicyclelib](https://mapcomplete.osm.be/bicyclelib)
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bicycle_library/bicycle_library.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_library' target='_blank'>bicycle_library</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_library' target='_blank'>bicycle_library</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:charge%3D) [€20warranty + €20/year](https://wiki.openstreetmap.org/wiki/Tag:charge%3D€20warranty + €20/year)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/bicycle_library:for#values) [bicycle_library:for](https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for) | Multiple choice | [child](https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dchild) [adult](https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dadult) [disabled](https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Ddisabled)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) |
### images
### images
_This tagrendering has no question and is thus read-only_
### bicycle_library-name
### bicycle_library-name
The question is **What is the name of this bicycle library?**
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This is rendered with `This bicycle library is called {name}`
### website
### website
The question is **What is the website of {name}?**
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This is rendered with `<a href='{website}' target='_blank'>{website}</a>`
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This
option cannot be chosen as answer_
### phone
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This option cannot be chosen as answer_
### phone
The question is **What is the phone number of {name}?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be
chosen as answer_
### email
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_
### email
The question is **What is the email address of {name}?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}' target='_blank'>{email}</a>`
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This
option cannot be chosen as answer_
### opening_hours
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This option cannot be chosen as answer_
### opening_hours
The question is **What are the opening hours of {name}?**
This rendering asks information about the
property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `<h3>Opening hours</h3>{opening_hours_table(opening_hours)}`
### bicycle_library-charge
### bicycle_library-charge
The question is **How much does lending a bicycle cost?**
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This is rendered with `Lending a bicycle costs {charge}`
- **Lending a bicycle is free** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>
fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>
- **Lending a bicycle costs €20/year and €20 warranty** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes' target='_blank'>yes</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:charge' target='_blank'>charge</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:charge%3D€20warranty + €20/year' target='_blank'>€20warranty +
€20/year</a>
### bicycle-library-target-group
- **Lending a bicycle is free** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>
- **Lending a bicycle costs €20/year and €20 warranty** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes' target='_blank'>yes</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:charge' target='_blank'>charge</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:charge%3D€20warranty + €20/year' target='_blank'>€20warranty + €20/year</a>
### bicycle-library-target-group
The question is **Who can lend bicycles here?**
- **Bikes for children available** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for' target='_blank'>bicycle_library:for</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dchild' target='_blank'>child</a>
- **Bikes for adult available** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for' target='_blank'>bicycle_library:for</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dadult' target='_blank'>adult</a>
- **Bikes for disabled persons available** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for' target='_blank'>bicycle_library:for</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Ddisabled' target='_blank'>disabled</a>
### description
The question is **Is there still something relevant you couldn't give in the previous questions? Add it
here.<br/><span style='font-size: small'>Don't repeat already stated facts</span>**
This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description)
This is rendered with `{description}`
- **Bikes for children available** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for' target='_blank'>bicycle_library:for</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dchild' target='_blank'>child</a>
- **Bikes for adult available** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for' target='_blank'>bicycle_library:for</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Dadult' target='_blank'>adult</a>
- **Bikes for disabled persons available** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_library:for' target='_blank'>bicycle_library:for</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_library:for%3Ddisabled' target='_blank'>disabled</a>
### description
The question is **Is there still something relevant you couldn't give in the previous questions? Add it here.<br/><span style='font-size: small'>Don't repeat already stated facts</span>**
This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description)
This is rendered with `{description}`
This document is autogenerated from assets/layers/bicycle_library/bicycle_library.json

View file

@ -1,4 +1,6 @@
bicycle_rental
bicycle_rental
================
@ -7,13 +9,15 @@ bicycle_rental
Bicycle rental stations
## Table of contents
1. [bicycle_rental](#bicycle_rental)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [bicycle_rental_type](#bicycle_rental_type)
+ [website](#website)
+ [email](#email)
@ -35,252 +39,323 @@ Bicycle rental stations
+ [rental-capacity-bicycle-type](#rental-capacity-bicycle-type)
+ [questions](#questions)
#### Themes using this layer
- [bicycle_rental](https://mapcomplete.osm.be/bicycle_rental)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [bicycle_rental](https://mapcomplete.osm.be/bicycle_rental)
[Go to the source code](../assets/layers/bicycle_rental/bicycle_rental.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_rental' target='_blank'>bicycle_rental</a>
|bicycle_rental~^..*$|<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>
service:bicycle:rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a>|rental~^.*
bicycle.*$
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_rental' target='_blank'>bicycle_rental</a>|bicycle_rental~^..*$|<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a>|rental~^.*bicycle.*$
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/rental#values) [rental](https://wiki.openstreetmap.org/wiki/Key:rental) | [string](../SpecialInputElements.md#string) | [city_bike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dcity_bike) [ebike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Debike) [bmx](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbmx) [mtb](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dmtb) [kid_bike](https://wiki.openstreetmap.org/wiki/Tag:rental%3Dkid_bike)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:city_bike#values) [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:ebike#values) [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:kid_bike#values) [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:bmx#values) [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:mtb#values) [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:bicycle_pannier#values) [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:city_bike#values) [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:ebike#values) [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:kid_bike#values) [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:bmx#values) [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:mtb#values) [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb) | [pnat](../SpecialInputElements.md#pnat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:bicycle_pannier#values) [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier) | [pnat](../SpecialInputElements.md#pnat) |
### bicycle_rental_type
### bicycle_rental_type
The question is **What kind of bicycle rental is this?**
- **This is a shop whose main focus is bicycle rental** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle_rental' target='_blank'>bicycle_rental</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>bicycle_rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Dshop' target='_blank'>shop</a>
- **This is a rental buisiness which rents out various objects and/or vehicles. It rents out bicycles too, but this is
not the main focus** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Drental' target='_blank'>rental</a>_This option cannot be
chosen as answer_
- **This is a shop which sells or repairs bicycles, but also rents out bicycles** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:
rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a>
- **This is an automated docking station, where a bicycle is mechanically locked into a structure** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>bicycle_rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Ddocking_station' target='_blank'>
docking_station</a>
- **A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles
are parked nearby** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>
bicycle_rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Dkey_dispensing_machine' target='_blank'>
key_dispensing_machine</a>
- **This is a dropoff point: a designated bicycle parking for this cycle rental** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>bicycle_rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Ddropoff_point' target='_blank'>dropoff_point</a>
### website
- **This is a shop whose main focus is bicycle rental** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle_rental' target='_blank'>bicycle_rental</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>bicycle_rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Dshop' target='_blank'>shop</a>
- **This is a rental buisiness which rents out various objects and/or vehicles. It rents out bicycles too, but this is not the main focus** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Drental' target='_blank'>rental</a>_This option cannot be chosen as answer_
- **This is a shop which sells or repairs bicycles, but also rents out bicycles** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a>
- **This is an automated docking station, where a bicycle is mechanically locked into a structure** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>bicycle_rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Ddocking_station' target='_blank'>docking_station</a>
- **A machine is present which dispenses and accepts keys, eventually after authentication and/or payment. The bicycles are parked nearby** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>bicycle_rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Dkey_dispensing_machine' target='_blank'>key_dispensing_machine</a>
- **This is a dropoff point: a designated bicycle parking for this cycle rental** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_rental' target='_blank'>bicycle_rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_rental%3Ddropoff_point' target='_blank'>dropoff_point</a>
### website
The question is **What is the website of {name}?**
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This is rendered with `<a href='{website}' target='_blank'>{website}</a>`
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This
option cannot be chosen as answer_
### email
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This option cannot be chosen as answer_
### email
The question is **What is the email address of {name}?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}' target='_blank'>{email}</a>`
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This
option cannot be chosen as answer_
### phone
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This option cannot be chosen as answer_
### phone
The question is **What is the phone number of {name}?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be
chosen as answer_
### opening_hours
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_
### opening_hours
The question is **What are the opening hours of {name}?**
This rendering asks information about the
property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `<h3>Opening hours</h3>{opening_hours_table(opening_hours)}`
### payment-options
### payment-options
The question is **Which methods of payment are accepted here?**
- **Cash is accepted here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- **Payment cards are accepted here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
### payment-options-advanced
- **Cash is accepted here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- **Payment cards are accepted here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
### payment-options-advanced
The question is **Which methods of payment are accepted here?**
- **Cash is accepted here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- **Payment cards are accepted here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
- **Payment is done using a dedicated app** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:app' target='_blank'>payment:app</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:app%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:app' target='_blank'>payment:app</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:app%3Dno' target='_blank'>no</a>
- **Payment is done using a membership card** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:membership_card' target='_blank'>payment:
membership_card</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:membership_card%3Dyes' target='_blank'>
yes</a>Unselecting this answer will
add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:membership_card' target='_blank'>payment:
membership_card</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:membership_card%3Dno' target='_blank'>
no</a>
### bicycle-types
- **Cash is accepted here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- **Payment cards are accepted here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
- **Payment is done using a dedicated app** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:app' target='_blank'>payment:app</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:app%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:app' target='_blank'>payment:app</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:app%3Dno' target='_blank'>no</a>
- **Payment is done using a membership card** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:membership_card' target='_blank'>payment:membership_card</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:membership_card%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:membership_card' target='_blank'>payment:membership_card</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:membership_card%3Dno' target='_blank'>no</a>
### bicycle-types
The question is **What kind of bicycles and accessories are rented here?**
This rendering asks information about the property [rental](https://wiki.openstreetmap.org/wiki/Key:rental)
This rendering asks information about the property [rental](https://wiki.openstreetmap.org/wiki/Key:rental)
This is rendered with `{rental} is rented here`
- **Normal city bikes can be rented here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dcity_bike' target='_blank'>city_bike</a>
- **Electrical bikes can be rented here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Debike' target='_blank'>ebike</a>
- **BMX bikes can be rented here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbmx' target='_blank'>bmx</a>
- **Mountainbikes can be rented here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dmtb' target='_blank'>mtb</a>
- **Bikes for childs can be rented here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dkid_bike' target='_blank'>kid_bike</a>
### rental-capacity-bicycle-type
- **Normal city bikes can be rented here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dcity_bike' target='_blank'>city_bike</a>
- **Electrical bikes can be rented here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Debike' target='_blank'>ebike</a>
- **BMX bikes can be rented here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dbmx' target='_blank'>bmx</a>
- **Mountainbikes can be rented here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dmtb' target='_blank'>mtb</a>
- **Bikes for childs can be rented here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:rental' target='_blank'>rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:rental%3Dkid_bike' target='_blank'>kid_bike</a>
### rental-capacity-bicycle-type
The question is **How much city bikes can be rented here? **
This rendering asks information about the
property [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike)
This rendering asks information about the property [capacity:city_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:city_bike)
This is rendered with `{capacity:city_bike} city bikes can be rented here`
### questions
### questions
_This tagrendering has no question and is thus read-only_
### rental-capacity-bicycle-type
### rental-capacity-bicycle-type
The question is **How much electrical bikes can be rented here? **
This rendering asks information about the
property [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike)
This rendering asks information about the property [capacity:ebike](https://wiki.openstreetmap.org/wiki/Key:capacity:ebike)
This is rendered with `{capacity:ebike} electrical bikes can be rented here`
### questions
### questions
_This tagrendering has no question and is thus read-only_
### rental-capacity-bicycle-type
### rental-capacity-bicycle-type
The question is **How much bikes for children can be rented here? **
This rendering asks information about the
property [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike)
This rendering asks information about the property [capacity:kid_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:kid_bike)
This is rendered with `{capacity:kid_bike} bikes for children can be rented here`
### questions
### questions
_This tagrendering has no question and is thus read-only_
### rental-capacity-bicycle-type
### rental-capacity-bicycle-type
The question is **How much BMX bikes can be rented here? **
This rendering asks information about the property [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx)
This rendering asks information about the property [capacity:bmx](https://wiki.openstreetmap.org/wiki/Key:capacity:bmx)
This is rendered with `{capacity:bmx} BMX bikes can be rented here`
### questions
### questions
_This tagrendering has no question and is thus read-only_
### rental-capacity-bicycle-type
### rental-capacity-bicycle-type
The question is **How much mountainbike can be rented here? **
This rendering asks information about the property [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb)
This rendering asks information about the property [capacity:mtb](https://wiki.openstreetmap.org/wiki/Key:capacity:mtb)
This is rendered with `{capacity:mtb} mountainbike can be rented here`
### questions
### questions
_This tagrendering has no question and is thus read-only_
### rental-capacity-bicycle-type
### rental-capacity-bicycle-type
The question is **How much bicycle panniers can be rented here? **
This rendering asks information about the
property [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier)
This rendering asks information about the property [capacity:bicycle_pannier](https://wiki.openstreetmap.org/wiki/Key:capacity:bicycle_pannier)
This is rendered with `{capacity:bicycle_pannier} bicycle panniers can be rented here`
### questions
### questions
_This tagrendering has no question and is thus read-only_
This document is autogenerated from assets/layers/bicycle_rental/bicycle_rental.json

View file

@ -1,21 +1,23 @@
bicycle_tube_vending_machine
bicycle_tube_vending_machine
==============================
<img src='https://mapcomplete.osm.be/./assets/layers/bicycle_tube_vending_machine/pinIcon.svg' height="100px">
<img src='https://mapcomplete.osm.be/pin:#ffffff;./assets/layers/bicycle_tube_vending_machine/pinIcon.svg' height="100px">
A layer showing vending machines for bicycle tubes (either purpose-built bicycle tube vending machines or classical vending machines with bicycle tubes and optionally additional bicycle related objects such as lights, gloves, locks, ...)
A layer showing vending machines for bicycle tubes (either purpose-built bicycle tube vending machines or classical
vending machines with bicycle tubes and optionally additional bicycle related objects such as lights, gloves, locks,
...)
## Table of contents
1. [bicycle_tube_vending_machine](#bicycle_tube_vending_machine)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [Still in use?](#still-in-use)
+ [bicycle_tube_vending_machine-charge](#bicycle_tube_vending_machine-charge)
@ -24,145 +26,167 @@ vending machines with bicycle tubes and optionally additional bicycle related ob
+ [bicycle_tube_vending_machine-operator](#bicycle_tube_vending_machine-operator)
+ [bicycle_tube_vending_maching-other-items](#bicycle_tube_vending_maching-other-items)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bicycle_tube_vending_machine/bicycle_tube_vending_machine.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dvending_machine' target='_blank'>vending_machine</a>
- vending~^.*bicycle_tube.*$
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dvending_machine' target='_blank'>vending_machine</a>
- vending~^.*bicycle_tube.*$
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operational_status#values) [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3D) [broken](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dbroken) [closed](https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dclosed)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/brand#values) [brand](https://wiki.openstreetmap.org/wiki/Key:brand) | [string](../SpecialInputElements.md#string) | [Continental](https://wiki.openstreetmap.org/wiki/Tag:brand%3DContinental) [Schwalbe](https://wiki.openstreetmap.org/wiki/Tag:brand%3DSchwalbe)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | [Schwalbe](https://wiki.openstreetmap.org/wiki/Tag:operator%3DSchwalbe) [Continental](https://wiki.openstreetmap.org/wiki/Tag:operator%3DContinental)
### images
### images
_This tagrendering has no question and is thus read-only_
### Still in use?
### Still in use?
The question is **Is this vending machine still operational?**
This rendering asks information about the
property [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status)
This rendering asks information about the property [operational_status](https://wiki.openstreetmap.org/wiki/Key:operational_status)
This is rendered with `The operational status is <i>{operational_status}</i>`
- **This vending machine works** corresponds with
- **This vending machine is broken** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operational_status' target='_blank'>operational_status</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dbroken' target='_blank'>broken</a>
- **This vending machine is closed** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operational_status' target='_blank'>operational_status</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dclosed' target='_blank'>closed</a>
### bicycle_tube_vending_machine-charge
- **This vending machine works** corresponds with
- **This vending machine is broken** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operational_status' target='_blank'>operational_status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dbroken' target='_blank'>broken</a>
- **This vending machine is closed** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operational_status' target='_blank'>operational_status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operational_status%3Dclosed' target='_blank'>closed</a>
### bicycle_tube_vending_machine-charge
The question is **How much does a bicycle tube cost?**
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This is rendered with `A bicycle tube costs {charge}`
### vending-machine-payment-methods
### vending-machine-payment-methods
The question is **How can one pay at this tube vending machine?**
- **Payment with coins is possible** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dno' target='_blank'>no</a>
- **Payment with notes is possible** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a>
- **Payment with cards is possible** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
### bicycle_tube_vending_machine-brand
- **Payment with coins is possible** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:coins' target='_blank'>payment:coins</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:coins%3Dno' target='_blank'>no</a>
- **Payment with notes is possible** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:notes' target='_blank'>payment:notes</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:notes%3Dno' target='_blank'>no</a>
- **Payment with cards is possible** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
### bicycle_tube_vending_machine-brand
The question is **Which brand of tubes are sold here?**
This rendering asks information about the property [brand](https://wiki.openstreetmap.org/wiki/Key:brand)
This rendering asks information about the property [brand](https://wiki.openstreetmap.org/wiki/Key:brand)
This is rendered with `{brand} tubes are sold here`
- **Continental tubes are sold here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:brand' target='_blank'>brand</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:brand%3DContinental' target='_blank'>Continental</a>
- **Schwalbe tubes are sold here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:brand' target='_blank'>brand</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:brand%3DSchwalbe' target='_blank'>Schwalbe</a>
### bicycle_tube_vending_machine-operator
- **Continental tubes are sold here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:brand' target='_blank'>brand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:brand%3DContinental' target='_blank'>Continental</a>
- **Schwalbe tubes are sold here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:brand' target='_blank'>brand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:brand%3DSchwalbe' target='_blank'>Schwalbe</a>
### bicycle_tube_vending_machine-operator
The question is **Who maintains this vending machine?**
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This is rendered with `This vending machine is maintained by {operator}`
- **Maintained by Schwalbe** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DSchwalbe' target='_blank'>Schwalbe</a>
- **Maintained by Continental** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DContinental' target='_blank'>Continental</a>
### bicycle_tube_vending_maching-other-items
- **Maintained by Schwalbe** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DSchwalbe' target='_blank'>Schwalbe</a>
- **Maintained by Continental** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DContinental' target='_blank'>Continental</a>
### bicycle_tube_vending_maching-other-items
The question is **Are other bicycle bicycle accessories sold here?**
- **Bicycle lights are sold here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_light' target='_blank'>vending:bicycle_light</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_light%3Dyes' target='_blank'>yes</a>Unselecting this
answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_light' target='_blank'>vending:
bicycle_light</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_light%3Dno' target='_blank'>no</a>
- **Gloves are sold here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:gloves' target='_blank'>vending:gloves</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:gloves%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:gloves' target='_blank'>vending:gloves</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:gloves%3Dno' target='_blank'>no</a>
- **Bicycle repair kits are sold here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_repair_kit' target='_blank'>vending:
bicycle_repair_kit</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_repair_kit%3Dyes' target='_blank'>yes</a>Unselecting
this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_repair_kit' target='_blank'>
vending:bicycle_repair_kit</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_repair_kit%3Dno' target='_blank'>no</a>
- **Bicycle pumps are sold here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_pump' target='_blank'>vending:bicycle_pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_pump%3Dyes' target='_blank'>yes</a>Unselecting this
answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_pump' target='_blank'>vending:
bicycle_pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_pump%3Dno' target='_blank'>no</a>
- **Bicycle locks are sold here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_lock' target='_blank'>vending:bicycle_lock</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_lock%3Dyes' target='_blank'>yes</a>Unselecting this
answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_lock' target='_blank'>vending:
bicycle_lock</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_lock%3Dno' target='_blank'>no</a>
- **Bicycle lights are sold here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_light' target='_blank'>vending:bicycle_light</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_light%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_light' target='_blank'>vending:bicycle_light</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_light%3Dno' target='_blank'>no</a>
- **Gloves are sold here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:gloves' target='_blank'>vending:gloves</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:gloves%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:gloves' target='_blank'>vending:gloves</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:gloves%3Dno' target='_blank'>no</a>
- **Bicycle repair kits are sold here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_repair_kit' target='_blank'>vending:bicycle_repair_kit</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_repair_kit%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_repair_kit' target='_blank'>vending:bicycle_repair_kit</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_repair_kit%3Dno' target='_blank'>no</a>
- **Bicycle pumps are sold here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_pump' target='_blank'>vending:bicycle_pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_pump%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_pump' target='_blank'>vending:bicycle_pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_pump%3Dno' target='_blank'>no</a>
- **Bicycle locks are sold here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_lock' target='_blank'>vending:bicycle_lock</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_lock%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:vending:bicycle_lock' target='_blank'>vending:bicycle_lock</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:vending:bicycle_lock%3Dno' target='_blank'>no</a>
This document is autogenerated from assets/layers/bicycle_tube_vending_machine/bicycle_tube_vending_machine.json

View file

@ -1,20 +1,23 @@
bike_cafe
bike_cafe
===========
<img src='https://mapcomplete.osm.be/./assets/layers/bike_cafe/bike_cafe.svg' height="100px">
A bike café is a café geared towards cyclists, for example with services such as a pump, with lots of bicycle-related
decoration, ...
A bike café is a café geared towards cyclists, for example with services such as a pump, with lots of bicycle-related decoration, ...
## Table of contents
1. [bike_cafe](#bike_cafe)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bike_cafe-name](#bike_cafe-name)
+ [bike_cafe-bike-pump](#bike_cafe-bike-pump)
@ -25,129 +28,175 @@ decoration, ...
+ [bike_cafe-email](#bike_cafe-email)
+ [bike_cafe-opening_hours](#bike_cafe-opening_hours)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bike_cafe/bike_cafe.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant' target='_blank'>restaurant</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:pub' target='_blank'>pub</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:pub%3Dcycling' target='_blank'>cycling</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:pub' target='_blank'>pub</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:pub%3Dbicycle' target='_blank'>bicycle</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dcycling' target='_blank'>cycling</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dbicycle' target='_blank'>bicycle</a>|service:bicycle:.*~^..*
$
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant' target='_blank'>restaurant</a>
- <a href='https://wiki.openstreetmap.org/wiki/Key:pub' target='_blank'>pub</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:pub%3Dcycling' target='_blank'>cycling</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:pub' target='_blank'>pub</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:pub%3Dbicycle' target='_blank'>bicycle</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dcycling' target='_blank'>cycling</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dbicycle' target='_blank'>bicycle</a>|service:bicycle:.*~^..*$
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:pump#values) [service:bicycle:pump](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:diy#values) [service:bicycle:diy](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:repair#values) [service:bicycle:repair](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
### images
### images
_This tagrendering has no question and is thus read-only_
### bike_cafe-name
### bike_cafe-name
The question is **What is the name of this bike cafe?**
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This is rendered with `This bike cafe is called {name}`
### bike_cafe-bike-pump
### bike_cafe-bike-pump
The question is **Does this bike cafe offer a bike pump for use by anyone?**
- **This bike cafe offers a bike pump for anyone** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
- **This bike cafe doesn't offer a bike pump for anyone** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno' target='_blank'>no</a>
### bike_cafe-repair-tools
- **This bike cafe offers a bike pump for anyone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
- **This bike cafe doesn't offer a bike pump for anyone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno' target='_blank'>no</a>
### bike_cafe-repair-tools
The question is **Are there tools here to repair your own bike?**
- **This bike cafe offers tools for DIY repair** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes' target='_blank'>yes</a>
- **This bike cafe doesn't offer tools for DIY repair** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno' target='_blank'>no</a>
### bike_cafe-repair-service
- **This bike cafe offers tools for DIY repair** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes' target='_blank'>yes</a>
- **This bike cafe doesn't offer tools for DIY repair** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno' target='_blank'>no</a>
### bike_cafe-repair-service
The question is **Does this bike cafe repair bikes?**
- **This bike cafe repairs bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:
repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes' target='_blank'>yes</a>
- **This bike cafe doesn't repair bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:
repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno' target='_blank'>no</a>
### bike_cafe-website
- **This bike cafe repairs bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes' target='_blank'>yes</a>
- **This bike cafe doesn't repair bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno' target='_blank'>no</a>
### bike_cafe-website
The question is **What is the website of {name}?**
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This is rendered with `<a href='{website}' target='_blank'>{website}</a>`
### bike_cafe-phone
### bike_cafe-phone
The question is **What is the phone number of {name}?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
### bike_cafe-email
### bike_cafe-email
The question is **What is the email address of {name}?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}' target='_blank'>{email}</a>`
### bike_cafe-opening_hours
### bike_cafe-opening_hours
The question is **When it this bike café opened?**
This rendering asks information about the
property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `{opening_hours_table(opening_hours)}`
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `{opening_hours_table(opening_hours)}`
This document is autogenerated from assets/layers/bike_cafe/bike_cafe.json

View file

@ -1,4 +1,6 @@
bike_cleaning
bike_cleaning
===============
@ -7,96 +9,114 @@ bike_cleaning
A layer showing facilities where one can clean their bike
## Table of contents
1. [bike_cleaning](#bike_cleaning)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bike_cleaning-service:bicycle:cleaning:charge](#bike_cleaning-servicebicycle:cleaning:charge)
+ [bike_cleaning-charge](#bike_cleaning-charge)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bike_cleaning/bike_cleaning.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:
cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dyes' target='_blank'>yes</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:
cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Ddiy' target='_blank'>diy</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_wash' target='_blank'>bicycle_wash</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbike_wash' target='_blank'>bike_wash</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dyes' target='_blank'>yes</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Ddiy' target='_blank'>diy</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_wash' target='_blank'>bicycle_wash</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbike_wash' target='_blank'>bike_wash</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) |
### images
### images
_This tagrendering has no question and is thus read-only_
### bike_cleaning-service:bicycle:cleaning:charge
### bike_cleaning-service:bicycle:cleaning:charge
The question is **How much does it cost to use the cleaning service?**
This rendering asks information about the
property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge)
This rendering asks information about the property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge)
This is rendered with `Using the cleaning service costs {service:bicycle:cleaning:charge}`
- **The cleaning service is free to use** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:
cleaning:fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno&service:bicycle:cleaning:charge=' target='_blank'>
no&service:bicycle:cleaning:charge=</a>
- **Free to use** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:
cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>
no</a>_This option cannot be chosen as answer_
- **The cleaning service has a fee, but the amount is not known** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:
cleaning:fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes&service:bicycle:cleaning:charge=' target='_blank'>
yes&service:bicycle:cleaning:charge=</a>_This option cannot be chosen as answer_
### bike_cleaning-charge
- **The cleaning service is free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno&service:bicycle:cleaning:charge=' target='_blank'>no&service:bicycle:cleaning:charge=</a>
- **Free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>_This option cannot be chosen as answer_
- **The cleaning service has a fee, but the amount is not known** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes&service:bicycle:cleaning:charge=' target='_blank'>yes&service:bicycle:cleaning:charge=</a>_This option cannot be chosen as answer_
### bike_cleaning-charge
The question is **How much does it cost to use the cleaning service?**
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This is rendered with `Using the cleaning service costs {charge}`
- **Free to use cleaning service** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno&charge=' target='_blank'>no&charge=</a>
- **Free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>_This option cannot be chosen as
answer_
- **The cleaning service has a fee** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes' target='_blank'>yes</a>
- **Free to use cleaning service** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno&charge=' target='_blank'>no&charge=</a>
- **Free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>_This option cannot be chosen as answer_
- **The cleaning service has a fee** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dyes' target='_blank'>yes</a>
This document is autogenerated from assets/layers/bike_cleaning/bike_cleaning.json

View file

@ -1,19 +1,23 @@
bike_parking
bike_parking
==============
<img src='https://mapcomplete.osm.be/./assets/layers/bike_parking/parking.svg' height="100px">
<img src='https://mapcomplete.osm.be/pin:#5473de;./assets/layers/bike_parking/parking.svg' height="100px">
A layer showing where you can park your bike
## Table of contents
1. [bike_parking](#bike_parking)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [Bicycle parking type](#bicycle-parking-type)
+ [Underground?](#underground)
@ -23,148 +27,185 @@ A layer showing where you can park your bike
+ [Cargo bike spaces?](#cargo-bike-spaces)
+ [Cargo bike capacity?](#cargo-bike-capacity)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bike_parking/bike_parking.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_parking' target='_blank'>bicycle_parking</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_parking' target='_blank'>bicycle_parking</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/bicycle_parking#values) [bicycle_parking](https://wiki.openstreetmap.org/wiki/Key:bicycle_parking) | [string](../SpecialInputElements.md#string) | [stands](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dstands) [wall_loops](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dwall_loops) [handlebar_holder](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dhandlebar_holder) [rack](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Drack) [two_tier](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dtwo_tier) [shed](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dshed) [bollard](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dbollard) [floor](https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dfloor)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/location#values) [location](https://wiki.openstreetmap.org/wiki/Key:location) | Multiple choice | [underground](https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground) [surface](https://wiki.openstreetmap.org/wiki/Tag:location%3Dsurface) [rooftop](https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop) [rooftop](https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/covered#values) [covered](https://wiki.openstreetmap.org/wiki/Key:covered) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:covered%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:covered%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [nat](../SpecialInputElements.md#nat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity#values) [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity) | [nat](../SpecialInputElements.md#nat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) | [yes](https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes) [customers](https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers) [private](https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/cargo_bike#values) [cargo_bike](https://wiki.openstreetmap.org/wiki/Key:cargo_bike) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dyes) [designated](https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Ddesignated) [no](https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:cargo_bike#values) [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike) | [nat](../SpecialInputElements.md#nat) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/capacity:cargo_bike#values) [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike) | [nat](../SpecialInputElements.md#nat) |
### images
### images
_This tagrendering has no question and is thus read-only_
### Bicycle parking type
### Bicycle parking type
The question is **What is the type of this bicycle parking?**
This rendering asks information about the
property [bicycle_parking](https://wiki.openstreetmap.org/wiki/Key:bicycle_parking)
This rendering asks information about the property [bicycle_parking](https://wiki.openstreetmap.org/wiki/Key:bicycle_parking)
This is rendered with `This is a bicycle parking of the type: {bicycle_parking}`
- **Staple racks <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dstands' target='_blank'>stands</a>
- **Wheel rack/loops <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dwall_loops' target='_blank'>wall_loops</a>
- **Handlebar holder <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dhandlebar_holder' target='_blank'>
handlebar_holder</a>
- **Rack <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Drack' target='_blank'>rack</a>
- **Two-tiered <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dtwo_tier' target='_blank'>two_tier</a>
- **Shed <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dshed' target='_blank'>shed</a>
- **Bollard <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dbollard' target='_blank'>bollard</a>
- **An area on the floor which is marked for bicycle parking** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dfloor' target='_blank'>floor</a>
### Underground?
- **Staple racks <img style='width: 25%' src='./assets/layers/bike_parking/staple.svg'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dstands' target='_blank'>stands</a>
- **Wheel rack/loops <img style='width: 25%'' src='./assets/layers/bike_parking/wall_loops.svg'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dwall_loops' target='_blank'>wall_loops</a>
- **Handlebar holder <img style='width: 25%'' src='./assets/layers/bike_parking/handlebar_holder.svg'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dhandlebar_holder' target='_blank'>handlebar_holder</a>
- **Rack <img style='width: 25%'' src='./assets/layers/bike_parking/rack.svg'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Drack' target='_blank'>rack</a>
- **Two-tiered <img style='width: 25%'' src='./assets/layers/bike_parking/two_tier.svg'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dtwo_tier' target='_blank'>two_tier</a>
- **Shed <img style='width: 25%'' src='./assets/layers/bike_parking/shed.svg'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dshed' target='_blank'>shed</a>
- **Bollard <img style='width: 25%'' src='./assets/layers/bike_parking/bollard.svg'>** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dbollard' target='_blank'>bollard</a>
- **An area on the floor which is marked for bicycle parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:bicycle_parking' target='_blank'>bicycle_parking</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bicycle_parking%3Dfloor' target='_blank'>floor</a>
### Underground?
The question is **What is the relative location of this bicycle parking?**
- **Underground parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>
location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>
- **Surface level parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>
location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dsurface' target='_blank'>surface</a>
- **Rooftop parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>
location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop' target='_blank'>rooftop</a>
- **Surface level parking** corresponds with _This option cannot be chosen as answer_
- **Rooftop parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>
location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop' target='_blank'>rooftop</a>
### Is covered?
- **Underground parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>
- **Surface level parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dsurface' target='_blank'>surface</a>
- **Rooftop parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop' target='_blank'>rooftop</a>
- **Surface level parking** corresponds with _This option cannot be chosen as answer_
- **Rooftop parking** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Drooftop' target='_blank'>rooftop</a>
### Is covered?
The question is **Is this parking covered? Also select "covered" for indoor parkings.**
- **This parking is covered (it has a roof)** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:covered' target='_blank'>covered</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:covered%3Dyes' target='_blank'>yes</a>
- **This parking is not covered** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:covered' target='_blank'>covered</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:covered%3Dno' target='_blank'>no</a>
### Capacity
- **This parking is covered (it has a roof)** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:covered' target='_blank'>covered</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:covered%3Dyes' target='_blank'>yes</a>
- **This parking is not covered** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:covered' target='_blank'>covered</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:covered%3Dno' target='_blank'>no</a>
### Capacity
The question is **How many bicycles fit in this bicycle parking (including possible cargo bicycles)?**
This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity)
This rendering asks information about the property [capacity](https://wiki.openstreetmap.org/wiki/Key:capacity)
This is rendered with `Place for {capacity} bikes`
### Access
### Access
The question is **Who can use this bicycle parking?**
This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access)
This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access)
This is rendered with `{access}`
- **Publicly accessible** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>
access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes' target='_blank'>yes</a>
- **Access is primarily for visitors to a business** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers' target='_blank'>customers</a>
- **Access is limited to members of a school, company or organisation** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate' target='_blank'>private</a>
### Cargo bike spaces?
- **Publicly accessible** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dyes' target='_blank'>yes</a>
- **Access is primarily for visitors to a business** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dcustomers' target='_blank'>customers</a>
- **Access is limited to members of a school, company or organisation** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:access' target='_blank'>access</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:access%3Dprivate' target='_blank'>private</a>
### Cargo bike spaces?
The question is **Does this bicycle parking have spots for cargo bikes?**
- **This parking has room for cargo bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:cargo_bike' target='_blank'>cargo_bike</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dyes' target='_blank'>yes</a>
- **This parking has designated (official) spots for cargo bikes.** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:cargo_bike' target='_blank'>cargo_bike</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Ddesignated' target='_blank'>designated</a>
- **You're not allowed to park cargo bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:cargo_bike' target='_blank'>cargo_bike</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dno' target='_blank'>no</a>
### Cargo bike capacity?
- **This parking has room for cargo bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:cargo_bike' target='_blank'>cargo_bike</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dyes' target='_blank'>yes</a>
- **This parking has designated (official) spots for cargo bikes.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:cargo_bike' target='_blank'>cargo_bike</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Ddesignated' target='_blank'>designated</a>
- **You're not allowed to park cargo bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:cargo_bike' target='_blank'>cargo_bike</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:cargo_bike%3Dno' target='_blank'>no</a>
### Cargo bike capacity?
The question is **How many cargo bicycles fit in this bicycle parking?**
This rendering asks information about the
property [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike)
This is rendered with `This parking fits {capacity:cargo_bike} cargo bikes`
This rendering asks information about the property [capacity:cargo_bike](https://wiki.openstreetmap.org/wiki/Key:capacity:cargo_bike)
This is rendered with `This parking fits {capacity:cargo_bike} cargo bikes`
This document is autogenerated from assets/layers/bike_parking/bike_parking.json

View file

@ -1,230 +1,302 @@
bike_repair_station
bike_repair_station
=====================
<img src='https://mapcomplete.osm.be/./assets/layers/bike_repair_station/repair_station.svg' height="100px">
<img src='https://mapcomplete.osm.be/pin:#88d32c;./assets/layers/bike_repair_station/repair_station.svg' height="100px">
A layer showing bicycle pumps and bicycle repair tool stands
## Table of contents
1. [bike_repair_station](#bike_repair_station)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bike_repair_station-available-services](#bike_repair_station-available-services)
+ [Operational status](#operational-status)
+ [bike_repair_station-opening_hours](#bike_repair_station-opening_hours)
+ [bike_repair_station-operator](#bike_repair_station-operator)
+ [bike_repair_station-email](#bike_repair_station-email)
+ [bike_repair_station-phone](#bike_repair_station-phone)
+ [bike_repair_station-opening_hours](#bike_repair_station-opening_hours)
+ [bike_repair_station-bike-chain-tool](#bike_repair_station-bike-chain-tool)
+ [bike_repair_station-bike-stand](#bike_repair_station-bike-stand)
+ [Operational status](#operational-status)
+ [Email maintainer](#email-maintainer)
+ [bike_repair_station-valves](#bike_repair_station-valves)
+ [bike_repair_station-electrical_pump](#bike_repair_station-electrical_pump)
+ [bike_repair_station-manometer](#bike_repair_station-manometer)
+ [level](#level)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bike_repair_station/bike_repair_station.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_repair_station' target='_blank'>
bicycle_repair_station</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_repair_station' target='_blank'>bicycle_repair_station</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:tools#values) [service:bicycle:tools](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools) | Multiple choice | [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dno) [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes) [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | [De Fietsambassade Gent](https://wiki.openstreetmap.org/wiki/Tag:operator%3DDe Fietsambassade Gent)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:pump:operational_status#values) [service:bicycle:pump:operational_status](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump:operational_status) | Multiple choice | [broken](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Dbroken) [operational](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Doperational)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) | [24/7](https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:chain_tool#values) [service:bicycle:chain_tool](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:chain_tool) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:stand#values) [service:bicycle:stand](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:stand) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:pump:operational_status#values) [service:bicycle:pump:operational_status](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump:operational_status) | Multiple choice | [broken](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Dbroken) [](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3D)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/valves#values) [valves](https://wiki.openstreetmap.org/wiki/Key:valves) | [string](../SpecialInputElements.md#string) | [sclaverand](https://wiki.openstreetmap.org/wiki/Tag:valves%3Dsclaverand) [dunlop](https://wiki.openstreetmap.org/wiki/Tag:valves%3Ddunlop) [schrader](https://wiki.openstreetmap.org/wiki/Tag:valves%3Dschrader)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/manual#values) [manual](https://wiki.openstreetmap.org/wiki/Key:manual) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:manual%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:manual%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/manometer#values) [manometer](https://wiki.openstreetmap.org/wiki/Key:manometer) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dno) [broken](https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dbroken)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/level#values) [level](https://wiki.openstreetmap.org/wiki/Key:level) | [float](../SpecialInputElements.md#float) | [0](https://wiki.openstreetmap.org/wiki/Tag:level%3D0) [1](https://wiki.openstreetmap.org/wiki/Tag:level%3D1) [-1](https://wiki.openstreetmap.org/wiki/Tag:level%3D-1)
### images
### images
_This tagrendering has no question and is thus read-only_
### bike_repair_station-available-services
The question is **Which services are available at this bike station?**
- **There is only a pump present** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools' target='_blank'>service:bicycle:tools</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dno' target='_blank'>no</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
- **There are only tools (screwdrivers, pliers...) present** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools' target='_blank'>service:bicycle:tools</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes' target='_blank'>yes</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno' target='_blank'>no</a>
- **There are both tools and a pump present** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools' target='_blank'>service:bicycle:tools</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes' target='_blank'>yes</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
### bike_repair_station-operator
The question is **Who maintains this cycle pump?**
### bike_repair_station-available-services
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This is rendered with `Maintained by {operator}`
- **<a href='https://fietsambassade.gent.be/' target='_blank'>De Fietsambassade Gent</a>** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DDe Fietsambassade Gent' target='_blank'>De Fietsambassade
Gent</a>
### bike_repair_station-email
The question is **Which services are available at this location?**
The question is **What is the email address of the maintainer?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}'>{email}</a>`
### bike_repair_station-phone
The question is **What is the phone number of the maintainer?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
- **There is only a pump present** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools' target='_blank'>service:bicycle:tools</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dno' target='_blank'>no</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
- **There are only tools (screwdrivers, pliers...) present** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools' target='_blank'>service:bicycle:tools</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes' target='_blank'>yes</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno' target='_blank'>no</a>
- **There are both tools and a pump present** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:tools' target='_blank'>service:bicycle:tools</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:tools%3Dyes' target='_blank'>yes</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
### bike_repair_station-opening_hours
The question is **When is this bicycle repair point open?**
This rendering asks information about the
property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `{opening_hours_table()}`
- **Always open** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>
opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7' target='_blank'>24/7</a>
- **Always open** corresponds with _This option cannot be chosen as answer_
### Operational status
### bike_repair_station-bike-chain-tool
The question is **Does this bike repair station have a special tool to repair your bike chain?**
- **There is a chain tool** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:chain_tool' target='_blank'>service:bicycle:
chain_tool</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dyes' target='_blank'>
yes</a>
- **There is no chain tool** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:chain_tool' target='_blank'>service:bicycle:
chain_tool</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dno' target='_blank'>
no</a>
### bike_repair_station-bike-stand
The question is **Does this bike station have a hook to hang your bike on or a stand to raise it?**
- **There is a hook or stand** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:stand' target='_blank'>service:bicycle:stand</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dyes' target='_blank'>yes</a>
- **There is no hook or stand** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:stand' target='_blank'>service:bicycle:stand</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dno' target='_blank'>no</a>
### Operational status
The question is **Is the bike pump still operational?**
- **The bike pump is broken** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump:operational_status' target='_blank'>
service:bicycle:pump:operational_status</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Dbroken' target='_blank'>
broken</a>
- **The bike pump is operational** corresponds with
### Email maintainer
- **The bike pump is broken** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump:operational_status' target='_blank'>service:bicycle:pump:operational_status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Dbroken' target='_blank'>broken</a>
- **The bike pump is operational** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump:operational_status' target='_blank'>service:bicycle:pump:operational_status</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump:operational_status%3Doperational' target='_blank'>operational</a>
### bike_repair_station-opening_hours
The question is **When is this bicycle repair point open?**
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `{opening_hours_table()}`
- **Always open** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:opening_hours' target='_blank'>opening_hours</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:opening_hours%3D24/7' target='_blank'>24/7</a>
### bike_repair_station-operator
The question is **Who maintains this cycle pump?**
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This is rendered with `Maintained by {operator}`
### bike_repair_station-email
The question is **What is the email address of the maintainer?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}'>{email}</a>`
### bike_repair_station-phone
The question is **What is the phone number of the maintainer?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
### bike_repair_station-bike-chain-tool
The question is **Does this bike repair station have a special tool to repair your bike chain?**
- **There is a chain tool** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:chain_tool' target='_blank'>service:bicycle:chain_tool</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dyes' target='_blank'>yes</a>
- **There is no chain tool** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:chain_tool' target='_blank'>service:bicycle:chain_tool</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:chain_tool%3Dno' target='_blank'>no</a>
### bike_repair_station-bike-stand
The question is **Does this bike station have a hook to hang your bike on or a stand to raise it?**
- **There is a hook or stand** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:stand' target='_blank'>service:bicycle:stand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dyes' target='_blank'>yes</a>
- **There is no hook or stand** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:stand' target='_blank'>service:bicycle:stand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:stand%3Dno' target='_blank'>no</a>
### Email maintainer
_This tagrendering has no question and is thus read-only_
### bike_repair_station-valves
### bike_repair_station-valves
The question is **What valves are supported?**
This rendering asks information about the property [valves](https://wiki.openstreetmap.org/wiki/Key:valves)
This rendering asks information about the property [valves](https://wiki.openstreetmap.org/wiki/Key:valves)
This is rendered with `This pump supports the following valves: {valves}`
- **Sclaverand (also known as Presta)** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:valves' target='_blank'>valves</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:valves%3Dsclaverand' target='_blank'>sclaverand</a>
- **Dunlop** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:valves' target='_blank'>valves</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:valves%3Ddunlop' target='_blank'>dunlop</a>
- **Schrader (cars)** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:valves' target='_blank'>
valves</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:valves%3Dschrader' target='_blank'>schrader</a>
### bike_repair_station-electrical_pump
- **Sclaverand (also known as Presta)** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:valves' target='_blank'>valves</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:valves%3Dsclaverand' target='_blank'>sclaverand</a>
- **Dunlop** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:valves' target='_blank'>valves</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:valves%3Ddunlop' target='_blank'>dunlop</a>
- **Schrader (cars)** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:valves' target='_blank'>valves</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:valves%3Dschrader' target='_blank'>schrader</a>
### bike_repair_station-electrical_pump
The question is **Is this an electric bike pump?**
- **Manual pump** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manual' target='_blank'>manual</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:manual%3Dyes' target='_blank'>yes</a>
- **Electrical pump** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manual' target='_blank'>
manual</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:manual%3Dno' target='_blank'>no</a>
### bike_repair_station-manometer
- **Manual pump** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manual' target='_blank'>manual</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:manual%3Dyes' target='_blank'>yes</a>
- **Electrical pump** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manual' target='_blank'>manual</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:manual%3Dno' target='_blank'>no</a>
### bike_repair_station-manometer
The question is **Does the pump have a pressure indicator or manometer?**
- **There is a manometer** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manometer' target='_blank'>
manometer</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dyes' target='_blank'>yes</a>
- **There is no manometer** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:manometer' target='_blank'>manometer</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dno' target='_blank'>no</a>
- **There is manometer but it is broken** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:manometer' target='_blank'>manometer</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dbroken' target='_blank'>broken</a>
### level
- **There is a manometer** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manometer' target='_blank'>manometer</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dyes' target='_blank'>yes</a>
- **There is no manometer** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manometer' target='_blank'>manometer</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dno' target='_blank'>no</a>
- **There is manometer but it is broken** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:manometer' target='_blank'>manometer</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:manometer%3Dbroken' target='_blank'>broken</a>
### level
The question is **On what level is this feature located?**
This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level)
This rendering asks information about the property [level](https://wiki.openstreetmap.org/wiki/Key:level)
This is rendered with `Located on the {level}th floor`
- **Located underground** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>
location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>_
This option cannot be chosen as answer_
- **Located on the ground floor** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D0' target='_blank'>0</a>
- **Located on the ground floor** corresponds with _This option cannot be chosen as answer_
- **Located on the first floor** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D1' target='_blank'>1</a>
- **Located underground** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:location' target='_blank'>location</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:location%3Dunderground' target='_blank'>underground</a>_This option cannot be chosen as answer_
- **Located on the ground floor** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D0' target='_blank'>0</a>
- **Located on the ground floor** corresponds with _This option cannot be chosen as answer_
- **Located on the first floor** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D1' target='_blank'>1</a>
- **Located on the first basement level** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:level' target='_blank'>level</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:level%3D-1' target='_blank'>-1</a>
This document is autogenerated from assets/layers/bike_repair_station/bike_repair_station.json

View file

@ -1,4 +1,6 @@
bike_shop
bike_shop
===========
@ -7,13 +9,15 @@ bike_shop
A shop specifically selling bicycles or related items
## Table of contents
1. [bike_shop](#bike_shop)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bike_shop-is-bicycle_shop](#bike_shop-is-bicycle_shop)
+ [bike_shop-name](#bike_shop-name)
@ -32,49 +36,60 @@ A shop specifically selling bicycles or related items
+ [bike_repair_bike-wash](#bike_repair_bike-wash)
+ [bike_cleaning-service:bicycle:cleaning:charge](#bike_cleaning-servicebicycle:cleaning:charge)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bike_shop/bike_shop.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_rental' target='_blank'>bicycle_rental</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsports' target='_blank'>sports</a>&service:bicycle:retail!~
^no$&service:bicycle:repair!~^no$&<a href='https://wiki.openstreetmap.org/wiki/Key:sport' target='_blank'>sport</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:sport%3Dbicycle' target='_blank'>bicycle</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:sport' target='_blank'>sport</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:sport%3Dcycling' target='_blank'>cycling</a>|
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dbicycle' target='_blank'>bicycle</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbicycle_rental' target='_blank'>bicycle_rental</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:shop' target='_blank'>shop</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shop%3Dsports' target='_blank'>sports</a>&service:bicycle:retail!~^no$&service:bicycle:repair!~^no$&<a href='https://wiki.openstreetmap.org/wiki/Key:sport' target='_blank'>sport</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:sport%3Dbicycle' target='_blank'>bicycle</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:sport' target='_blank'>sport</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:sport%3Dcycling' target='_blank'>cycling</a>|
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/access#values) [access](https://wiki.openstreetmap.org/wiki/Key:access) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:retail#values) [service:bicycle:retail](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:repair#values) [service:bicycle:repair](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno) [only_sold](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Donly_sold) [brand](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dbrand)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:rental#values) [service:bicycle:rental](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dno)
@ -82,187 +97,240 @@ attribute | type | values which are supported by this layer
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:pump#values) [service:bicycle:pump](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno) [separate](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dseparate)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:diy#values) [service:bicycle:diy](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno) [only_sold](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Donly_sold)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning#values) [service:bicycle:cleaning](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dyes) [diy](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Ddiy) [no](https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:bicycle:cleaning:charge#values) [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge) | [string](../SpecialInputElements.md#string) |
### images
### images
_This tagrendering has no question and is thus read-only_
### bike_shop-is-bicycle_shop
### bike_shop-is-bicycle_shop
_This tagrendering has no question and is thus read-only_
### bike_shop-name
### bike_shop-name
The question is **What is the name of this bicycle shop?**
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This is rendered with `This bicycle shop is called {name}`
### bike_shop-website
### bike_shop-website
The question is **What is the website of {name}?**
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This is rendered with `<a href='{website}' target='_blank'>{website}</a>`
### bike_shop-phone
### bike_shop-phone
The question is **What is the phone number of {name}?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
### bike_shop-email
### bike_shop-email
The question is **What is the email address of {name}?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}' target='_blank'>{email}</a>`
### bike_shop-opening_hours
### bike_shop-opening_hours
The question is **When is this shop opened?**
This rendering asks information about the
property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `{opening_hours_table(opening_hours)}`
### description
The question is **Is there still something relevant you couldn't give in the previous questions? Add it
here.<br/><span style='font-size: small'>Don't repeat already stated facts</span>**
This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description)
### description
The question is **Is there still something relevant you couldn't give in the previous questions? Add it here.<br/><span style='font-size: small'>Don't repeat already stated facts</span>**
This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description)
This is rendered with `{description}`
### bike_shop-access
### bike_shop-access
_This tagrendering has no question and is thus read-only_
This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access)
This rendering asks information about the property [access](https://wiki.openstreetmap.org/wiki/Key:access)
This is rendered with `Enkel voor {access}`
### bike_repair_sells-bikes
### bike_repair_sells-bikes
The question is **Does this shop sell bikes?**
- **This shop sells bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:
retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes' target='_blank'>yes</a>
- **This shop doesn't sell bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:
retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dno' target='_blank'>no</a>
### bike_repair_repairs-bikes
- **This shop sells bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dyes' target='_blank'>yes</a>
- **This shop doesn't sell bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:retail' target='_blank'>service:bicycle:retail</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:retail%3Dno' target='_blank'>no</a>
### bike_repair_repairs-bikes
The question is **Does this shop repair bikes?**
- **This shop repairs bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:
repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes' target='_blank'>yes</a>
- **This shop doesn't repair bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:
repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno' target='_blank'>no</a>
- **This shop only repairs bikes bought here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:
repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Donly_sold' target='_blank'>
only_sold</a>
- **This shop only repairs bikes of a certain brand** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:
repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dbrand' target='_blank'>brand</a>
### bike_repair_rents-bikes
- **This shop repairs bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dyes' target='_blank'>yes</a>
- **This shop doesn't repair bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dno' target='_blank'>no</a>
- **This shop only repairs bikes bought here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Donly_sold' target='_blank'>only_sold</a>
- **This shop only repairs bikes of a certain brand** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:repair' target='_blank'>service:bicycle:repair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:repair%3Dbrand' target='_blank'>brand</a>
### bike_repair_rents-bikes
The question is **Does this shop rent out bikes?**
- **This shop rents out bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:
rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a>
- **This shop doesn't rent out bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:
rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dno' target='_blank'>no</a>
### bike_repair_second-hand-bikes
- **This shop rents out bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dyes' target='_blank'>yes</a>
- **This shop doesn't rent out bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:rental' target='_blank'>service:bicycle:rental</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:rental%3Dno' target='_blank'>no</a>
### bike_repair_second-hand-bikes
The question is **Does this shop sell second-hand bikes?**
- **This shop sells second-hand bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:
second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dyes' target='_blank'>
yes</a>
- **This shop doesn't sell second-hand bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:
second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dno' target='_blank'>
no</a>
- **This shop only sells second-hand bikes** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:
second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Donly' target='_blank'>
only</a>
### bike_repair_bike-pump-service
- **This shop sells second-hand bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dyes' target='_blank'>yes</a>
- **This shop doesn't sell second-hand bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Dno' target='_blank'>no</a>
- **This shop only sells second-hand bikes** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:second_hand' target='_blank'>service:bicycle:second_hand</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:second_hand%3Donly' target='_blank'>only</a>
### bike_repair_bike-pump-service
The question is **Does this shop offer a bike pump for use by anyone?**
- **This shop offers a bike pump for anyone** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
- **This shop doesn't offer a bike pump for anyone** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno' target='_blank'>no</a>
- **There is bicycle pump, it is shown as a separate point ** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dseparate' target='_blank'>separate</a>
### bike_repair_tools-service
- **This shop offers a bike pump for anyone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dyes' target='_blank'>yes</a>
- **This shop doesn't offer a bike pump for anyone** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dno' target='_blank'>no</a>
- **There is bicycle pump, it is shown as a separate point ** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:pump' target='_blank'>service:bicycle:pump</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:pump%3Dseparate' target='_blank'>separate</a>
### bike_repair_tools-service
The question is **Are there tools here to repair your own bike?**
- **This shop offers tools for DIY repair** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes' target='_blank'>yes</a>
- **This shop doesn't offer tools for DIY repair** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno' target='_blank'>no</a>
- **Tools for DIY repair are only available if you bought/hire the bike in the shop** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Donly_sold' target='_blank'>only_sold</a>
### bike_repair_bike-wash
- **This shop offers tools for DIY repair** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dyes' target='_blank'>yes</a>
- **This shop doesn't offer tools for DIY repair** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Dno' target='_blank'>no</a>
- **Tools for DIY repair are only available if you bought/hire the bike in the shop** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:diy' target='_blank'>service:bicycle:diy</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:diy%3Donly_sold' target='_blank'>only_sold</a>
### bike_repair_bike-wash
The question is **Are bicycles washed here?**
- **This shop cleans bicycles** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:
cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dyes' target='_blank'>yes</a>
- **This shop has an installation where one can clean bicycles themselves** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:
cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Ddiy' target='_blank'>diy</a>
- **This shop doesn't offer bicycle cleaning** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:
cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dno' target='_blank'>no</a>
### bike_cleaning-service:bicycle:cleaning:charge
- **This shop cleans bicycles** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dyes' target='_blank'>yes</a>
- **This shop has an installation where one can clean bicycles themselves** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Ddiy' target='_blank'>diy</a>
- **This shop doesn't offer bicycle cleaning** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning' target='_blank'>service:bicycle:cleaning</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning%3Dno' target='_blank'>no</a>
### bike_cleaning-service:bicycle:cleaning:charge
The question is **How much does it cost to use the cleaning service?**
This rendering asks information about the
property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge)
This rendering asks information about the property [service:bicycle:cleaning:charge](https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:charge)
This is rendered with `Using the cleaning service costs {service:bicycle:cleaning:charge}`
- **The cleaning service is free to use** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:
cleaning:fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno&service:bicycle:cleaning:charge=' target='_blank'>
no&service:bicycle:cleaning:charge=</a>
- **Free to use** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:
cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>
no</a>_This option cannot be chosen as answer_
- **The cleaning service has a fee, but the amount is not known** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:
cleaning:fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes&service:bicycle:cleaning:charge=' target='_blank'>
yes&service:bicycle:cleaning:charge=</a>_This option cannot be chosen as answer_
- **The cleaning service is free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno&service:bicycle:cleaning:charge=' target='_blank'>no&service:bicycle:cleaning:charge=</a>
- **Free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dno' target='_blank'>no</a>_This option cannot be chosen as answer_
- **The cleaning service has a fee, but the amount is not known** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:bicycle:cleaning:fee' target='_blank'>service:bicycle:cleaning:fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:bicycle:cleaning:fee%3Dyes&service:bicycle:cleaning:charge=' target='_blank'>yes&service:bicycle:cleaning:charge=</a>_This option cannot be chosen as answer_
This document is autogenerated from assets/layers/bike_shop/bike_shop.json

View file

@ -1,4 +1,6 @@
bike_themed_object
bike_themed_object
====================
@ -7,13 +9,15 @@ bike_themed_object
A layer with bike-themed objects but who don't match any other layer
## Table of contents
1. [bike_themed_object](#bike_themed_object)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [description](#description)
+ [website](#website)
@ -21,104 +25,138 @@ A layer with bike-themed objects but who don't match any other layer
+ [phone](#phone)
+ [opening_hours](#opening_hours)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cyclofix](https://mapcomplete.osm.be/cyclofix)
[Go to the source code](../assets/layers/bike_themed_object/bike_themed_object.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dbicycle' target='_blank'>bicycle</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dcycling' target='_blank'>cycling</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:sport' target='_blank'>sport</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:sport%3Dcycling' target='_blank'>cycling</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:association' target='_blank'>association</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:association%3Dcycling' target='_blank'>cycling</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:association' target='_blank'>association</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:association%3Dbicycle' target='_blank'>bicycle</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:ngo' target='_blank'>ngo</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:ngo%3Dcycling' target='_blank'>cycling</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:ngo' target='_blank'>ngo</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:ngo%3Dbicycle' target='_blank'>bicycle</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:club' target='_blank'>club</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:club%3Dbicycle' target='_blank'>bicycle</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:club' target='_blank'>club</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:club%3Dcycling' target='_blank'>cycling</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dbicycle' target='_blank'>bicycle</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:theme' target='_blank'>theme</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:theme%3Dcycling' target='_blank'>cycling</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:sport' target='_blank'>sport</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:sport%3Dcycling' target='_blank'>cycling</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:association' target='_blank'>association</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:association%3Dcycling' target='_blank'>cycling</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:association' target='_blank'>association</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:association%3Dbicycle' target='_blank'>bicycle</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:ngo' target='_blank'>ngo</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:ngo%3Dcycling' target='_blank'>cycling</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:ngo' target='_blank'>ngo</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:ngo%3Dbicycle' target='_blank'>bicycle</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:club' target='_blank'>club</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:club%3Dbicycle' target='_blank'>bicycle</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:club' target='_blank'>club</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:club%3Dcycling' target='_blank'>cycling</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/description#values) [description](https://wiki.openstreetmap.org/wiki/Key:description) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
### images
### images
_This tagrendering has no question and is thus read-only_
### description
The question is **Is there still something relevant you couldn't give in the previous questions? Add it
here.<br/><span style='font-size: small'>Don't repeat already stated facts</span>**
This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description)
### description
The question is **Is there still something relevant you couldn't give in the previous questions? Add it here.<br/><span style='font-size: small'>Don't repeat already stated facts</span>**
This rendering asks information about the property [description](https://wiki.openstreetmap.org/wiki/Key:description)
This is rendered with `{description}`
### website
### website
The question is **What is the website of {name}?**
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This is rendered with `<a href='{website}' target='_blank'>{website}</a>`
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This
option cannot be chosen as answer_
### email
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This option cannot be chosen as answer_
### email
The question is **What is the email address of {name}?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}' target='_blank'>{email}</a>`
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This
option cannot be chosen as answer_
### phone
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This option cannot be chosen as answer_
### phone
The question is **What is the phone number of {name}?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be
chosen as answer_
### opening_hours
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_
### opening_hours
The question is **What are the opening hours of {name}?**
This rendering asks information about the
property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `<h3>Opening hours</h3>{opening_hours_table(opening_hours)}`
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `<h3>Opening hours</h3>{opening_hours_table(opening_hours)}`
This document is autogenerated from assets/layers/bike_themed_object/bike_themed_object.json

View file

@ -1,73 +1,113 @@
binocular
binocular
===========
<img src='https://mapcomplete.osm.be/./assets/layers/binocular/telescope.svg' height="100px">
<img src='https://mapcomplete.osm.be/circle:white;./assets/layers/binocular/telescope.svg' height="100px">
Binoculas
## Table of contents
1. [binocular](#binocular)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [binocular-charge](#binocular-charge)
+ [binocular-direction](#binocular-direction)
#### Themes using this layer
- [binoculars](https://mapcomplete.osm.be/binoculars)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [binoculars](https://mapcomplete.osm.be/binoculars)
[Go to the source code](../assets/layers/binocular/binocular.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbinoculars' target='_blank'>binoculars</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbinoculars' target='_blank'>binoculars</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/charge#values) [charge](https://wiki.openstreetmap.org/wiki/Key:charge) | [string](../SpecialInputElements.md#string) | [](https://wiki.openstreetmap.org/wiki/Tag:charge%3D)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/direction#values) [direction](https://wiki.openstreetmap.org/wiki/Key:direction) | [direction](../SpecialInputElements.md#direction) |
### images
### images
_This tagrendering has no question and is thus read-only_
### binocular-charge
### binocular-charge
The question is **How much does one have to pay to use these binoculars?**
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This rendering asks information about the property [charge](https://wiki.openstreetmap.org/wiki/Key:charge)
This is rendered with `Using these binoculars costs {charge}`
- **Free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>
### binocular-direction
- **Free to use** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:fee' target='_blank'>fee</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:fee%3Dno' target='_blank'>no</a>
### binocular-direction
The question is **When looking through this binocular, in what direction does one look?**
This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction)
This is rendered with `Looks towards {direction}°`
This rendering asks information about the property [direction](https://wiki.openstreetmap.org/wiki/Key:direction)
This is rendered with `Looks towards {direction}°`
This document is autogenerated from assets/layers/binocular/binocular.json

View file

@ -1,4 +1,6 @@
birdhide
birdhide
==========
@ -7,108 +9,133 @@ birdhide
Een vogelkijkhut
## Table of contents
1. [birdhide](#birdhide)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [bird-hide-shelter-or-wall](#bird-hide-shelter-or-wall)
+ [bird-hide-wheelchair](#bird-hide-wheelchair)
+ [birdhide-operator](#birdhide-operator)
#### Themes using this layer
- [nature](https://mapcomplete.osm.be/nature)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [nature](https://mapcomplete.osm.be/nature)
[Go to the source code](../assets/layers/birdhide/birdhide.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:leisure' target='_blank'>leisure</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:leisure%3Dbird_hide' target='_blank'>bird_hide</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:leisure' target='_blank'>leisure</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:leisure%3Dbird_hide' target='_blank'>bird_hide</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/building#values) [building](https://wiki.openstreetmap.org/wiki/Key:building) | Multiple choice | [](https://wiki.openstreetmap.org/wiki/Tag:building%3D) [yes](https://wiki.openstreetmap.org/wiki/Tag:building%3Dyes) [tower](https://wiki.openstreetmap.org/wiki/Tag:building%3Dtower)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/operator#values) [operator](https://wiki.openstreetmap.org/wiki/Key:operator) | [string](../SpecialInputElements.md#string) | [Natuurpunt](https://wiki.openstreetmap.org/wiki/Tag:operator%3DNatuurpunt) [Agentschap Natuur en Bos](https://wiki.openstreetmap.org/wiki/Tag:operator%3DAgentschap Natuur en Bos)
### images
### images
_This tagrendering has no question and is thus read-only_
### bird-hide-shelter-or-wall
### bird-hide-shelter-or-wall
The question is **Is dit een kijkwand of kijkhut?**
- **Vogelkijkwand** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:shelter' target='_blank'>
shelter</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shelter%3Dno' target='_blank'>no</a>
- **Vogelkijkhut** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>
amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dshelter' target='_blank'>shelter</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:building' target='_blank'>building</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:building%3Dyes' target='_blank'>yes</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:shelter' target='_blank'>shelter</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:shelter%3Dyes' target='_blank'>yes</a>
- **Vogelkijktoren** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:building' target='_blank'>
building</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:building%3Dtower' target='_blank'>tower</a>
&<a href='https://wiki.openstreetmap.org/wiki/Key:bird_hide' target='_blank'>bird_hide</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:bird_hide%3Dtower' target='_blank'>tower</a>
- **Vogelkijkhut** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>
amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dshelter' target='_blank'>shelter</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:building' target='_blank'>building</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:building%3Dyes' target='_blank'>yes</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:shelter' target='_blank'>shelter</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:shelter%3Dyes' target='_blank'>yes</a>_This option cannot be chosen
as answer_
### bird-hide-wheelchair
- **Vogelkijkwand** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:shelter' target='_blank'>shelter</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shelter%3Dno' target='_blank'>no</a>
- **Vogelkijkhut** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dshelter' target='_blank'>shelter</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:building' target='_blank'>building</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:building%3Dyes' target='_blank'>yes</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:shelter' target='_blank'>shelter</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shelter%3Dyes' target='_blank'>yes</a>
- **Vogelkijktoren** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:building' target='_blank'>building</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:building%3Dtower' target='_blank'>tower</a>&<a href='https://wiki.openstreetmap.org/wiki/Key:bird_hide' target='_blank'>bird_hide</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:bird_hide%3Dtower' target='_blank'>tower</a>
- **Vogelkijkhut** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dshelter' target='_blank'>shelter</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:building' target='_blank'>building</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:building%3Dyes' target='_blank'>yes</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:shelter' target='_blank'>shelter</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:shelter%3Dyes' target='_blank'>yes</a>_This option cannot be chosen as answer_
### bird-hide-wheelchair
The question is **Is deze vogelkijkplaats rolstoeltoegankelijk?**
- **Er zijn speciale voorzieningen voor rolstoelen** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a>
- **Een rolstoel raakt er vlot** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>
- **Je kan er raken met een rolstoel, maar het is niet makkelijk** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited' target='_blank'>limited</a>
- **Niet rolstoeltoegankelijk** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a>
### birdhide-operator
- **Er zijn speciale voorzieningen voor rolstoelen** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a>
- **Een rolstoel raakt er vlot** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>
- **Je kan er raken met een rolstoel, maar het is niet makkelijk** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited' target='_blank'>limited</a>
- **Niet rolstoeltoegankelijk** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a>
### birdhide-operator
The question is **Wie beheert deze vogelkijkplaats?**
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This rendering asks information about the property [operator](https://wiki.openstreetmap.org/wiki/Key:operator)
This is rendered with `Beheer door {operator}`
- **Beheer door Natuurpunt** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DNatuurpunt' target='_blank'>Natuurpunt</a>
- **Beheer door het Agentschap Natuur en Bos ** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DAgentschap Natuur en Bos' target='_blank'>Agentschap
Natuur en Bos</a>
- **Beheer door Natuurpunt** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DNatuurpunt' target='_blank'>Natuurpunt</a>
- **Beheer door het Agentschap Natuur en Bos ** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:operator' target='_blank'>operator</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:operator%3DAgentschap Natuur en Bos' target='_blank'>Agentschap Natuur en Bos</a>
This document is autogenerated from assets/layers/birdhide/birdhide.json

View file

@ -1,19 +1,23 @@
cafe_pub
cafe_pub
==========
<img src='https://mapcomplete.osm.be/./assets/layers/cafe_pub/pub.svg' height="100px">
<img src='https://mapcomplete.osm.be/circle:white;./assets/layers/cafe_pub/pub.svg' height="100px">
A layer showing cafés and pubs where one can gather around a drink. The layer asks for some relevant questions
## Table of contents
1. [cafe_pub](#cafe_pub)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
* [Themes using this layer](#themes-using-this-layer)
- [Basic tags for this layer](#basic-tags-for-this-layer)
- [Supported attributes](#supported-attributes)
+ [images](#images)
+ [Name](#name)
+ [Classification](#classification)
@ -26,185 +30,231 @@ A layer showing cafés and pubs where one can gather around a drink. The layer a
+ [service:electricity](#serviceelectricity)
+ [dog-access](#dog-access)
#### Themes using this layer
- [cafes_and_pubs](https://mapcomplete.osm.be/cafes_and_pubs)
- [personal](https://mapcomplete.osm.be/personal)
#### Themes using this layer
- [cafes_and_pubs](https://mapcomplete.osm.be/cafes_and_pubs)
[Go to the source code](../assets/layers/cafe_pub/cafe_pub.json)
Basic tags for this layer
Basic tags for this layer
---------------------------
Elements must have the all of following tags to be shown on this layer:
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>
|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a>
Supported attributes
- <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>|<a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a>
Supported attributes
----------------------
**Warning** This quick overview is incomplete
attribute | type | values which are supported by this layer
----------- | ------ | ------------------------------------------
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/name#values) [name](https://wiki.openstreetmap.org/wiki/Key:name) | [string](../SpecialInputElements.md#string) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/amenity#values) [amenity](https://wiki.openstreetmap.org/wiki/Key:amenity) | Multiple choice | [pub](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub) [bar](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar) [cafe](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe) [restaurant](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant) [biergarten](https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/opening_hours#values) [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours) | [opening_hours](../SpecialInputElements.md#opening_hours) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/website#values) [website](https://wiki.openstreetmap.org/wiki/Key:website) | [url](../SpecialInputElements.md#url) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/email#values) [email](https://wiki.openstreetmap.org/wiki/Key:email) | [email](../SpecialInputElements.md#email) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/phone#values) [phone](https://wiki.openstreetmap.org/wiki/Key:phone) | [phone](../SpecialInputElements.md#phone) |
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/wheelchair#values) [wheelchair](https://wiki.openstreetmap.org/wiki/Key:wheelchair) | Multiple choice | [designated](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated) [yes](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited) [no](https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/service:electricity#values) [service:electricity](https://wiki.openstreetmap.org/wiki/Key:service:electricity) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes) [limited](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited) [ask](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask) [no](https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno)
[<img src='https://mapcomplete.osm.be/assets/svg/statistics.svg' height='18px'>](https://taginfo.openstreetmap.org/keys/dog#values) [dog](https://wiki.openstreetmap.org/wiki/Key:dog) | Multiple choice | [yes](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes) [no](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno) [leashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed) [unleashed](https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed)
### images
### images
_This tagrendering has no question and is thus read-only_
### Name
### Name
The question is **What is the name of this pub?**
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This rendering asks information about the property [name](https://wiki.openstreetmap.org/wiki/Key:name)
This is rendered with `This pub is named {name}`
### Classification
### Classification
The question is **What kind of cafe is this**
- **Dit is <b>een bruin café of een kroeg</b> waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig
met veel houtwerk ** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>
amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>
- **Dit is een <b>bar</b> waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en
commercieel, soms met lichtinstallatie en feestmuziek** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>
- **Dit is een <b>cafe</b> - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te
nuttigen.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>
- **Dit is een <b>restaurant</b> waar men een maaltijd geserveerd krijgt** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant' target='_blank'>restaurant</a>
- **Een open ruimte waar bier geserveerd wordt. Typisch in Duitsland** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a>
### opening_hours
- **Dit is <b>een bruin café of een kroeg</b> waar voornamelijk bier wordt gedronken. De inrichting is typisch gezellig met veel houtwerk ** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dpub' target='_blank'>pub</a>
- **Dit is een <b>bar</b> waar men ter plaatse alcoholische drank nuttigt. De inrichting is typisch modern en commercieel, soms met lichtinstallatie en feestmuziek** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbar' target='_blank'>bar</a>
- **Dit is een <b>cafe</b> - een plaats waar men rustig kan zitten om een thee, koffie of alcoholische drank te nuttigen.** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dcafe' target='_blank'>cafe</a>
- **Dit is een <b>restaurant</b> waar men een maaltijd geserveerd krijgt** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Drestaurant' target='_blank'>restaurant</a>
- **Een open ruimte waar bier geserveerd wordt. Typisch in Duitsland** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:amenity' target='_blank'>amenity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:amenity%3Dbiergarten' target='_blank'>biergarten</a>
### opening_hours
The question is **What are the opening hours of {name}?**
This rendering asks information about the
property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This rendering asks information about the property [opening_hours](https://wiki.openstreetmap.org/wiki/Key:opening_hours)
This is rendered with `<h3>Opening hours</h3>{opening_hours_table(opening_hours)}`
### website
### website
The question is **What is the website of {name}?**
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This rendering asks information about the property [website](https://wiki.openstreetmap.org/wiki/Key:website)
This is rendered with `<a href='{website}' target='_blank'>{website}</a>`
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This
option cannot be chosen as answer_
### email
- **<a href='{contact:website}' target='_blank'>{contact:website}</a>** corresponds with contact:website~^..*$_This option cannot be chosen as answer_
### email
The question is **What is the email address of {name}?**
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This rendering asks information about the property [email](https://wiki.openstreetmap.org/wiki/Key:email)
This is rendered with `<a href='mailto:{email}' target='_blank'>{email}</a>`
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This
option cannot be chosen as answer_
### phone
- **<a href='mailto:{contact:email}' target='_blank'>{contact:email}</a>** corresponds with contact:email~^..*$_This option cannot be chosen as answer_
### phone
The question is **What is the phone number of {name}?**
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This rendering asks information about the property [phone](https://wiki.openstreetmap.org/wiki/Key:phone)
This is rendered with `<a href='tel:{phone}'>{phone}</a>`
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be
chosen as answer_
### payment-options
- **<a href='tel:{contact:phone}'>{contact:phone}</a>** corresponds with contact:phone~^..*$_This option cannot be chosen as answer_
### payment-options
The question is **Which methods of payment are accepted here?**
- **Cash is accepted here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- **Payment cards are accepted here** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer
will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
### wheelchair-access
- **Cash is accepted here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cash' target='_blank'>payment:cash</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cash%3Dno' target='_blank'>no</a>
- **Payment cards are accepted here** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dyes' target='_blank'>yes</a>Unselecting this answer will add <a href='https://wiki.openstreetmap.org/wiki/Key:payment:cards' target='_blank'>payment:cards</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:payment:cards%3Dno' target='_blank'>no</a>
### wheelchair-access
The question is **Is this place accessible with a wheelchair?**
- **This place is specially adapted for wheelchair users** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a>
- **This place is easily reachable with a wheelchair** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>
- **It is possible to reach this place in a wheelchair, but it is not easy** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited' target='_blank'>limited</a>
- **This place is not reachable with a wheelchair** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a>
### service:electricity
- **This place is specially adapted for wheelchair users** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Ddesignated' target='_blank'>designated</a>
- **This place is easily reachable with a wheelchair** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dyes' target='_blank'>yes</a>
- **It is possible to reach this place in a wheelchair, but it is not easy** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dlimited' target='_blank'>limited</a>
- **This place is not reachable with a wheelchair** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:wheelchair' target='_blank'>wheelchair</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:wheelchair%3Dno' target='_blank'>no</a>
### service:electricity
The question is **Does this amenity have electrical outlets, available to customers when they are inside?**
- **There are plenty of domestic sockets available to customers seated indoors, where they can charge their
electronics** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>
service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes' target='_blank'>
yes</a>
- **There are a few domestic sockets available to customers seated indoors, where they can charge their electronics**
corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:
electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited' target='_blank'>
limited</a>
- **There are no sockets available indoors to customers, but charging might be possible if the staff is asked**
corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:
electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask' target='_blank'>ask</a>
- **There are a no domestic sockets available to customers seated indoors** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno' target='_blank'>no</a>
### dog-access
- **There are plenty of domestic sockets available to customers seated indoors, where they can charge their electronics** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dyes' target='_blank'>yes</a>
- **There are a few domestic sockets available to customers seated indoors, where they can charge their electronics** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dlimited' target='_blank'>limited</a>
- **There are no sockets available indoors to customers, but charging might be possible if the staff is asked** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dask' target='_blank'>ask</a>
- **There are a no domestic sockets available to customers seated indoors** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:service:electricity' target='_blank'>service:electricity</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:service:electricity%3Dno' target='_blank'>no</a>
### dog-access
The question is **Are dogs allowed in this business?**
- **Dogs are allowed** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes' target='_blank'>yes</a>
- **Dogs are <b>not</b> allowed** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno' target='_blank'>no</a>
- **Dogs are allowed, but they have to be leashed** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed' target='_blank'>leashed</a>
- **Dogs are allowed and can run around freely** corresponds
with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>
=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed' target='_blank'>unleashed</a>
- **Dogs are allowed** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dyes' target='_blank'>yes</a>
- **Dogs are <b>not</b> allowed** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dno' target='_blank'>no</a>
- **Dogs are allowed, but they have to be leashed** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dleashed' target='_blank'>leashed</a>
- **Dogs are allowed and can run around freely** corresponds with <a href='https://wiki.openstreetmap.org/wiki/Key:dog' target='_blank'>dog</a>=<a href='https://wiki.openstreetmap.org/wiki/Tag:dog%3Dunleashed' target='_blank'>unleashed</a>
This document is autogenerated from assets/layers/cafe_pub/cafe_pub.json

File diff suppressed because it is too large Load diff

View file

@ -212,7 +212,7 @@
"description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)"
},
"exampleImages": {
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]",
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image",
"type": "array",
"items": {
"type": "string"
@ -511,11 +511,8 @@
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -590,7 +587,7 @@
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -212,7 +212,7 @@ export default {
"description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)"
},
"exampleImages": {
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]",
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image",
"type": "array",
"items": {
"type": "string"
@ -509,11 +509,8 @@ export default {
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -588,7 +585,7 @@ export default {
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -367,11 +367,8 @@
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -446,7 +443,7 @@
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
@ -1087,7 +1084,7 @@
"description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)"
},
"exampleImages": {
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]",
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image",
"type": "array",
"items": {
"type": "string"

View file

@ -365,11 +365,8 @@ export default {
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -444,7 +441,7 @@ export default {
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",
@ -1077,7 +1074,7 @@ export default {
"description": "The _first sentence_ of the description is shown on the button of the `add` menu.\nThe full description is shown in the confirmation dialog.\n\n(The first sentence is until the first '.'-character in the description)"
},
"exampleImages": {
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image[]",
"description": "Example images, which show real-life pictures of what such a feature might look like\n\nType: image",
"type": "array",
"items": {
"type": "string"

View file

@ -177,11 +177,8 @@
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -256,7 +253,7 @@
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -175,11 +175,8 @@ export default {
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -254,7 +251,7 @@ export default {
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -181,11 +181,8 @@
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -260,7 +257,7 @@
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -179,11 +179,8 @@ export default {
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -258,7 +255,7 @@ export default {
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -17,11 +17,8 @@
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -96,7 +93,7 @@
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -17,11 +17,8 @@ export default {
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -96,7 +93,7 @@ export default {
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -125,11 +125,8 @@
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -204,7 +201,7 @@
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -123,11 +123,8 @@ export default {
"type": "string"
}
},
"render": {
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`"
},
"question": {
"description": "If it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
"description": "Renders this value. Note that \"{key}\"-parts are substituted by the corresponding values of the element.\nIf neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.\n\nNote that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`\ntype: rendered\n/\nrender?: string | any,\n\n/**\nIf it turns out that this tagRendering doesn't match _any_ value, then we show this question.\nIf undefined, the question is never asked and this tagrendering is read-only"
},
"condition": {
"description": "Only show this question if the object also matches the following tags.\n\nThis is useful to ask a follow-up question. E.g. if there is a diaper table, then ask a follow-up question on diaper tables...",
@ -202,7 +199,7 @@ export default {
]
},
"then": {
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option"
"description": "If the condition `if` is met, the text `then` will be rendered.\nIf not known yet, the user will be presented with `then` as an option\ntype: rendered"
},
"icon": {
"description": "An icon supporting this mapping; typically shown pretty small\nType: icon",

View file

@ -10,7 +10,7 @@ import {UIEventSource} from "./UIEventSource";
import {LocalStorageSource} from "./Web/LocalStorageSource";
import LZString from "lz-string";
import * as personal from "../assets/themes/personal/personal.json";
import {FixImages, FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert";
import {FixLegacyTheme} from "../Models/ThemeConfig/Conversion/LegacyJsonConvert";
import {LayerConfigJson} from "../Models/ThemeConfig/Json/LayerConfigJson";
import SharedTagRenderings from "../Customizations/SharedTagRenderings";
import * as known_layers from "../assets/generated/known_layers.json"
@ -18,6 +18,7 @@ import {LayoutConfigJson} from "../Models/ThemeConfig/Json/LayoutConfigJson";
import {PrepareTheme} from "../Models/ThemeConfig/Conversion/PrepareTheme";
import * as licenses from "../assets/generated/license_info.json"
import TagRenderingConfig from "../Models/ThemeConfig/TagRenderingConfig";
import {FixImages} from "../Models/ThemeConfig/Conversion/FixImages";
export default class DetermineLayout {

View file

@ -50,7 +50,7 @@ class MetatagUpdater {
this.isDirty.setData(true)
}
private updateMetaTags() {
public updateMetaTags() {
const features = this.source.features.data
if (features.length === 0) {
@ -77,12 +77,23 @@ export default class MetaTagRecalculator {
private readonly _notifiers: MetatagUpdater[] = []
/**
* The meta tag recalculator receives tiles of layers.
* The meta tag recalculator receives tiles of layers via the 'registerSource'-function.
* It keeps track of which sources have had their share calculated, and which should be re-updated if some other data is loaded
*/
constructor(state: { allElements?: ElementStorage }, featurePipeline: FeaturePipeline) {
constructor(state: { allElements?: ElementStorage, currentView: FeatureSourceForLayer & Tiled }, featurePipeline: FeaturePipeline) {
this._featurePipeline = featurePipeline;
this._state = state;
if(state.currentView !== undefined){
const currentViewUpdater = new MetatagUpdater(state.currentView, this._state, this._featurePipeline)
this._alreadyRegistered.add(state.currentView)
this._notifiers.push(currentViewUpdater)
state.currentView.features.addCallback(_ => {
console.debug("Requesting an update for currentView")
currentViewUpdater.updateMetaTags();
})
}
}
public registerSource(source: FeatureSourceForLayer & Tiled, recalculateOnEveryChange = false) {

View file

@ -10,17 +10,20 @@ export default class StaticFeatureSource implements FeatureSource {
constructor(features: any[] | UIEventSource<any[] | UIEventSource<{ feature: any, freshness: Date }>>, useFeaturesDirectly) {
const now = new Date();
if(features === undefined){
throw "Static feature source received undefined as source"
}
if (useFeaturesDirectly) {
// @ts-ignore
this.features = features
} else if (features instanceof UIEventSource) {
// @ts-ignore
this.features = features.map(features => features.map(f => ({feature: f, freshness: now})))
this.features = features.map(features => features?.map(f => ({feature: f, freshness: now}) ?? []))
} else {
this.features = new UIEventSource(features.map(f => ({
this.features = new UIEventSource(features?.map(f => ({
feature: f,
freshness: now
})))
}))??[])
}
}

View file

@ -18,6 +18,7 @@ import {LocalStorageSource} from "../Web/LocalStorageSource";
import {GeoOperations} from "../GeoOperations";
import TitleHandler from "../Actors/TitleHandler";
import {BBox} from "../BBox";
import MetaTagging from "../MetaTagging";
/**
* Contains all the leaflet-map related state

View file

@ -2,7 +2,7 @@ import {Utils} from "../Utils";
export default class Constants {
public static vNumber = "0.15.6";
public static vNumber = "0.15.7";
public static ImgurApiKey = '7070e7167f0a25a'
public static readonly mapillary_client_token_v4 = "MLY|4441509239301885|b40ad2d3ea105435bd40c7e76993ae85"

View file

@ -18,11 +18,15 @@ export abstract class Conversion<TIn, TOut> {
this.name = name ?? this.constructor.name
}
public static strict<T>(fixed: { errors?: string[], warnings?: string[], result?: T }): T {
public static strict<T>(fixed: { errors?: string[], warnings?: string[], information?: string[], result?: T }): T {
if (fixed?.errors !== undefined && fixed?.errors?.length > 0) {
throw fixed.errors.join("\n\n");
}
fixed.warnings?.forEach(w => console.warn(w))
fixed.information?.forEach(i => console.log(" ", i))
const yellow = (s) => "\x1b[33m"+s+"\x1b[0m"
const red = s => '\x1b[31m'+s+'\x1b[0m'
fixed.warnings?.forEach(w => console.warn(red(`<!> `), yellow (w)))
return fixed.result;
}
@ -31,26 +35,29 @@ export abstract class Conversion<TIn, TOut> {
return DesugaringStep.strict(fixed)
}
abstract convert(json: TIn, context: string): { result: TOut, errors?: string[], warnings?: string[] }
abstract convert(json: TIn, context: string): { result: TOut, errors?: string[], warnings?: string[], information?: string[] }
public convertAll(jsons: TIn[], context: string): { result: TOut[], errors: string[], warnings: string[] } {
public convertAll(jsons: TIn[], context: string): { result: TOut[], errors: string[], warnings: string[], information?: string[] } {
if(jsons === undefined){
throw "convertAll received undefined - don't do this (at "+context+")"
}
const result = []
const errors = []
const warnings = []
const information = []
for (let i = 0; i < jsons.length; i++) {
const json = jsons[i];
const r = this.convert(json, context + "[" + i + "]")
result.push(r.result)
errors.push(...r.errors ?? [])
warnings.push(...r.warnings ?? [])
information.push(...r.information ?? [])
}
return {
result,
errors,
warnings
warnings,
information
}
}
@ -69,16 +76,15 @@ export class OnEvery<X, T> extends DesugaringStep<T> {
this.key = key;
}
convert(json: T, context: string): { result: T; errors?: string[]; warnings?: string[] } {
convert(json: T, context: string): { result: T; errors?: string[]; warnings?: string[], information?: string[] } {
json = {...json}
const step = this.step
const key = this.key;
const r = step.convertAll((<X[]>json[key]), context + "." + key)
json[key] = r.result
return {
...r,
result: json,
errors: r.errors,
warnings: r.warnings
};
}
}
@ -94,7 +100,7 @@ export class OnEveryConcat<X, T> extends DesugaringStep<T> {
this.key = key;
}
convert(json: T, context: string): { result: T; errors: string[]; warnings: string[] } {
convert(json: T, context: string): { result: T; errors?: string[]; warnings?: string[], information?: string[] } {
json = {...json}
const step = this.step
const key = this.key;
@ -103,17 +109,14 @@ export class OnEveryConcat<X, T> extends DesugaringStep<T> {
// Move on - nothing to see here!
return {
result: json,
errors: [],
warnings: []
}
}
const r = step.convertAll((<X[]>values), context + "." + key)
const vals: X[][] = r.result
json[key] = [].concat(...vals)
return {
...r,
result: json,
errors: r.errors,
warnings: r.warnings
};
}
@ -129,14 +132,16 @@ export class Fuse<T> extends DesugaringStep<T> {
this.steps = steps;
}
convert(json: T, context: string): { result: T; errors: string[]; warnings: string[] } {
convert(json: T, context: string): { result: T; errors: string[]; warnings: string[], information: string[] } {
const errors = []
const warnings = []
const information = []
for (let i = 0; i < this.steps.length; i++) {
const step = this.steps[i];
let r = step.convert(json, "While running step " +step.name + ": " + context)
errors.push(...r.errors ?? [])
warnings.push(...r.warnings ?? [])
information.push(...r.information ?? [])
json = r.result
if (errors.length > 0) {
break;
@ -145,7 +150,8 @@ export class Fuse<T> extends DesugaringStep<T> {
return {
result: json,
errors,
warnings
warnings,
information
};
}
@ -163,14 +169,13 @@ export class SetDefault<T> extends DesugaringStep<T> {
this._overrideEmptyString = overrideEmptyString;
}
convert(json: T, context: string): { result: T; errors: string[]; warnings: string[] } {
convert(json: T, context: string): { result: T } {
if (json[this.key] === undefined || (json[this.key] === "" && this._overrideEmptyString)) {
json = {...json}
json[this.key] = this.value
}
return {
errors: [], warnings: [],
result: json
};
}

View file

@ -20,9 +20,7 @@ export default class CreateNoteImportLayer extends Conversion<LayerConfigJson, L
this._includeClosedNotesDays = includeClosedNotesDays;
}
convert(layerJson: LayerConfigJson, context: string): { result: LayerConfigJson; errors: string[]; warnings: string[] } {
const errors = []
const warnings = []
convert(layerJson: LayerConfigJson, context: string): { result: LayerConfigJson } {
const t = Translations.t.importLayer;
/**
@ -182,8 +180,7 @@ export default class CreateNoteImportLayer extends Conversion<LayerConfigJson, L
return {
result,
errors, warnings
result
};
}

View file

@ -0,0 +1,127 @@
import {Conversion, DesugaringStep} from "./Conversion";
import {LayoutConfigJson} from "../Json/LayoutConfigJson";
import {Utils} from "../../../Utils";
import * as metapaths from "../../../assets/layoutconfigmeta.json";
import * as tagrenderingmetapaths from "../../../assets/tagrenderingconfigmeta.json";
export class ExtractImages extends Conversion<LayoutConfigJson, string[]> {
constructor() {
super("Extract all images from a layoutConfig using the meta paths");
}
convert(json: LayoutConfigJson, context: string): { result: string[] } {
const paths = metapaths["default"] ?? metapaths
const trpaths = tagrenderingmetapaths["default"] ?? tagrenderingmetapaths
const allFoundImages = []
for (const metapath of paths) {
if (metapath.typeHint === undefined) {
continue
}
if (metapath.typeHint !== "image" && metapath.typeHint !== "icon") {
continue
}
const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson")
const found = Utils.CollectPath(metapath.path, json)
if (mightBeTr) {
// We might have tagRenderingConfigs containing icons here
for (const foundImage of found) {
if (typeof foundImage === "string") {
allFoundImages.push(foundImage)
} else {
// This is a tagRendering where every rendered value might be an icon!
for (const trpath of trpaths) {
if (trpath.typeHint !== "rendered") {
continue
}
Utils.CollectPath(trpath.path, foundImage, allFoundImages)
}
}
}
} else {
allFoundImages.push(...found)
}
}
const splitParts = [].concat(...allFoundImages.map(img => img.split(";")))
.map(img => img.split(":")[0])
return {result: Utils.Dedup(splitParts)};
}
}
export class FixImages extends DesugaringStep<LayoutConfigJson> {
private readonly _knownImages: Set<string>;
constructor(knownImages: Set<string>) {
super("Walks over the entire theme and replaces images to the relative URL. Only works if the ID of the theme is an URL");
this._knownImages = knownImages;
}
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson } {
let url: URL;
try {
url = new URL(json.id)
} catch (e) {
// Not a URL, we don't rewrite
return {result: json}
}
const absolute = url.protocol + "//" + url.host
let relative = url.protocol + "//" + url.host + url.pathname
relative = relative.substring(0, relative.lastIndexOf("/"))
const self = this;
function replaceString(leaf: string) {
if (self._knownImages.has(leaf)) {
return leaf;
}
if (leaf.startsWith("./")) {
return relative + leaf.substring(1)
}
if (leaf.startsWith("/")) {
return absolute + leaf
}
return leaf;
}
json = Utils.Clone(json)
let paths = metapaths["default"] ?? metapaths
let trpaths = tagrenderingmetapaths["default"] ?? tagrenderingmetapaths
for (const metapath of paths) {
if (metapath.typeHint !== "image" && metapath.typeHint !== "icon") {
continue
}
const mightBeTr = Array.isArray(metapath.type) && metapath.type.some(t => t["$ref"] == "#/definitions/TagRenderingConfigJson")
Utils.WalkPath(metapath.path, json, leaf => {
if (typeof leaf === "string") {
return replaceString(leaf)
}
if (mightBeTr) {
// We might have reached a tagRenderingConfig containing icons
// lets walk every rendered value and fix the images in there
for (const trpath of trpaths) {
if (trpath.typeHint !== "rendered") {
continue
}
Utils.WalkPath(trpath.path, leaf, (rendered => {
return replaceString(rendered)
}))
}
}
return leaf;
})
}
return {
result: json
};
}
}

View file

@ -3,7 +3,6 @@ import {Utils} from "../../../Utils";
import LineRenderingConfigJson from "../Json/LineRenderingConfigJson";
import {LayerConfigJson} from "../Json/LayerConfigJson";
import {DesugaringStep, Fuse, OnEvery} from "./Conversion";
import * as metapaths from "../../../assets/layoutconfigmeta.json"
export class UpdateLegacyLayer extends DesugaringStep<LayerConfigJson | string | { builtin, override }> {
@ -160,101 +159,3 @@ export class FixLegacyTheme extends Fuse<LayoutConfigJson> {
}
export class FixImages extends DesugaringStep<LayoutConfigJson> {
private readonly _knownImages: Set<string>;
constructor(knownImages: Set<string>) {
super("Walks over the entire theme and replaces images to the relative URL. Only works if the ID of the theme is an URL");
this._knownImages = knownImages;
}
/**
* Walks the path into the object till the end.
*
* If a list is encountered, this is tranparently walked recursively on every object.
*
* The leaf objects are replaced
*/
private static WalkPath(path: string[], object: any, replaceLeaf: ((leaf: any) => any)) {
const head = path[0]
if (path.length === 1) {
// We have reached the leaf
const leaf = object[head];
if (leaf !== undefined) {
object[head] = replaceLeaf(leaf)
}
return
}
const sub = object[head]
if (sub === undefined) {
return;
}
if (typeof sub !== "object") {
return;
}
if (sub["forEach"] !== undefined) {
sub.forEach(el => FixImages.WalkPath(path.slice(1), el, replaceLeaf))
return;
}
FixImages.WalkPath(path.slice(1), sub, replaceLeaf)
}
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors?: string[]; warnings?: string[] } {
let url: URL;
console.log("Fixing images!")
try {
url = new URL(json.id)
} catch (e) {
// Not a URL, we don't rewrite
return {result: json}
}
const absolute = url.protocol +"//"+url.host
let relative = url.protocol +"//"+ url.host + url.pathname
relative = relative.substring(0, relative.lastIndexOf("/"))
const self = this;
function replaceString(leaf: string) {
if (self._knownImages.has(leaf)) {
return leaf;
}
if (leaf.startsWith("./")) {
return relative + leaf.substring(1)
}
if (leaf.startsWith("/")) {
return absolute + leaf
}
return leaf;
}
json = Utils.Clone(json)
let paths = metapaths["default"] ?? metapaths
for (const metapath of paths) {
if (metapath.typeHint !== "image" && metapath.typeHint !== "icon") {
continue
}
FixImages.WalkPath(metapath.path, json, leaf => {
console.log("Detected leaf: ", leaf)
if (typeof leaf === "string") {
return replaceString(leaf)
}
if (metapath.type["some"] !== undefined && (<any[]>metapath.type).some(t => t["$ref"] == "\"#/definitions/TagRenderingConfigJson\"")) {
console.log("Possibly found a tagrendering")
}
return leaf;
})
}
return {
result: json
};
}
}

View file

@ -213,7 +213,6 @@ class ExpandGroupRewrite extends Conversion<{
for (let i = 0; i < sourceStrings.length; i++) {
const source = sourceStrings[i]
const target = targets[i] // This is a string OR a translation
console.log("Replacing every "+source+" with "+JSON.stringify(target))
rewritten = this.prepConfig(source, target, rewritten)
}
rewritten.group = rewritten.group ?? groupName

View file

@ -20,8 +20,9 @@ class SubstituteLayer extends Conversion<(string | LayerConfigJson), LayerConfig
this._state = state;
}
convert(json: string | LayerConfigJson, context: string): { result: LayerConfigJson[]; errors: string[], warnings?: string[] } {
convert(json: string | LayerConfigJson, context: string): { result: LayerConfigJson[]; errors: string[], information?: string[] } {
const errors = []
const information = []
const state= this._state
function reportNotFound(name: string){
const knownLayers = Array.from(state.sharedLayers.keys())
@ -55,7 +56,6 @@ class SubstituteLayer extends Conversion<(string | LayerConfigJson), LayerConfig
names = [names]
}
const layers = []
const warnings = []
for (const name of names) {
const found = Utils.Clone(state.sharedLayers.get(name))
@ -84,20 +84,20 @@ class SubstituteLayer extends Conversion<(string | LayerConfigJson), LayerConfig
const forbiddenLabel = labels.findIndex(l => hideLabels.has(l))
if(forbiddenLabel >= 0){
usedLabels.add(labels[forbiddenLabel])
warnings.push(context+": Dropping tagRendering "+tr["id"]+" as it has a forbidden label: "+labels[forbiddenLabel])
information.push(context+": Dropping tagRendering "+tr["id"]+" as it has a forbidden label: "+labels[forbiddenLabel])
continue
}
}
if(hideLabels.has(tr["id"])){
usedLabels.add(tr["id"])
warnings.push(context+": Dropping tagRendering "+tr["id"]+" as its id is a forbidden label")
information.push(context+": Dropping tagRendering "+tr["id"]+" as its id is a forbidden label")
continue
}
if(hideLabels.has(tr["group"])){
usedLabels.add(tr["group"])
warnings.push(context+": Dropping tagRendering "+tr["id"]+" as its group `"+tr["group"]+"` is a forbidden label")
information.push(context+": Dropping tagRendering "+tr["id"]+" as its group `"+tr["group"]+"` is a forbidden label")
continue
}
@ -113,7 +113,7 @@ class SubstituteLayer extends Conversion<(string | LayerConfigJson), LayerConfig
return {
result: layers,
errors,
warnings
information
}
}
@ -185,9 +185,8 @@ class AddImportLayers extends DesugaringStep<LayoutConfigJson> {
super("For every layer in the 'layers'-list, create a new layer which'll import notes. (Note that priviliged layers and layers which have a geojson-source set are ignored)", ["layers"]);
}
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[]; warnings: string[] } {
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[] } {
const errors = []
const warnings = []
json = {...json}
const allLayers: LayerConfigJson[] = <LayerConfigJson[]>json.layers;
@ -221,8 +220,6 @@ class AddImportLayers extends DesugaringStep<LayoutConfigJson> {
try {
const importLayerResult = creator.convert(layer, context + ".(noteimportlayer)[" + i1 + "]")
errors.push(...importLayerResult.errors)
warnings.push(...importLayerResult.warnings)
if (importLayerResult.result !== undefined) {
json.layers.push(importLayerResult.result)
}
@ -234,7 +231,6 @@ class AddImportLayers extends DesugaringStep<LayoutConfigJson> {
return {
errors,
warnings,
result: json
};
}
@ -274,7 +270,7 @@ export class AddMiniMap extends DesugaringStep<LayerConfigJson> {
return false;
}
convert(layerConfig: LayerConfigJson, context: string): { result: LayerConfigJson; errors: string[]; warnings: string[] } {
convert(layerConfig: LayerConfigJson, context: string): { result: LayerConfigJson } {
const state = this._state;
const hasMinimap = layerConfig.tagRenderings?.some(tr => AddMiniMap.hasMinimap(<TagRenderingConfigJson>tr)) ?? true
@ -286,8 +282,6 @@ export class AddMiniMap extends DesugaringStep<LayerConfigJson> {
}
return {
errors: [],
warnings: [],
result: layerConfig
};
}
@ -384,12 +378,11 @@ class AddDependencyLayersToTheme extends DesugaringStep<LayoutConfigJson> {
});
}
convert(theme: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[]; warnings: string[] } {
convert(theme: LayoutConfigJson, context: string): { result: LayoutConfigJson; information: string[] } {
const state = this._state
const allKnownLayers: Map<string, LayerConfigJson> = state.sharedLayers;
const knownTagRenderings: Map<string, TagRenderingConfigJson> = state.tagRenderings;
const errors = [];
const warnings = [];
const information = [];
const layers: LayerConfigJson[] = <LayerConfigJson[]>theme.layers; // Layers should be expanded at this point
knownTagRenderings.forEach((value, key) => {
@ -399,7 +392,7 @@ class AddDependencyLayersToTheme extends DesugaringStep<LayoutConfigJson> {
const dependencies = AddDependencyLayersToTheme.CalculateDependencies(layers, allKnownLayers, theme.id);
if (dependencies.length > 0) {
warnings.push(context + ": added " + dependencies.map(d => d.id).join(", ") + " to the theme as they are needed")
information.push(context + ": added " + dependencies.map(d => d.id).join(", ") + " to the theme as they are needed")
}
layers.unshift(...dependencies);
@ -408,8 +401,7 @@ class AddDependencyLayersToTheme extends DesugaringStep<LayoutConfigJson> {
...theme,
layers: layers
},
errors,
warnings
information
};
}
}

View file

@ -8,6 +8,8 @@ import {LayoutConfigJson} from "../Json/LayoutConfigJson";
import LayoutConfig from "../LayoutConfig";
import {TagRenderingConfigJson} from "../Json/TagRenderingConfigJson";
import {TagUtils} from "../../../Logic/Tags/TagUtils";
import {ExtractImages} from "./FixImages";
import ScriptUtils from "../../../scripts/ScriptUtils";
class ValidateLanguageCompleteness extends DesugaringStep<any> {
@ -54,8 +56,10 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
this._isBuiltin = isBuiltin;
}
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[] } {
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors: string[], warnings: string[], information: string[] } {
const errors = []
const warnings = []
const information = []
{
// Legacy format checks
if (this._isBuiltin) {
@ -67,7 +71,50 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
}
}
}
{
// Check images: are they local, are the licenses there, is the theme icon square, ...
const images = new ExtractImages().convertStrict(json, "validation")
const remoteImages = images.filter(img => img.indexOf("http") == 0)
for (const remoteImage of remoteImages) {
errors.push("Found a remote image: " + remoteImage + " in theme " + json.id + ", please download it.")
}
for (const image of images) {
if (image.indexOf("{") >= 0) {
information.push("Ignoring image with { in the path: " + image)
continue
}
if (image === "assets/SocialImage.png") {
continue
}
if (image.match(/[a-z]*/)) {
// This is a builtin img, e.g. 'checkmark' or 'crosshair'
continue;
}
if (this.knownImagePaths !== undefined && !this.knownImagePaths.has(image)) {
const ctx = context === undefined ? "" : ` in a layer defined in the theme ${context}`
errors.push(`Image with path ${image} not found or not attributed; it is used in ${json.id}${ctx}`)
}
}
if (json.icon.endsWith(".svg")) {
try {
ScriptUtils.ReadSvgSync(json.icon, svg => {
const width: string = svg.$.width;
const height: string = svg.$.height;
if (width !== height) {
const e = `the icon for theme ${json.id} is not square. Please square the icon at ${json.icon}` +
` Width = ${width} height = ${height}`;
(json.hideFromOverview ? warnings : errors).push(e)
}
})
} catch (e) {
console.error("Could not read " + json.icon + " due to " + e)
}
}
}
try {
const theme = new LayoutConfig(json, true, "test")
if (theme.id !== theme.id.toLowerCase()) {
@ -97,7 +144,9 @@ class ValidateTheme extends DesugaringStep<LayoutConfigJson> {
return {
result: json,
errors
errors,
warnings,
information
};
}
}
@ -112,60 +161,60 @@ export class ValidateThemeAndLayers extends Fuse<LayoutConfigJson> {
}
class OverrideShadowingCheck extends DesugaringStep<LayoutConfigJson>{
class OverrideShadowingCheck extends DesugaringStep<LayoutConfigJson> {
constructor() {
super("Checks that an 'overrideAll' does not override a single override");
}
convert(json: LayoutConfigJson, context: string): { result: LayoutConfigJson; errors?: string[]; warnings?: string[] } {
const overrideAll = json.overrideAll;
if(overrideAll === undefined){
if (overrideAll === undefined) {
return {result: json}
}
const errors = []
const withOverride = json.layers.filter(l => l["override"] !== undefined)
const withOverride = json.layers.filter(l => l["override"] !== undefined)
for (const layer of withOverride) {
for (const key in overrideAll) {
if(layer["override"][key] !== undefined || layer["override"]["="+key] !== undefined){
const w = "The override of layer "+JSON.stringify(layer["builtin"])+" has a shadowed property: "+key+" is overriden by overrideAll of the theme";
errors.push(w)
}
if (layer["override"][key] !== undefined || layer["override"]["=" + key] !== undefined) {
const w = "The override of layer " + JSON.stringify(layer["builtin"]) + " has a shadowed property: " + key + " is overriden by overrideAll of the theme";
errors.push(w)
}
}
}
return {result: json, errors}
return {result: json, errors}
}
}
export class PrevalidateTheme extends Fuse<LayoutConfigJson>{
export class PrevalidateTheme extends Fuse<LayoutConfigJson> {
constructor() {
super("Various consistency checks on the raw JSON",
new OverrideShadowingCheck()
);
);
}
}
export class DetectShadowedMappings extends DesugaringStep<TagRenderingConfigJson>{
export class DetectShadowedMappings extends DesugaringStep<TagRenderingConfigJson> {
constructor() {
super("Checks that the mappings don't shadow each other");
}
convert(json: TagRenderingConfigJson, context: string): { result: TagRenderingConfigJson; errors?: string[]; warnings?: string[] } {
const errors = []
if(json.mappings === undefined || json.mappings.length === 0){
if (json.mappings === undefined || json.mappings.length === 0) {
return {result: json}
}
const parsedConditions = json.mappings.map(m => TagUtils.Tag(m.if))
for (let i = 0; i < json.mappings.length; i++){
if(!parsedConditions[i].isUsableAsAnswer()){
for (let i = 0; i < json.mappings.length; i++) {
if (!parsedConditions[i].isUsableAsAnswer()) {
continue
}
const keyValues = parsedConditions[i].asChange({});
@ -173,12 +222,12 @@ export class DetectShadowedMappings extends DesugaringStep<TagRenderingConfigJso
keyValues.forEach(({k, v}) => {
properties[k] = v
})
for (let j = 0; j < i; j++){
for (let j = 0; j < i; j++) {
const doesMatch = parsedConditions[j].matchesProperties(properties)
if(doesMatch){
if (doesMatch) {
// The current mapping is shadowed!
errors.push(`Mapping ${i} is shadowed by mapping ${j} and will thus never be shown:
The mapping ${parsedConditions[i].asHumanString(false,false, {})} is fully matched by a previous mapping, which matches:
The mapping ${parsedConditions[i].asHumanString(false, false, {})} is fully matched by a previous mapping, which matches:
${parsedConditions[j].asHumanString(false, false, {})}.
Move the mapping up to fix this problem
@ -187,7 +236,7 @@ export class DetectShadowedMappings extends DesugaringStep<TagRenderingConfigJso
}
}
return {
errors,
result: json
@ -247,27 +296,6 @@ export class ValidateLayer extends DesugaringStep<LayerConfigJson> {
errors.push(context + ": layer " + json.id + " contains an old 'hideUnderlayingFeaturesMinPercentage'")
}
}
{
// Check for remote images
const layer = new LayerConfig(json, "test", true)
const images = Array.from(layer.ExtractImages())
const remoteImages = images.filter(img => img.indexOf("http") == 0)
for (const remoteImage of remoteImages) {
errors.push("Found a remote image: " + remoteImage + " in layer " + layer.id + ", please download it. You can use the fixTheme script to automate this")
}
for (const image of images) {
if (image.indexOf("{") >= 0) {
warnings.push("Ignoring image with { in the path: ", image)
continue
}
if (this.knownImagePaths !== undefined && !this.knownImagePaths.has(image)) {
const ctx = context === undefined ? "" : ` in a layer defined in the theme ${context}`
errors.push(`Image with path ${image} not found or not attributed; it is used in ${layer.id}${ctx}`)
}
}
}
{
// CHeck location of layer file
const expected: string = `assets/layers/${json.id}/${json.id}.json`
@ -307,17 +335,15 @@ export class ValidateLayer extends DesugaringStep<LayerConfigJson> {
}
}
}
if(json.tagRenderings !== undefined){
new DetectShadowedMappings().convertAll(<TagRenderingConfigJson[]> json.tagRenderings, context+".tagRenderings")
if (json.tagRenderings !== undefined) {
new DetectShadowedMappings().convertAll(<TagRenderingConfigJson[]>json.tagRenderings, context + ".tagRenderings")
}
} catch (e) {
errors.push(e)
}
return {
result: json,
errors,

View file

@ -195,7 +195,7 @@ export interface LayerConfigJson {
/**
* Example images, which show real-life pictures of what such a feature might look like
*
* Type: image[]
* Type: image
*/
exampleImages?: string[]

View file

@ -242,7 +242,7 @@ export interface LayoutConfigJson {
* If set to [[lon, lat], [lon, lat]], the map will not scroll outside of those bounds.
* Off by default, which will enable panning to the entire world
*/
lockLocation?: boolean | [[number, number], [number, number]] | number[][];
lockLocation?: [[number, number], [number, number]] | number[][];
enableUserBadge?: boolean;
enableShareScreen?: boolean;

View file

@ -30,6 +30,7 @@ export interface TagRenderingConfigJson {
* If neither 'textFieldQuestion' nor 'mappings' are defined, this text is simply shown as default value.
*
* Note that this is a HTML-interpreted value, so you can add links as e.g. '<a href='{website}'>{website}</a>' or include images such as `This is of type A <br><img src='typeA-icon.svg' />`
* type: rendered
*/
render?: string | any,
@ -114,6 +115,7 @@ export interface TagRenderingConfigJson {
/**
* If the condition `if` is met, the text `then` will be rendered.
* If not known yet, the user will be presented with `then` as an option
* type: rendered
*/
then: string | any,
/**

View file

@ -311,8 +311,11 @@ export default class LayerConfig extends WithContextLoader {
if (mapRendering === undefined) {
return undefined
}
const baseTags = TagUtils.changeAsProperties(this.source.osmTags.asChange({id: "node/-1"}))
return mapRendering.GetSimpleIcon(new UIEventSource(baseTags))
return mapRendering.GetBaseIcon(this.GetBaseTags())
}
public GetBaseTags(): any{
return TagUtils.changeAsProperties(this.source.osmTags.asChange({id: "node/-1"}))
}
public GenerateDocumentation(usedInThemes: string[], layerIsNeededBy: Map<string, string[]>, dependencies: {
@ -365,12 +368,6 @@ export default class LayerConfig extends WithContextLoader {
extraProps.push(new Combine(["This layer is needed as dependency for layer", new Link(revDep, "#" + revDep)]))
}
const icon = Array.from(this.mapRendering[0]?.icon?.ExtractImages(true) ?? [])[0]
let iconImg = ""
if (icon !== undefined) {
iconImg = `<img src='https://mapcomplete.osm.be/${icon}' height="100px"> `
}
let neededTags: TagsFilter[] = [this.source.osmTags]
if (this.source.osmTags["and"] !== undefined) {
neededTags = this.source.osmTags["and"]
@ -402,6 +399,16 @@ export default class LayerConfig extends WithContextLoader {
]).SetClass("flex-col flex")
}
const icon = this.mapRendering
.filter(mr => mr.location.has("point"))
.map(mr => mr.icon.render.txt)
.find(i => i !== undefined)
let iconImg = ""
if (icon !== undefined) {
// This is for the documentation, so we have to use raw HTML
iconImg = `<img src='https://mapcomplete.osm.be/${icon}' height="100px"> `
}
return new Combine([
new Combine([
new Title(this.id, 1),
@ -435,25 +442,6 @@ export default class LayerConfig extends WithContextLoader {
return Utils.NoNull([...this.tagRenderings, ...this.titleIcons, this.title, this.isShown])
}
public ExtractImages(): Set<string> {
const parts: Set<string>[] = [];
parts.push(...this.tagRenderings?.map((tr) => tr.ExtractImages(false)));
parts.push(...this.titleIcons?.map((tr) => tr.ExtractImages(true)));
for (const preset of this.presets) {
parts.push(new Set<string>(preset.description?.ExtractImages(false)));
parts.push(new Set(preset.exampleImages ?? []))
}
for (const pointRenderingConfig of this.mapRendering) {
parts.push(pointRenderingConfig.ExtractImages())
}
const allIcons = new Set<string>();
for (const part of parts) {
part?.forEach(allIcons.add, allIcons);
}
return allIcons;
}
public isLeftRightSensitive(): boolean {
return this.lineRendering.some(lr => lr.leftRightSensitive)
}

View file

@ -4,6 +4,7 @@ import LayerConfig from "./LayerConfig";
import {LayerConfigJson} from "./Json/LayerConfigJson";
import Constants from "../Constants";
import TilesourceConfig from "./TilesourceConfig";
import {ExtractImages} from "./Conversion/FixImages";
export default class LayoutConfig {
public readonly id: string;
@ -50,6 +51,8 @@ export default class LayoutConfig {
public readonly overpassMaxZoom: number
public readonly osmApiTileSize: number
public readonly official: boolean;
public readonly usedImages : string[]
constructor(json: LayoutConfigJson, official = true, context?: string) {
this.official = official;
@ -67,7 +70,7 @@ export default class LayoutConfig {
this.credits = json.credits;
this.version = json.version;
this.language = json.mustHaveLanguage ?? Array.from(Object.keys(json.title));
this.usedImages =Array.from( new ExtractImages().convertStrict(json, "while extracting the images")).sort()
{
if (typeof json.title === "string") {
throw `The title of a theme should always be a translation, as it sets the corresponding languages (${context}.title). The themenID is ${this.id}; the offending object is ${JSON.stringify(json.title)} which is a ${typeof json.title})`
@ -177,63 +180,6 @@ export default class LayoutConfig {
return custom;
}
public ExtractImages(): Set<string> {
const icons = new Set<string>()
for (const layer of this.layers) {
layer.ExtractImages().forEach(icons.add, icons)
}
icons.add(this.icon)
icons.add(this.socialImage)
return icons
}
/**
* Replaces all the relative image-urls with a fixed image url
* This is to fix loading from external sources
*
* It should be passed the location where the original theme file is hosted.
*
* If no images are rewritten, the same object is returned, otherwise a new copy is returned
*/
public patchImages(originalURL: string, originalJson: string): LayoutConfig {
const allImages = Array.from(this.ExtractImages())
const rewriting = new Map<string, string>()
// Needed for absolute urls: note that it doesn't contain a trailing slash
const origin = new URL(originalURL).origin
let path = new URL(originalURL).href
path = path.substring(0, path.lastIndexOf("/"))
for (const image of allImages) {
if (image == "" || image == undefined) {
continue
}
if (image.startsWith("http://") || image.startsWith("https://")) {
continue
}
if (image.startsWith("/")) {
// This is an absolute path
rewriting.set(image, origin + image)
} else if (image.startsWith("./assets/themes")) {
// Legacy workaround
rewriting.set(image, path + image.substring(image.lastIndexOf("/")))
} else if (image.startsWith("./")) {
// This is a relative url
rewriting.set(image, path + image.substring(1))
} else {
// This is a relative URL with only the path
rewriting.set(image, path + image)
}
}
if (rewriting.size == 0) {
return this;
}
rewriting.forEach((value, key) => {
console.log("Rewriting", key, "==>", value)
originalJson = originalJson.replace(new RegExp(key, "g"), value)
})
return new LayoutConfig(JSON.parse(originalJson), false, "Layout rewriting")
}
public isLeftRightSensitive() {
return this.layers.some(l => l.isLeftRightSensitive())
}

View file

@ -116,35 +116,23 @@ export default class PointRenderingConfig extends WithContextLoader {
}
}
public ExtractImages(): Set<string> {
const parts: Set<string>[] = [];
parts.push(this.icon?.ExtractImages(true));
parts.push(
...this.iconBadges?.map((overlay) => overlay.then.ExtractImages(true))
);
const allIcons = new Set<string>();
for (const part of parts) {
part?.forEach(allIcons.add, allIcons);
public GetBaseIcon(tags?: any): BaseUIElement {
tags = tags ?? {id: "node/-1"}
const rotation = Utils.SubstituteKeys(this.rotation?.GetRenderValue(tags)?.txt ?? "0deg", tags)
const htmlDefs = Utils.SubstituteKeys(this.icon.GetRenderValue(tags)?.txt, tags)
let defaultPin: BaseUIElement = undefined
if (this.label === undefined) {
defaultPin = Svg.teardrop_with_hole_green_svg()
}
return allIcons;
return PointRenderingConfig.FromHtmlMulti(htmlDefs, rotation, false, defaultPin)
}
public GetSimpleIcon(tags: UIEventSource<any>): BaseUIElement {
const self = this;
if (this.icon === undefined) {
return undefined;
}
return new VariableUiElement(tags.map(tags => {
const rotation = Utils.SubstituteKeys(self.rotation?.GetRenderValue(tags)?.txt ?? "0deg", tags)
const htmlDefs = Utils.SubstituteKeys(self.icon.GetRenderValue(tags)?.txt, tags)
let defaultPin: BaseUIElement = undefined
if (self.label === undefined) {
defaultPin = Svg.teardrop_with_hole_green_svg()
}
return PointRenderingConfig.FromHtmlMulti(htmlDefs, rotation, false, defaultPin)
})).SetClass("w-full h-full block")
return new VariableUiElement(tags.map(tags => self.GetBaseIcon(tags))).SetClass("w-full h-full block")
}
public GenerateLeafletStyle(

View file

@ -425,18 +425,6 @@ export default class TagRenderingConfig {
return translations;
}
public ExtractImages(isIcon: boolean): Set<string> {
const usedIcons = new Set<string>()
this.render?.ExtractImages(isIcon)?.forEach(usedIcons.add, usedIcons)
for (const mapping of this.mappings ?? []) {
mapping.then.ExtractImages(isIcon).forEach(usedIcons.add, usedIcons)
}
return usedIcons;
}
FreeformValues(): { key: string, type?: string, values?: string [] } {
try {

View file

@ -254,9 +254,9 @@ class AutomatonGui {
LocalStorageSource.Get("automation-theme-id", "missing_streets").syncWith(themeSelect.GetValue())
const tilepath = ValidatedTextField.InputForType("url", {
placeholder: "Specifiy the path of the overview",
inputStyle: "width: 100%"
})
tilepath.SetClass("w-full")
LocalStorageSource.Get("automation-tile_path").syncWith(tilepath.GetValue(), true)

View file

@ -43,6 +43,7 @@ export default class MinimapImplementation extends BaseUIElement implements Mini
this._addLayerControl = options.addLayerControl ?? false
this._options = options
MinimapImplementation._nextId++
this.SetClass("relative")
}

View file

@ -20,6 +20,8 @@ import Toggle from "../Input/Toggle";
import {OsmConnection} from "../../Logic/Osm/OsmConnection";
import Constants from "../../Models/Constants";
import ContributorCount from "../../Logic/ContributorCount";
import {icon} from "leaflet";
import Img from "../Base/Img";
export class OpenIdEditor extends VariableUiElement {
constructor(state: { locationControl: UIEventSource<Loc> }, iconStyle?: string, objectId?: string) {
@ -131,8 +133,7 @@ export default class CopyrightPanel extends Combine {
new OpenJosm(state, iconStyle)
]
const iconAttributions = Utils.NoNull(Array.from(layoutToUse.ExtractImages()))
.map(CopyrightPanel.IconAttribution)
const iconAttributions = layoutToUse.usedImages.map(CopyrightPanel.IconAttribution)
let maintainer: BaseUIElement = undefined
if (layoutToUse.maintainer !== undefined && layoutToUse.maintainer !== "" && layoutToUse.maintainer.toLowerCase() !== "mapcomplete") {
@ -224,23 +225,19 @@ export default class CopyrightPanel extends Combine {
const sources = Utils.NoNull(Utils.NoEmpty(license.sources))
return new Combine([
`<img src='${iconPath}' style="width: 50px; height: 50px; min-width: 50px; min-height: 50px; margin-right: 0.5em;">`,
new Img(iconPath).SetClass("w-12 min-h-12 mr-2 mb-2"),
new Combine([
new FixedUiElement(license.authors.join("; ")).SetClass("font-bold"),
new Combine([license.license,
sources.length > 0 ? " - " : "",
...sources.map(lnk => {
license.license,
new Combine([ ...sources.map(lnk => {
let sourceLinkContent = lnk;
try {
sourceLinkContent = new URL(lnk).hostname
} catch {
console.error("Not a valid URL:", lnk)
}
return new Link(sourceLinkContent, lnk, true);
})
]
).SetClass("block m-2")
return new Link(sourceLinkContent, lnk, true).SetClass("mr-2 mb-2");
})]).SetClass("flex flex-wrap")
]).SetClass("flex flex-col").SetStyle("width: calc(100% - 50px - 0.5em); min-width: 12rem;")
]).SetClass("flex flex-wrap border-b border-gray-300 m-2 border-box")
}

View file

@ -56,10 +56,8 @@ export default class FullWelcomePaneWithTabs extends ScrollableFullScreen {
isShown: UIEventSource<boolean>):
{ header: string | BaseUIElement; content: BaseUIElement }[] {
let welcome: BaseUIElement = new ThemeIntroductionPanel(isShown);
const tabs: { header: string | BaseUIElement, content: BaseUIElement }[] = [
{header: `<img src='${state.layoutToUse.icon}'>`, content: welcome},
{header: `<img src='${state.layoutToUse.icon}'>`, content: new ThemeIntroductionPanel(isShown)},
]

View file

@ -51,7 +51,7 @@ export default class LeftControls extends Combine {
return new FeatureInfoBox(tagsSource, currentViewFL.layerDef, state, "currentview", guiState.currentViewControlIsOpened)
.SetClass("md:floating-element-width")
})
}))
})).SetStyle("width: 40rem").SetClass("block")
return new Toggle(

View file

@ -126,6 +126,9 @@ export default class MoreScreen extends Combine {
for (let i = 0; i < length; i++) {
str += allPreferences[id + "-" + i]
}
if(str === undefined || str === "undefined"){
return undefined
}
try {
const value: {
id: string
@ -157,13 +160,9 @@ export default class MoreScreen extends Combine {
return ids
});
currentIds.addCallback(ids => {
console.log("Current special ids are:", ids)
})
var stableIds = UIEventSource.ListStabilized<string>(currentIds)
currentIds.addCallback(ids => {
console.log("Stabilized special ids are:", ids)
})
return new VariableUiElement(
stableIds.map(ids => {
const allThemes: BaseUIElement[] = []

View file

@ -35,17 +35,11 @@ export class CompareToAlreadyExistingNotes extends Combine implements FlowStep<{
constructor(state, params: { bbox: BBox, layer: LayerConfig, geojson: { features: any[] } }) {
const convertState: DesugaringContext = {
sharedLayers: new Map(),
tagRenderings: new Map()
}
const layerConfig = known_layers.layers.filter(l => l.id === params.layer.id)[0]
if (layerConfig === undefined) {
console.error("WEIRD: layer not found in the builtin layer overview")
}
const importLayerJson = new CreateNoteImportLayer(365).convertStrict(convertState, <LayerConfigJson>layerConfig, "CompareToAlreadyExistingNotes")
const importLayerJson = new CreateNoteImportLayer(365).convertStrict(<LayerConfigJson>layerConfig, "CompareToAlreadyExistingNotes")
const importLayer = new LayerConfig(importLayerJson, "import-layer-dynamic")
const flayer: FilteredLayer = {
appliedFilters: new UIEventSource<Map<string, FilterState>>(new Map<string, FilterState>()),

View file

@ -87,7 +87,7 @@ export class MapPreview extends Combine implements FlowStep<{ bbox: BBox, layer:
const matching: UIEventSource<{ properties: any, geometry: { coordinates: [number, number] } }[]> = layerPicker.GetValue().map((layer: LayerConfig) => {
if (layer === undefined) {
return undefined;
return [];
}
const matching: { properties: any, geometry: { coordinates: [number, number] } }[] = []

View file

@ -22,9 +22,7 @@ export class PreviewPanel extends Combine implements FlowStep<{ features: { prop
state: UserRelatedState,
geojson: { features: { properties: any, geometry: { coordinates: [number, number] } }[] }) {
const t = Translations.t.importHelper;
console.log("Datapanel received", geojson)
const propertyKeys = new Set<string>()
for (const f of geojson.features) {
Object.keys(f.properties).forEach(key => propertyKeys.add(key))
@ -36,7 +34,6 @@ export class PreviewPanel extends Combine implements FlowStep<{ features: { prop
for (const key of Array.from(propertyKeys)) {
const values = Utils.NoNull(geojson.features.map(f => f.properties[key]))
console.log("There are ", values.length, "features with attribute", key, "namely", values)
const allSame = !values.some(v => v !== values[0])
let countSummary: BaseUIElement
if (values.length === n) {

View file

@ -176,7 +176,7 @@ export default class ConfirmLocationOfPoint extends Combine {
if(preset.exampleImages !== undefined && preset.exampleImages.length > 0){
examples = new Combine([
new Title( preset.exampleImages.length == 1 ? Translations.t.general.example : Translations.t.general.examples),
new Combine(preset.exampleImages.map(img => new Img(img).SetClass("h-64 m-1 w-auto"))).SetClass("flex flex-wrap items-stretch")
new Combine(preset.exampleImages.map(img => new Img(img).SetClass("h-64 m-1 w-auto rounded-lg"))).SetClass("flex flex-wrap items-stretch")
])
}

View file

@ -19,6 +19,10 @@ import {OsmConnection} from "../../Logic/Osm/OsmConnection";
import Translations from "../i18n/Translations";
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig";
import {Changes} from "../../Logic/Osm/Changes";
import {UIElement} from "../UIElement";
import FilteredLayer from "../../Models/FilteredLayer";
import TagRenderingConfig from "../../Models/ThemeConfig/TagRenderingConfig";
import Lazy from "../Base/Lazy";
export interface AutoAction extends SpecialVisualization {
supportsAutoAction: boolean
@ -29,6 +33,120 @@ export interface AutoAction extends SpecialVisualization {
}, tagSource: UIEventSource<any>, argument: string[]): Promise<void>
}
class ApplyButton extends UIElement {
private readonly icon: string;
private readonly text: string;
private readonly targetTagRendering: string;
private readonly target_layer_id: string;
private readonly state: FeaturePipelineState;
private readonly target_feature_ids: string[];
private readonly buttonState = new UIEventSource<"idle" | "running" | "done" | { error: string }>("idle")
private readonly layer: FilteredLayer;
private readonly tagRenderingConfig: TagRenderingConfig;
constructor(state: FeaturePipelineState, target_feature_ids: string[], options: {
target_layer_id: string,
targetTagRendering: string,
text: string,
icon: string
}) {
super()
this.state = state;
this.target_feature_ids = target_feature_ids;
this.target_layer_id = options.target_layer_id;
this.targetTagRendering = options.targetTagRendering;
this.text = options.text
this.icon = options.icon
this.layer = this.state.filteredLayers.data.find(l => l.layerDef.id === this.target_layer_id)
this. tagRenderingConfig = this.layer.layerDef.tagRenderings.find(tr => tr.id === this.targetTagRendering)
}
private async Run() {
this.buttonState.setData("running")
try {
console.log("Applying auto-action on " + this.target_feature_ids.length + " features")
for (const targetFeatureId of this.target_feature_ids) {
const featureTags = this.state.allElements.getEventSourceById(targetFeatureId)
const rendering = this.tagRenderingConfig.GetRenderValue(featureTags.data).txt
const specialRenderings = Utils.NoNull(SubstitutedTranslation.ExtractSpecialComponents(rendering)
.map(x => x.special))
.filter(v => v.func["supportsAutoAction"] === true)
if(specialRenderings.length == 0){
console.warn("AutoApply: feature "+targetFeatureId+" got a rendering without supported auto actions:", rendering)
}
for (const specialRendering of specialRenderings) {
const action = <AutoAction>specialRendering.func
await action.applyActionOn(this.state, featureTags, specialRendering.args)
}
}
console.log("Flushing changes...")
await this.state.changes.flushChanges("Auto button")
this.buttonState.setData("done")
} catch (e) {
console.error("Error while running autoApply: ", e)
this. buttonState.setData({error: e})
}
}
protected InnerRender(): string | BaseUIElement {
if (this.target_feature_ids.length === 0) {
return new FixedUiElement("No elements found to perform action")
}
if (this.tagRenderingConfig === undefined) {
return new FixedUiElement("Target tagrendering " + this.targetTagRendering + " not found").SetClass("alert")
}
const self = this;
const button = new SubtleButton(
new Img(this.icon),
this.text
).onClick(() => self.Run());
const explanation = new Combine(["The following objects will be updated: ",
...this.target_feature_ids.map(id => new Combine([new Link(id, "https:/ /openstreetmap.org/" + id, true), ", "]))]).SetClass("subtle")
const previewMap = Minimap.createMiniMap({
allowMoving: false,
background: this.state.backgroundLayer,
addLayerControl: true,
}).SetClass("h-48")
const features = this.target_feature_ids.map(id => this.state.allElements.ContainingFeatures.get(id))
new ShowDataLayer({
leafletMap: previewMap.leafletMap,
popup: undefined,
zoomToFeatures: true,
features: new StaticFeatureSource(features, false),
state: this.state,
layerToShow:this. layer.layerDef,
})
return new VariableUiElement(this.buttonState.map(
st => {
if (st === "idle") {
return new Combine([button, previewMap, explanation]);
}
if (st === "done") {
return new FixedUiElement("All done!").SetClass("thanks")
}
if (st === "running") {
return new Loading("Applying changes...")
}
const error = st.error
return new Combine([new FixedUiElement("Something went wrong...").SetClass("alert"), new FixedUiElement(error).SetClass("subtle")]).SetClass("flex flex-col")
}
))
}
}
export default class AutoApplyButton implements SpecialVisualization {
public readonly docs: string;
public readonly funcName: string = "auto_apply";
@ -72,109 +190,44 @@ export default class AutoApplyButton implements SpecialVisualization {
}
constr(state: FeaturePipelineState, tagSource: UIEventSource<any>, argument: string[], guistate: DefaultGuiState): BaseUIElement {
if (!state.layoutToUse.official && !(state.featureSwitchIsTesting.data || state.osmConnection._oauth_config.url === OsmConnection.oauth_configs["osm-test"].url)) {
const t = Translations.t.general.add.import;
return new Combine([new FixedUiElement("The auto-apply button is only available in official themes (or in testing mode)").SetClass("alert"), t.howToTest])
}
const to_parse = tagSource.data[argument[1]]
if (to_parse === undefined) {
return new Loading("Gathering which elements support auto-apply... ")
}
try {
const target_layer_id = argument[0]
const target_feature_ids = <string[]>JSON.parse(to_parse)
if (target_feature_ids.length === 0) {
return new FixedUiElement("No elements found to perform action")
if (!state.layoutToUse.official && !(state.featureSwitchIsTesting.data || state.osmConnection._oauth_config.url === OsmConnection.oauth_configs["osm-test"].url)) {
const t = Translations.t.general.add.import;
return new Combine([new FixedUiElement("The auto-apply button is only available in official themes (or in testing mode)").SetClass("alert"), t.howToTest])
}
const target_layer_id = argument[0]
const targetTagRendering = argument[2]
const text = argument[3]
const icon = argument[4]
const layer = state.filteredLayers.data.filter(l => l.layerDef.id === target_layer_id)[0]
const tagRenderingConfig = layer.layerDef.tagRenderings.filter(tr => tr.id === targetTagRendering)[0]
if (tagRenderingConfig === undefined) {
return new FixedUiElement("Target tagrendering " + targetTagRendering + " not found").SetClass("alert")
const options = {
target_layer_id, targetTagRendering, text, icon
}
const buttonState = new UIEventSource<"idle" | "running" | "done" | { error: string }>("idle")
return new Lazy(() => {
const to_parse = new UIEventSource(undefined)
// Very ugly hack: read the value every 500ms
UIEventSource.Chronic(500, () => to_parse.data === undefined).addCallback(() => {
const applicable = tagSource.data[argument[1]]
console.log("Current applicable value is: ", applicable)
to_parse.setData(applicable)
})
const button = new SubtleButton(
new Img(icon),
text
).onClick(async () => {
buttonState.setData("running")
try {
for (const targetFeatureId of target_feature_ids) {
const featureTags = state.allElements.getEventSourceById(targetFeatureId)
const rendering = tagRenderingConfig.GetRenderValue(featureTags.data).txt
const specialRenderings = Utils.NoNull(SubstitutedTranslation.ExtractSpecialComponents(rendering)
.map(x => x.special))
.filter(v => v.func["supportsAutoAction"] === true)
for (const specialRendering of specialRenderings) {
const action = <AutoAction>specialRendering.func
await action.applyActionOn(state, featureTags, specialRendering.args)
}
const loading = new Loading("Gathering which elements support auto-apply... ");
return new VariableUiElement(to_parse.map(ids => {
if(ids === undefined){
return loading
}
console.log("Flushing changes...")
await state.changes.flushChanges("Auto button")
buttonState.setData("done")
} catch (e) {
console.error("Error while running autoApply: ", e)
buttonState.setData({error: e})
}
});
const explanation = new Combine(["The following objects will be updated: ",
...target_feature_ids.map(id => new Combine([new Link(id, "https:/ /openstreetmap.org/" + id, true), ", "]))]).SetClass("subtle")
const previewMap = Minimap.createMiniMap({
allowMoving: false,
background: state.backgroundLayer,
addLayerControl: true,
}).SetClass("h-48")
const features = target_feature_ids.map(id => state.allElements.ContainingFeatures.get(id))
new ShowDataLayer({
leafletMap: previewMap.leafletMap,
popup: undefined,
zoomToFeatures: true,
features: new StaticFeatureSource(features, false),
state,
layerToShow: layer.layerDef,
return new ApplyButton(state, JSON.parse(ids), options);
}))
})
return new VariableUiElement(buttonState.map(
st => {
if (st === "idle") {
return new Combine([button, previewMap, explanation]);
}
if (st === "done") {
return new FixedUiElement("All done!").SetClass("thanks")
}
if (st === "running") {
return new Loading("Applying changes...")
}
const error = st.error
return new Combine([new FixedUiElement("Something went wrong...").SetClass("alert"), new FixedUiElement(error).SetClass("subtle")]).SetClass("flex flex-col")
}
))
} catch (e) {
console.log("To parse is", to_parse)
return new FixedUiElement("Could not generate a auto_apply-button for key " + argument[0] + " due to " + e).SetClass("alert")
}
}

View file

@ -36,7 +36,7 @@ export default class EditableTagRendering extends Toggle {
const editMode = options.editMode ?? new UIEventSource<boolean>(false)
let rendering = EditableTagRendering.CreateRendering(state, tags, configuration, units, editMode);
rendering.SetClass(options.innerElementClasses)
if(state.featureSwitchIsDebugging.data){
if(state.featureSwitchIsDebugging.data || state.featureSwitchIsTesting.data){
rendering = new Combine([
new FixedUiElement(configuration.id).SetClass("self-end subtle"),
rendering

View file

@ -21,7 +21,7 @@ import ShowDataLayer from "../ShowDataLayer/ShowDataLayer";
import StaticFeatureSource from "../../Logic/FeatureSource/Sources/StaticFeatureSource";
import ShowDataMultiLayer from "../ShowDataLayer/ShowDataMultiLayer";
import CreateWayWithPointReuseAction, {MergePointConfig} from "../../Logic/Osm/Actions/CreateWayWithPointReuseAction";
import OsmChangeAction, {OsmCreateAction} from "../../Logic/Osm/Actions/OsmChangeAction";
import OsmChangeAction from "../../Logic/Osm/Actions/OsmChangeAction";
import FeatureSource from "../../Logic/FeatureSource/FeatureSource";
import {OsmObject, OsmWay} from "../../Logic/Osm/OsmObject";
import FeaturePipelineState from "../../Logic/State/FeaturePipelineState";
@ -37,12 +37,17 @@ import LayerConfig from "../../Models/ThemeConfig/LayerConfig";
import * as conflation_json from "../../assets/layers/conflation/conflation.json";
import {GeoOperations} from "../../Logic/GeoOperations";
import {LoginToggle} from "./LoginButton";
import {AutoAction} from "./AutoApplyButton";
import LayoutConfig from "../../Models/ThemeConfig/LayoutConfig";
import {Changes} from "../../Logic/Osm/Changes";
import {ElementStorage} from "../../Logic/ElementStorage";
/**
* A helper class for the various import-flows.
* An import-flow always starts with a 'Import this'-button. Upon click, a custom confirmation panel is provided
*/
abstract class AbstractImportButton implements SpecialVisualizations {
protected static importedIds = new Set<string>()
public readonly funcName: string
public readonly docs: string
public readonly args: { name: string, defaultValue?: string, doc: string }[]
@ -157,7 +162,10 @@ ${Utils.special_visualizations_importRequirementDocs}
state.featureSwitchUserbadge)
const isImported = tagSource.map(tags => tags._imported === "yes")
const isImported = tagSource.map(tags => {
AbstractImportButton.importedIds.add(tags.id)
return tags._imported === "yes";
})
/**** THe actual panel showing the import guiding map ****/
@ -269,7 +277,7 @@ ${Utils.special_visualizations_importRequirementDocs}
return new Combine([confirmationMap, confirmButton, cancel]).SetClass("flex flex-col")
}
private parseArgs(argsRaw: string[], originalFeatureTags: UIEventSource<any>): { minzoom: string, max_snap_distance: string, snap_onto_layers: string, icon: string, text: string, tags: string, targetLayer: string, newTags: UIEventSource<Tag[]> } {
protected parseArgs(argsRaw: string[], originalFeatureTags: UIEventSource<any>): { minzoom: string, max_snap_distance: string, snap_onto_layers: string, icon: string, text: string, tags: string, targetLayer: string, newTags: UIEventSource<Tag[]> } {
const baseArgs = Utils.ParseVisArgs(this.args, argsRaw)
if (originalFeatureTags !== undefined) {
@ -351,7 +359,8 @@ export class ConflateButton extends AbstractImportButton {
}
export class ImportWayButton extends AbstractImportButton {
export class ImportWayButton extends AbstractImportButton implements AutoAction {
public readonly supportsAutoAction = true;
constructor() {
super("import_way_button",
@ -386,6 +395,39 @@ export class ImportWayButton extends AbstractImportButton {
)
}
async applyActionOn(state: { layoutToUse: LayoutConfig; changes: Changes, allElements: ElementStorage },
originalFeatureTags: UIEventSource<any>,
argument: string[]): Promise<void> {
const id = originalFeatureTags.data.id;
if (AbstractImportButton.importedIds.has(originalFeatureTags.data.id)
) {
return;
}
AbstractImportButton.importedIds.add(originalFeatureTags.data.id)
const args = this.parseArgs(argument, originalFeatureTags)
const feature = state.allElements.ContainingFeatures.get(id)
console.log("Geometry to auto-import is:", feature)
const geom = feature.geometry
let coordinates: [number, number][]
if (geom.type === "LineString") {
coordinates = geom.coordinates
} else if (geom.type === "Polygon") {
coordinates = geom.coordinates[0]
}
const mergeConfigs = this.GetMergeConfig(args);
const action = this.CreateAction(
feature,
args,
<FeaturePipelineState>state,
mergeConfigs,
coordinates
)
await state.changes.applyAction(action)
}
canBeImported(feature: any) {
const type = feature.geometry.type
return type === "LineString" || type === "Polygon"
@ -420,7 +462,24 @@ export class ImportWayButton extends AbstractImportButton {
} else if (geom.type === "Polygon") {
coordinates = geom.coordinates[0]
}
const mergeConfigs = this.GetMergeConfig(args);
let action = this.CreateAction(feature, args, state, mergeConfigs, coordinates);
return this.createConfirmPanelForWay(
state,
args,
feature,
originalFeatureTags,
action,
onCancel
)
}
private GetMergeConfig(args: { max_snap_distance: string; snap_onto_layers: string; icon: string; text: string; tags: string; newTags: UIEventSource<any>; targetLayer: string })
: MergePointConfig[] {
const nodesMustMatch = args["snap_to_point_if"]?.split(";")?.map((tag, i) => TagUtils.Tag(tag, "TagsSpec for import button " + i))
const mergeConfigs = []
@ -446,14 +505,21 @@ export class ImportWayButton extends AbstractImportButton {
mergeConfigs.push(mergeConfig)
}
let action: OsmCreateAction & { getPreview(): Promise<FeatureSource> };
return mergeConfigs;
}
private CreateAction(feature,
args: { max_snap_distance: string; snap_onto_layers: string; icon: string; text: string; tags: string; newTags: UIEventSource<any>; targetLayer: string },
state: FeaturePipelineState,
mergeConfigs: any[],
coordinates: [number, number][]) {
const coors = feature.geometry.coordinates
if (feature.geometry.type === "Polygon" && coors.length > 1) {
const outer = coors[0]
const inner = [...coors]
inner.splice(0, 1)
action = new CreateMultiPolygonWithPointReuseAction(
return new CreateMultiPolygonWithPointReuseAction(
args.newTags.data,
outer,
inner,
@ -463,24 +529,13 @@ export class ImportWayButton extends AbstractImportButton {
)
} else {
action = new CreateWayWithPointReuseAction(
return new CreateWayWithPointReuseAction(
args.newTags.data,
coordinates,
state,
mergeConfigs
)
}
return this.createConfirmPanelForWay(
state,
args,
feature,
originalFeatureTags,
action,
onCancel
)
}
}
@ -525,11 +580,11 @@ export class ImportPointButton extends AbstractImportButton {
let specialMotivation = undefined
let note_id = args.note_id
if (args.note_id !== undefined && isNaN(Number(args.note_id))) {
if (args.note_id !== undefined && isNaN(Number(args.note_id))) {
note_id = originalFeatureTags.data[args.note_id]
specialMotivation = "source: https://osm.org/note/" + note_id
}
const newElementAction = new CreateNewNodeAction(tags, location.lat, location.lon, {
theme: state.layoutToUse.id,
changeType: "import",

View file

@ -29,7 +29,7 @@ export default class NoteCommentElement extends Combine {
} else if (comment.action === "closed") {
actionIcon = Svg.resolved_svg()
} else {
actionIcon = Svg.addSmall_svg()
actionIcon = Svg.speech_bubble_svg()
}
let user: BaseUIElement

View file

@ -534,7 +534,7 @@ export default class SpecialVisualizations {
funcName: "multi_apply",
docs: "A button to apply the tagging of this object onto a list of other features. This is an advanced feature for which you'll need calculatedTags",
args: [
{name: "feature_ids", doc: "A JSOn-serialized list of IDs of features to apply the tagging on"},
{name: "feature_ids", doc: "A JSON-serialized list of IDs of features to apply the tagging on"},
{
name: "keys",
doc: "One key (or multiple keys, seperated by ';') of the attribute that should be copied onto the other features."
@ -725,7 +725,7 @@ export default class SpecialVisualizations {
textField.SetClass("rounded-l border border-grey")
const txt = textField.GetValue()
const addCommentButton = new SubtleButton(Svg.addSmall_svg().SetClass("max-h-7"), t.addCommentPlaceholder)
const addCommentButton = new SubtleButton(Svg.speech_bubble_svg().SetClass("max-h-7"), t.addCommentPlaceholder)
.onClick(async () => {
const id = tags.data[args[1] ?? "id"]
@ -778,7 +778,9 @@ export default class SpecialVisualizations {
new Combine([
new Title("Add a comment"),
textField,
new Combine([addCommentButton.SetClass("mr-2"), stateButtons]).SetClass("flex justify-end")
new Combine([
new Toggle(addCommentButton, undefined, textField.GetValue().map(t => t !==undefined && t.length > 1)).SetClass("mr-2")
, stateButtons]).SetClass("flex justify-end")
]).SetClass("border-2 border-black rounded-xl p-4 block"),
t.loginToAddComment, state)
}

View file

@ -350,6 +350,88 @@ In the case that MapComplete is pointed to the testing grounds, the edit will be
return target;
}
/**
* Walks the specified path into the object till the end.
*
* If a list is encountered, this is tranparently walked recursively on every object.
*
* The leaf objects are replaced by the function
*/
public static WalkPath(path: string[], object: any, replaceLeaf: ((leaf: any) => any)) {
const head = path[0]
if (path.length === 1) {
// We have reached the leaf
const leaf = object[head];
if (leaf !== undefined) {
if(Array.isArray(leaf)){
object[head] = leaf.map(replaceLeaf)
}else{
object[head] = replaceLeaf(leaf)
}
}
return
}
const sub = object[head]
if (sub === undefined) {
return;
}
if (typeof sub !== "object") {
return;
}
if (Array.isArray(sub)) {
sub.forEach(el => Utils.WalkPath(path.slice(1), el, replaceLeaf))
return;
}
Utils.WalkPath(path.slice(1), sub, replaceLeaf)
}
/**
* Walks the specified path into the object till the end.
* If a list is encountered, this is tranparently walked recursively on every object.
*
* The leaf objects are collected in the list
*/
public static CollectPath(path: string[], object: any, collectedList = []): any[] {
if (object === undefined || object === null) {
return collectedList;
}
const head = path[0]
if (path.length === 1) {
// We have reached the leaf
const leaf = object[head];
if (leaf === undefined || leaf === null) {
return collectedList
}
if (Array.isArray(leaf)) {
collectedList.push(...leaf)
} else {
collectedList.push(leaf)
}
return collectedList
}
const sub = object[head]
if (sub === undefined || sub === null) {
return collectedList;
}
if (Array.isArray(sub)) {
sub.forEach(el => Utils.CollectPath(path.slice(1), el, collectedList))
return collectedList;
}
if (typeof sub !== "object") {
return collectedList;
}
return Utils.CollectPath(path.slice(1), sub, collectedList)
}
/**
* Apply a function on every leaf of the JSON; used to rewrite parts of the JSON
* @param json
* @param f
* @constructor
*/
static WalkJson(json: any, f: (v: number | string | boolean | undefined) => any) {
if (json === undefined) {
return f(undefined)

View file

@ -356,7 +356,7 @@
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_cafe/bike_cafe.svg"
"render": "pin:#684c2b;./assets/layers/bike_cafe/bike_cafe.svg"
},
"iconSize": {
"render": "50,50,bottom"

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

View file

@ -65,11 +65,6 @@
]
}
],
"titleIcons": [
{
"render": "<img src='./assets/layers/bike_cleaning/bike_cleaning_icon.svg'/>"
}
],
"tagRenderings": [
"images",
{

View file

@ -108,10 +108,10 @@
"path": "repair_station_example_3.jpg",
"license": "CC-BY-SA 3.0 Unported",
"authors": [
"or \tThelmadatter"
"Thelmadatter"
],
"sources": [
"\u001b[3~https://wiki.openstreetmap.org/wiki/File:BikeRepairMonterrey.JPG"
"https://wiki.openstreetmap.org/wiki/File:BikeRepairMonterrey.JPG"
]
},
{

View file

@ -686,7 +686,7 @@
"mapRendering": [
{
"icon": {
"render": "./assets/layers/bike_shop/repair_shop.svg",
"render": "pin:#f04c4c;./assets/layers/bike_shop/repair_shop.svg",
"mappings": [
{
"if": "operator=De Fietsambassade Gent",
@ -694,7 +694,7 @@
},
{
"if": "service:bicycle:retail=yes",
"then": "./assets/layers/bike_shop/shop.svg"
"then": "pin:#353d57;./assets/layers/bike_shop/shop.svg"
}
]
},

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 18 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

View file

@ -102,7 +102,7 @@
"ifnot": "scooter=no",
"then": {
"en": "<b>Scooters</b> can be charged here",
"nl": "<b>Electrische scooters</b> (snorfiets of bromfiets) kunnen hier opgeladen worden",
"nl": "<b>Elektrische scooters</b> (snorfiets of bromfiets) kunnen hier opgeladen worden",
"de": "<b>Roller</b> können hier geladen werden"
}
},
@ -3553,7 +3553,7 @@
],
"title": {
"en": "charging station with a normal european wall plug <img src='./assets/layers/charging_station/TypeE.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (meant to charge electrical bikes)",
"nl": "laadpunt met gewone stekker(s) <img src='./assets/layers/charging_station/TypeE.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (bedoeld om electrische fietsen op te laden)"
"nl": "laadpunt voor elektrische fietsen met gewone stekker(s)"
},
"preciseInput": {
"preferredBackground": "map"

View file

@ -38,7 +38,7 @@
]
},
"then": {
"en": "Charging station for ebikes",
"en": "Charging station for electrical bicycles",
"nl": "Oplaadpunt voor elektrische fietsen"
}
},

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" width="375px" height="300px" viewBox="0 0 375 300" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;" d="M 0 150 L 0 225 C 0 235.371094 8.378906 243.75 18.75 243.75 L 37.5 243.75 L 37.5 131.25 L 18.75 131.25 C 8.378906 131.25 0 139.628906 0 150 Z M 271.875 56.25 L 206.25 56.25 L 206.25 18.75 C 206.25 8.378906 197.871094 0 187.5 0 C 177.128906 0 168.75 8.378906 168.75 18.75 L 168.75 56.25 L 103.125 56.25 C 77.226562 56.25 56.25 77.226562 56.25 103.125 L 56.25 262.5 C 56.25 283.183594 73.066406 300 93.75 300 L 281.25 300 C 301.933594 300 318.75 283.183594 318.75 262.5 L 318.75 103.125 C 318.75 77.226562 297.773438 56.25 271.875 56.25 Z M 150 243.75 L 112.5 243.75 L 112.5 225 L 150 225 Z M 131.25 173.4375 C 118.300781 173.4375 107.8125 162.949219 107.8125 150 C 107.8125 137.050781 118.300781 126.5625 131.25 126.5625 C 144.199219 126.5625 154.6875 137.050781 154.6875 150 C 154.6875 162.949219 144.199219 173.4375 131.25 173.4375 Z M 206.25 243.75 L 168.75 243.75 L 168.75 225 L 206.25 225 Z M 262.5 243.75 L 225 243.75 L 225 225 L 262.5 225 Z M 243.75 173.4375 C 230.800781 173.4375 220.3125 162.949219 220.3125 150 C 220.3125 137.050781 230.800781 126.5625 243.75 126.5625 C 256.699219 126.5625 267.1875 137.050781 267.1875 150 C 267.1875 162.949219 256.699219 173.4375 243.75 173.4375 Z M 356.25 131.25 L 337.5 131.25 L 337.5 243.75 L 356.25 243.75 C 366.621094 243.75 375 235.371094 375 225 L 375 150 C 375 139.628906 366.621094 131.25 356.25 131.25 Z M 356.25 131.25 "/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="375"
height="375"
viewBox="0 0 375 375"
version="1.1"
id="svg5"
sodipodi:docname="robot.svg"
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs9" />
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
height="375px"
inkscape:zoom="0.85925783"
inkscape:cx="153.62094"
inkscape:cy="67.500112"
inkscape:current-layer="svg5" />
<g
id="surface1"
transform="translate(0,34)">
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 0,150 v 75 c 0,10.37109 8.378906,18.75 18.75,18.75 H 37.5 V 131.25 H 18.75 C 8.378906,131.25 0,139.62891 0,150 Z M 271.875,56.25 H 206.25 V 18.75 C 206.25,8.378906 197.87109,0 187.5,0 177.12891,0 168.75,8.378906 168.75,18.75 v 37.5 H 103.125 C 77.226562,56.25 56.25,77.226562 56.25,103.125 V 262.5 c 0,20.68359 16.816406,37.5 37.5,37.5 h 187.5 c 20.68359,0 37.5,-16.81641 37.5,-37.5 V 103.125 C 318.75,77.226562 297.77344,56.25 271.875,56.25 Z M 150,243.75 H 112.5 V 225 H 150 Z m -18.75,-70.3125 c -12.94922,0 -23.4375,-10.48828 -23.4375,-23.4375 0,-12.94922 10.48828,-23.4375 23.4375,-23.4375 12.94922,0 23.4375,10.48828 23.4375,23.4375 0,12.94922 -10.48828,23.4375 -23.4375,23.4375 z m 75,70.3125 h -37.5 V 225 h 37.5 z m 56.25,0 H 225 V 225 h 37.5 z m -18.75,-70.3125 c -12.94922,0 -23.4375,-10.48828 -23.4375,-23.4375 0,-12.94922 10.48828,-23.4375 23.4375,-23.4375 12.94922,0 23.4375,10.48828 23.4375,23.4375 0,12.94922 -10.48828,23.4375 -23.4375,23.4375 z M 356.25,131.25 H 337.5 v 112.5 h 18.75 c 10.37109,0 18.75,-8.37891 18.75,-18.75 v -75 c 0,-10.37109 -8.37891,-18.75 -18.75,-18.75 z m 0,0"
id="path2" />
</g>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -0,0 +1,176 @@
[
{
"path": [],
"type": "object"
},
{
"path": [
"id"
],
"type": "string"
},
{
"path": [
"group"
],
"type": "string"
},
{
"path": [
"labels"
],
"type": "array"
},
{
"path": [
"question"
],
"typeHint": "rendered"
},
{
"path": [
"condition"
],
"type": [
{
"$ref": "#/definitions/AndOrTagConfigJson"
},
{
"type": "string"
}
]
},
{
"path": [
"freeform"
],
"type": "object"
},
{
"path": [
"freeform",
"key"
],
"type": "string"
},
{
"path": [
"freeform",
"type"
],
"type": "string"
},
{
"path": [
"freeform",
"placeholder"
]
},
{
"path": [
"freeform",
"helperArgs"
],
"type": "array"
},
{
"path": [
"freeform",
"addExtraTags"
],
"type": "array"
},
{
"path": [
"freeform",
"inline"
],
"type": "boolean"
},
{
"path": [
"freeform",
"default"
],
"type": "string"
},
{
"path": [
"multiAnswer"
],
"type": "boolean"
},
{
"path": [
"mappings"
],
"type": "array"
},
{
"path": [
"mappings",
"if"
],
"type": [
{
"$ref": "#/definitions/AndOrTagConfigJson"
},
{
"type": "string"
}
]
},
{
"path": [
"mappings",
"then"
],
"typeHint": "rendered"
},
{
"path": [
"mappings",
"icon"
],
"typeHint": "icon",
"type": "string"
},
{
"path": [
"mappings",
"hideInAnswer"
],
"type": [
{
"$ref": "#/definitions/AndOrTagConfigJson"
},
{
"type": [
"string",
"boolean"
]
}
]
},
{
"path": [
"mappings",
"ifnot"
],
"type": [
{
"$ref": "#/definitions/AndOrTagConfigJson"
},
{
"type": "string"
}
]
},
{
"path": [
"mappings",
"addExtraTags"
],
"type": "array"
}
]

View file

@ -3,20 +3,22 @@
"path": "logo.svg",
"license": "CC0",
"authors": [
"Stijn Wens"
"Toerisme Vlaanderen"
],
"sources": [
"https://wens.be/free-antwerpenize-bicycle-font"
"https://toerismevlaanderen.be/pinjepunt",
"https://mapcomplete.osm.be/toerisme_vlaanderenn"
]
},
{
"path": "rental.svg",
"license": "CC0",
"authors": [
"Stijn Wens"
"Toerisme Vlaanderen"
],
"sources": [
"https://wens.be/free-antwerpenize-bicycle-font"
"https://toerismevlaanderen.be/pinjepunt",
"https://mapcomplete.osm.be/toerisme_vlaanderenn"
]
}
]

View file

@ -16,7 +16,7 @@
"nl": "<h4>Tips</h4><ul><li>Over groen ingekleurde gebieden weten we alles wat we willen weten.</li><li>Bij rood ingekleurde gebieden ontbreekt nog heel wat info: klik een gebied aan en beantwoord de vragen.</li><li>Je kan altijd een vraag overslaan als je het antwoord niet weet of niet zeker bent</li><li>Je kan altijd een foto toevoegen</li><li>Je kan ook zelf een gebied toevoegen door op de kaart te klikken</li><li>Open buurtnatuur.be <b>op je smartphone</b> om al wandelend foto's te maken en vragen te beantwoorden</li></ul><small><p>De oorspronkelijke data komt van <b>OpenStreetMap</b> en je antwoorden worden daar bewaard.<br/> Omdat iedereen vrij kan meewerken aan dit project, kunnen we niet garanderen dat er geen fouten opduiken.Kan je hier niet aanpassen wat je wilt, dan kan je dat zelf via OpenStreetMap.org doen. Groen kan <b>geen enkele verantwoordelijkheid</b> nemen over de kaart.</p>Je privacy is belangrijk. We tellen wel hoeveel gebruikers deze website bezoeken. We plaatsen een cookie waar geen persoonlijke informatie in bewaard wordt. Als je inlogt, komt er een tweede cookie bij met je inloggegevens.</small>"
},
"maintainer": "Pieter Vander Vennet",
"icon": "./assets/themes/buurtnatuur/groen_logo.svg",
"icon": "./assets/themes/buurtnatuur/logo.svg",
"version": "0",
"startLat": 50.8435,
"startLon": 4.3688,

View file

@ -39,6 +39,16 @@
"https://www.groen.be/"
]
},
{
"path": "logo.svg",
"license": "Logo; All rights reserved",
"authors": [
"Groen"
],
"sources": [
"https://www.groen.be/"
]
},
{
"path": "nature_reserve.svg",
"license": "CC-BY 3.0",

View file

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="373"
height="373"
viewBox="0 0 373 373"
version="1.1"
id="svg5"
sodipodi:docname="logo.svg"
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs9" />
<sodipodi:namedview
id="namedview7"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
height="373px"
inkscape:zoom="1.4890041"
inkscape:cx="156.48042"
inkscape:cy="160.50996"
inkscape:current-layer="svg5" />
<g
id="surface1"
transform="translate(0,225.92119)">
<path
style="fill:#008278;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 201.47656,1.953125 c -11.01172,0 -20.30859,3.949219 -28.10547,11.757813 -7.69531,7.691406 -11.64453,17.09375 -11.64453,28.105468 0,10.90625 3.94922,20.300782 11.64453,28.109375 7.79688,7.691407 17.09375,11.648438 28.10547,11.648438 11.00781,0 20.30469,-3.957031 28.10938,-11.648438 7.79687,-7.808593 11.74609,-17.203125 11.74609,-28.109375 0,-11.011718 -3.94922,-20.414062 -11.74609,-28.105468 -7.80469,-7.808594 -17.10157,-11.757813 -28.10938,-11.757813 -11.00781,0 0,0 0,0 z m 11.75,51.730469 c -3.30469,3.199218 -7.15625,4.800781 -11.75,4.800781 -4.70312,0 -8.55078,-1.601563 -11.86328,-4.800781 -3.21094,-3.320313 -4.80859,-7.269532 -4.80859,-11.867188 0,-4.59375 1.59765,-8.550781 4.80859,-11.753906 3.3125,-3.316406 7.16016,-4.914062 11.86328,-4.914062 4.59375,0 8.44531,1.597656 11.75,4.914062 3.41797,3.203125 5.02344,7.160156 5.02344,11.753906 0,4.597656 -1.60547,8.546875 -5.02344,11.867188 -3.41797,3.316406 0,0 0,0 z m 57.51172,-3.175782 h 29.91797 V 31.910156 H 270.73828 V 24.964844 H 301.1875 V 4.660156 h -53.53125 v 74.171875 h 53.64453 V 57.878906 h -30.5625 z M 348.78516,4.6875 V 33.835938 L 307.6875,3.398438 v 75.449218 h 23.10937 v -29.15625 l 41.09766,30.441406 V 4.6875 Z m -202.5625,53.855469 c 6.15234,-6.152344 9.35546,-13.785157 9.39843,-22.464844 v -0.08203 C 155.57812,27.3125 152.375,19.683594 146.22266,13.527344 140.02344,7.332031 132.32812,4.660156 123.57422,4.660156 H 86.816406 V 78.828125 H 110 V 67.414062 h 11.92188 l 24.62109,32.867188 18.48828,-13.894531 -20.02344,-26.734375 c 0.40625,-0.367188 0.82031,-0.710938 1.21485,-1.109375 0.39062,-0.398438 0,0 0,0 z M 110,27.421875 h 13.57422 c 4.86328,0 8.67187,3.875 8.74219,8.617187 -0.0703,4.738282 -3.87891,8.609376 -8.74219,8.609376 H 110 Z M 80.304688,36.277344 H 42.207031 v 14.699218 h 12.875 c -0.640625,0.96875 -1.390625,1.832032 -2.25,2.6875 -3.21875,3.214844 -7.199219,4.828126 -11.808593,4.828126 -4.609376,0 -8.585938,-1.613282 -11.90625,-4.828126 -3.226563,-3.328124 -4.832032,-7.300781 -4.832032,-11.910156 0,-4.625 1.605469,-8.585937 4.832032,-11.808594 3.320312,-3.328124 7.296874,-4.9375 11.90625,-4.9375 4.609374,0 7.839843,0.960938 11.054687,4.183594 L 69.25,13.519531 C 61.414062,5.6875 52.078125,1.722656 41.023438,1.722656 30.078125,1.722656 20.632812,5.6875 12.800781,13.519531 4.964844,21.246094 1.109375,30.699219 1.109375,41.753906 c 0,10.945313 3.855469,20.386719 11.691406,28.222656 7.832031,7.730469 17.277344,11.699219 28.222657,11.699219 11.054687,0 20.390624,-3.96875 28.226562,-11.699219 7.832031,-7.835937 11.054688,-17.277343 11.054688,-28.222656 z m 0,0"
id="path2" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

View file

@ -30,7 +30,7 @@
"it": "Una strada ciclabile è una strada dove <b>il traffico motorizzato non può superare i velocipedi</b>. La sua presenza è segnalata da un cartello stradale specifico. Le strade ciclabili sono diffuse in Olanda e Belgio, ma si possono trovare anche in Germania e in Francia. ",
"hu": "A kerékpárosutca (cyclestreet, Fahrradstraße) olyan utca, ahol <b>gépjármű nem előzhet meg kerékpárost</b>. Az ilyen utcákat külön közlekedési tábla jelzi. Kerékpárosutcák találhatók Hollandiában és Belgiumban, valamint Németországban és Franciaországban is. "
},
"icon": "./assets/themes/cyclestreets/F111.svg",
"icon": "./assets/themes/cyclestreets/logo.svg",
"startLat": 51.2095,
"startZoom": 14,
"startLon": 3.2228,

View file

@ -18,5 +18,15 @@
"sources": [
"https://commons.wikimedia.org/wiki/File:Belgian_road_sign_F113_nl.svg"
]
},
{
"path": "logo.svg",
"license": "CC0",
"authors": [
"The RedBurn"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Belgian_road_sign_F111_nl.svg"
]
}
]

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 27 KiB

View file

@ -12,7 +12,7 @@
"hu": "Ez a sablon a flandriai GRB épületimportálás automatizlását kívánja megkönnyíteni."
},
"maintainer": "",
"icon": "./assets/themes/grb_import/housenumber_blank.svg",
"icon": "./assets/themes/grb_import/logo.svg",
"version": "0",
"startLat": 51.0249,
"startLon": 4.026489,
@ -447,7 +447,7 @@
"title": "GRB outline",
"calculatedTags": [
"_overlaps_with_buildings=feat.overlapWith('osm-buildings').filter(f => f.feat.properties.id.indexOf('-') < 0)",
"_overlaps_with=feat.get('_overlaps_with_buildings').filter(f => f.overlap > 1 /* square meter */ )[0] ?? ''",
"_overlaps_with=feat.get('_overlaps_with_buildings').find(f => f.overlap > 1 /* square meter */ )",
"_osm_obj:source:ref=feat.get('_overlaps_with')?.feat?.properties['source:geometry:ref']",
"_osm_obj:id=feat.get('_overlaps_with')?.feat?.properties?.id",
"_osm_obj:source:date=feat.get('_overlaps_with')?.feat?.properties['source:geometry:date'].replace(/\\//g, '-')",
@ -650,6 +650,57 @@
}
}
]
},
{
"builtin": "current_view",
"override": {
"calculatedTags": [
"_overlapping=Number(feat.properties.zoom) >= 16 ? feat.overlapWith('grb').map(ff => ff.feat.properties) : undefined",
"_applicable=feat.get('_overlapping')?.filter(p => (p._imported_osm_object_found !== 'true' && p._intersects_with_other_features === ''))?.map(p => p.id)",
"_applicable_count=feat.get('_applicable')?.length"
],
"tagRenderings": [
{
"id": "hw",
"render": "There are {_applicable_count} applicable elements in view",
"mappings": [
{
"if": "zoom<14",
"then": "Zoom in more to see the automatic action"
},
{
"if": "_applicable_count=",
"then": "Loading..."
},
{
"if": "_applicable_count=0",
"then": "No importable buildins in view"
}
]
},
{
"id": "autoapply",
"render": "{auto_apply(grb, _applicable, Import-button, Import or conflate all non-conflicting buildings in view)}",
"mappings": [
{
"if": "zoom<16",
"then": "Zoom in more to import"
}
]
}
],
"+mapRendering": [
{
"location": [
"point"
],
"icon": {
"render": "./assets/svg/robot.svg"
},
"iconSize": "15,15,center"
}
]
}
}
],
"hideFromOverview": true,

View file

@ -7,6 +7,14 @@
],
"sources": []
},
{
"path": "logo.svg",
"license": "CC0",
"authors": [
"Pieter Vander Vennet"
],
"sources": []
},
{
"path": "warning.svg",
"license": "CC0",

View file

@ -0,0 +1,79 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="371"
height="371"
viewBox="0 0 371 371"
version="1.1"
id="svg7"
sodipodi:docname="logo.svg"
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs11" />
<sodipodi:namedview
id="namedview9"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
height="371px"
inkscape:zoom="1.024392"
inkscape:cx="112.26171"
inkscape:cy="206.95202"
inkscape:current-layer="svg7" />
<g
id="surface1"
transform="matrix(1,0,0,0.73848242,0,225.83857)">
<path
style="fill:#fff5c7;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="M 14.044497,0 H 157.53331 c 7.78049,0 14.0454,6.264194 14.0454,14.044297 v 59.79441 c 0,7.780103 -6.26491,14.044296 -14.0454,14.044296 H 14.044497 C 6.264002,87.883003 9.0314e-4,81.61881 9.0314e-4,73.838707 V 14.044297 C 9.0314e-4,6.264194 6.264002,0 14.044497,0 Z m 0,0"
transform="matrix(2.159848,0,0,2.161965,0.208987,0)"
id="path2" />
<path
style="fill:none;stroke:#fa7d68;stroke-width:5.0152;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 8.747177,22.772972 v 42.232264 c 7.038978,0 14.077957,7.039313 14.077957,14.078626 H 148.64235 c 0,-7.039313 7.03898,-14.078626 14.07795,-14.078626 V 22.772972 c -7.03897,0 -14.07795,-7.039313 -14.07795,-14.078626 H 22.825134 c 0,7.039313 -7.038979,14.078626 -14.077957,14.078626 z m 0,0"
transform="matrix(2.159848,0,0,2.161965,0.208987,0)"
id="path4" />
</g>
<g
aria-label="GRB"
id="text2040"
style="font-size:119.476px;line-height:1.25;letter-spacing:0px;word-spacing:0px;stroke-width:2.9869"
transform="translate(0.6087476,123.52514)">
<path
d="m 106.1024,166.70096 h 33.81171 v 44.20612 q -6.69065,2.27005 -13.97869,3.58428 -7.16856,1.31424 -16.36821,1.31424 -19.116161,0 -29.391097,-11.23074 -10.274936,-11.23075 -10.274936,-32.73643 0,-13.38131 5.137468,-23.17834 5.256944,-9.79703 15.173452,-15.17345 9.916503,-5.37642 24.253623,-5.37642 6.81014,0 13.38132,1.43371 6.57118,1.43371 11.9476,3.82323 l -5.9738,14.4566 q -3.94271,-2.03109 -8.9607,-3.34533 -5.018,-1.31424 -10.51389,-1.31424 -7.88542,0 -13.73974,3.58428 -5.734849,3.58428 -8.960701,10.15546 -3.106376,6.45171 -3.106376,15.29293 0,8.36332 2.270044,14.81502 2.270044,6.45171 7.168559,10.15546 4.898514,3.58428 12.783934,3.58428 3.82323,0 6.4517,-0.35842 2.74795,-0.35843 5.01799,-0.83634 V 181.75494 H 106.1024 Z"
style="font-weight:bold"
id="path4114" />
<path
d="m 185.07592,129.30498 q 17.4435,0 25.68734,6.33223 8.36332,6.33222 8.36332,19.23563 0,5.85432 -2.27004,10.27494 -2.15057,4.30113 -5.85433,7.40751 -3.58428,2.9869 -7.76594,4.89851 l 25.08996,37.15704 h -20.07197 l -20.31092,-32.73642 h -9.67755 v 32.73642 H 160.22491 V 129.30498 Z M 183.76168,144.12 h -5.49589 v 23.05887 h 5.85432 q 8.9607,0 12.78393,-2.9869 3.94271,-2.9869 3.94271,-8.84123 0,-6.09327 -4.18166,-8.60227 Q 192.60291,144.12 183.76168,144.12 Z"
style="font-weight:bold"
id="path4116" />
<path
d="m 239.07905,129.30498 h 26.52368 q 17.08506,0 25.80681,4.77904 8.72175,4.77904 8.72175,16.84611 0,7.28804 -3.46481,12.30603 -3.34532,5.01799 -9.67755,6.09328 v 0.59738 q 4.30113,0.83633 7.76594,2.9869 3.4648,2.15056 5.49589,6.21275 2.0311,4.06218 2.0311,10.75284 0,11.58917 -8.36332,18.16035 -8.36332,6.57118 -22.93939,6.57118 h -31.9001 z m 18.04088,33.8117 h 10.51389 q 7.88541,0 10.87231,-2.50899 3.10638,-2.509 3.10638,-7.28804 0,-4.89851 -3.58428,-7.04908 Q 274.44395,144.12 266.67801,144.12 h -9.55808 z m 0,14.33712 v 22.22254 h 11.82812 q 8.12437,0 11.35022,-3.10638 3.22585,-3.22585 3.22585,-8.48279 0,-4.77904 -3.34532,-7.64647 -3.22586,-2.9869 -11.82813,-2.9869 z"
style="font-weight:bold"
id="path4118" />
</g>
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.579087"
d="M 360.12094,97.854773 340.44101,78.188409 V 29.992942 c 0,-7.464795 -6.10757,-13.572364 -13.57237,-13.572364 h -13.57236 c -7.46481,0 -13.57236,6.107569 -13.57236,13.572364 v 7.505524 L 272.57917,10.380878 c -3.70524,-3.5016689 -7.09833,-7.532663 -13.57235,-7.532663 -6.47402,0 -9.86711,4.0309941 -13.57235,7.532663 l -87.54176,87.473895 c -4.23459,4.411007 -7.4648,7.627657 -7.4648,13.572357 0,7.64124 5.86326,13.57238 13.57236,13.57238 h 13.57236 v 81.43418 c 0,7.46479 6.10757,13.57236 13.57237,13.57236 h 40.71709 v -67.86182 c 0,-7.46481 6.10757,-13.57236 13.57238,-13.57236 h 27.1447 c 7.46481,0 13.57238,6.10755 13.57238,13.57236 v 67.86182 h 40.71709 c 7.4648,0 13.57237,-6.10757 13.57237,-13.57236 v -81.43418 h 13.57236 c 7.7091,0 13.57237,-5.93114 13.57237,-13.57238 0,-5.9447 -3.23022,-9.16135 -7.4648,-13.572357 z m 0,0"
id="path4262" />
<g
id="surface1-3"
transform="matrix(0.3655608,0,0,0.3655608,12.745483,55.814376)">
<path
style="fill:#35d447;fill-opacity:1;fill-rule:nonzero;stroke:#5e5e5e;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1"
d="m 98,49.021438 c 0,27.062291 -21.937708,49 -49,49 -27.062292,0 -49,-21.937709 -49,-49 C 0,21.959146 21.937708,0.0214375 49,0.0214375 c 27.062292,0 49,21.9377085 49,49.0000005 z m 0,0"
transform="scale(3.826531)"
id="path4248" />
<path
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 185.39844,53.390625 c -8.58985,0.132813 -16.76172,3.734375 -22.66016,9.988281 -5.66406,6.015625 -8.76953,14 -8.65234,22.261719 V 152.13281 H 88.527344 c -8.597656,-0.12109 -16.882813,3.23828 -22.960938,9.32031 -9.160156,9.16016 -11.855468,22.96094 -6.804687,34.89454 5.046875,11.93359 16.824219,19.61328 29.777343,19.41796 h 65.546878 v 65.23829 c -0.1875,11.48437 5.83203,22.17968 15.75,27.98046 9.91797,5.80079 22.1914,5.80079 32.10937,0.008 9.91797,-5.79297 15.94531,-16.48828 15.76172,-27.97266 V 215.7658 h 66.1875 c 11.40234,0.0547 21.96094,-5.99609 27.67969,-15.85937 5.71875,-9.86328 5.72265,-22.03516 0.008,-31.89844 -5.71094,-9.86719 -16.26953,-15.92187 -27.67187,-15.875 H 217.70312 V 85.640625 c 0.11719,-8.597656 -3.25,-16.875 -9.33593,-22.953125 -6.08594,-6.074219 -14.3711,-9.425781 -22.96875,-9.296875 z m 0,0"
id="path4250" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.6 KiB

View file

@ -74,7 +74,7 @@
"builtin": "crab_address",
"override": {
"source": {
"geoJson": "http://127.0.0.1:8080/tile_{z}_{x}_{y}.geojson",
"geoJson": "https://raw.githubusercontent.com/pietervdvn/MapComplete-data/main/CRAB_2021_10_26/tile_{z}_{x}_{y}.geojson",
"geoJsonZoomLevel": 18
},
"mapRendering": [
@ -135,7 +135,6 @@
"tagRenderings": [
{
"id": "apply_streetname",
"group": "auto",
"render": "{tag_apply(addr:street=$_name_to_apply ,Apply the CRAB-street onto this building)}",
"mappings": [
{

View file

@ -1,32 +1,150 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<svg xmlns="http://www.w3.org/2000/svg" width="265px" height="374px" viewBox="0 0 265 374" version="1.1">
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,59.607846%,6.666667%);fill-opacity:1;" d="M 205.050781 258.214844 L 205.050781 243.902344 L 187.84375 243.902344 L 187.84375 258.214844 C 187.84375 264.527344 182.699219 269.664062 176.375 269.664062 L 176.183594 269.664062 C 164.929688 269.664062 160.121094 255.714844 169.125 243.441406 C 169.28125 243.234375 169.4375 243.023438 169.589844 242.8125 C 169.609375 242.789062 169.628906 242.761719 169.648438 242.734375 C 177.300781 232.253906 181.917969 218.671875 181.917969 203.835938 C 181.917969 170.640625 158.8125 143.734375 130.304688 143.734375 C 101.800781 143.734375 78.691406 170.640625 78.691406 203.835938 C 78.691406 218.671875 83.3125 232.253906 90.964844 242.734375 L 90.960938 242.734375 C 90.980469 242.761719 91 242.789062 91.019531 242.8125 C 91.175781 243.023438 91.328125 243.234375 91.484375 243.441406 C 100.488281 255.714844 95.679688 269.664062 84.425781 269.664062 L 84.234375 269.664062 C 77.910156 269.664062 72.765625 264.527344 72.765625 258.214844 L 72.765625 243.902344 L 55.558594 243.902344 L 55.558594 258.214844 C 55.558594 273.949219 68.351562 286.757812 84.097656 286.832031 C 82.890625 291.859375 78.359375 295.613281 72.957031 295.613281 L 58.621094 295.613281 L 58.621094 312.785156 L 72.957031 312.785156 C 84.292969 312.785156 94.113281 306.183594 98.761719 296.628906 L 98.761719 306.867188 C 98.761719 313.183594 93.617188 318.316406 87.292969 318.316406 L 72.957031 318.316406 L 72.957031 335.488281 L 87.292969 335.488281 C 98.628906 335.488281 108.449219 328.886719 113.101562 319.335938 L 113.101562 330.339844 C 113.101562 336.652344 107.957031 341.785156 101.632812 341.785156 L 101.632812 358.957031 C 117.4375 358.957031 130.300781 346.125 130.304688 330.347656 C 130.308594 346.125 143.171875 358.957031 158.980469 358.957031 L 158.980469 341.785156 C 152.65625 341.785156 147.507812 336.652344 147.507812 330.339844 L 147.507812 319.335938 C 152.160156 328.886719 161.980469 335.488281 173.316406 335.488281 L 187.652344 335.488281 L 187.652344 318.316406 L 173.316406 318.316406 C 166.992188 318.316406 161.847656 313.183594 161.847656 306.867188 L 161.847656 296.628906 C 166.496094 306.183594 176.316406 312.785156 187.652344 312.785156 L 201.992188 312.785156 L 201.992188 295.613281 L 187.652344 295.613281 C 182.25 295.613281 177.71875 291.859375 176.511719 286.832031 C 192.257812 286.757812 205.050781 273.949219 205.050781 258.214844 Z M 205.050781 258.214844 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 181.921875 203.835938 C 181.921875 218.671875 177.300781 232.25 169.648438 242.734375 C 169.628906 242.761719 169.613281 242.785156 169.59375 242.8125 C 169.4375 243.023438 169.28125 243.234375 169.125 243.441406 C 160.125 255.714844 164.933594 269.660156 176.183594 269.660156 L 176.375 269.660156 C 182.699219 269.660156 187.847656 264.527344 187.847656 258.214844 L 187.847656 243.902344 L 205.050781 243.902344 L 205.050781 258.214844 C 205.050781 273.949219 192.261719 286.757812 176.511719 286.832031 C 177.722656 291.859375 182.25 295.609375 187.65625 295.609375 L 201.992188 295.609375 L 201.992188 312.785156 L 187.65625 312.785156 C 176.316406 312.785156 166.5 306.183594 161.847656 296.628906 L 161.847656 306.867188 C 161.847656 313.179688 166.992188 318.316406 173.316406 318.316406 L 187.65625 318.316406 L 187.65625 335.488281 L 173.316406 335.488281 C 161.980469 335.488281 152.160156 328.886719 147.511719 319.335938 L 147.511719 330.335938 C 147.511719 336.648438 152.65625 341.785156 158.980469 341.785156 L 158.980469 358.957031 C 143.167969 358.957031 130.304688 346.117188 130.304688 330.335938 C 130.304688 330.335938 130.304688 143.730469 130.304688 143.730469 C 158.8125 143.730469 181.921875 170.640625 181.921875 203.835938 Z M 181.921875 203.835938 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.196081%,15.686275%,7.058824%);fill-opacity:1;" d="M 113.101562 235.316406 C 113.101562 238.480469 110.535156 241.042969 107.367188 241.042969 C 104.199219 241.042969 101.632812 238.480469 101.632812 235.316406 C 101.632812 232.15625 104.199219 229.59375 107.367188 229.59375 C 110.535156 229.59375 113.101562 232.15625 113.101562 235.316406 Z M 113.101562 235.316406 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.196081%,15.686275%,7.058824%);fill-opacity:1;" d="M 158.980469 235.316406 C 158.980469 238.480469 156.414062 241.042969 153.246094 241.042969 C 150.078125 241.042969 147.511719 238.480469 147.511719 235.316406 C 147.511719 232.15625 150.078125 229.59375 153.246094 229.59375 C 156.414062 229.59375 158.980469 232.15625 158.980469 235.316406 Z M 158.980469 235.316406 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 183.464844 117.285156 L 213.597656 117.285156 L 213.597656 164.199219 L 183.464844 164.199219 Z M 183.464844 117.285156 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,4.705882%,21.960784%);fill-opacity:1;" d="M 48.75 117.285156 L 78.878906 117.285156 L 78.878906 164.199219 L 48.75 164.199219 Z M 48.75 117.285156 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 131.171875 164.199219 C 118.214844 164.199219 107.671875 153.675781 107.671875 140.742188 C 107.671875 127.808594 118.214844 117.285156 131.171875 117.285156 L 131.171875 100.867188 L 78.878906 100.867188 L 78.878906 218.730469 L 131.171875 218.730469 Z M 131.171875 164.199219 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,4.705882%,21.960784%);fill-opacity:1;" d="M 183.464844 100.871094 L 131.171875 100.871094 L 131.171875 117.289062 C 144.128906 117.289062 154.671875 127.808594 154.671875 140.742188 C 154.671875 153.675781 144.128906 164.199219 131.171875 164.199219 L 131.171875 218.734375 L 183.464844 218.734375 Z M 183.464844 100.871094 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,65.490198%,20%);fill-opacity:1;" d="M 107.671875 140.742188 C 107.671875 153.675781 118.214844 164.199219 131.171875 164.199219 L 131.171875 117.285156 C 118.214844 117.285156 107.671875 127.808594 107.671875 140.742188 Z M 107.671875 140.742188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,59.607846%,6.666667%);fill-opacity:1;" d="M 154.671875 140.742188 C 154.671875 127.808594 144.128906 117.285156 131.171875 117.285156 L 131.171875 164.199219 C 144.128906 164.199219 154.671875 153.675781 154.671875 140.742188 Z M 154.671875 140.742188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(78.039217%,0%,14.117648%);fill-opacity:1;" d="M 131.171875 40.859375 C 105 40.859375 83.257812 60.148438 79.46875 85.234375 L 131.171875 85.234375 Z M 131.171875 40.859375 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(64.705884%,0%,11.764706%);fill-opacity:1;" d="M 182.875 85.234375 C 179.085938 60.148438 157.34375 40.859375 131.171875 40.859375 L 131.171875 85.234375 Z M 182.875 85.234375 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,65.490198%,20%);fill-opacity:1;" d="M 71.046875 85.234375 L 191.296875 85.234375 L 191.296875 100.871094 L 71.046875 100.871094 Z M 71.046875 85.234375 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(64.705884%,0%,11.764706%);fill-opacity:1;" d="M 55.378906 218.734375 L 206.964844 218.734375 L 206.964844 234.371094 L 55.378906 234.371094 Z M 55.378906 218.734375 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 19.171875 95.246094 L 24.898438 98.089844 L 25.816406 93.941406 L 20.09375 91.082031 L 20.863281 87.609375 L 26.585938 90.46875 L 27.546875 86.117188 L 30.902344 86.855469 L 29.753906 92.042969 L 33.828125 94.078125 L 34.816406 89.613281 L 38.199219 90.363281 L 37.03125 95.640625 L 42.726562 98.480469 L 41.957031 101.953125 L 36.261719 99.113281 L 35.34375 103.261719 L 41.039062 106.101562 L 40.261719 109.605469 L 34.566406 106.765625 L 33.597656 111.148438 L 30.210938 110.402344 L 31.351562 105.25 L 27.285156 103.199219 L 26.300781 107.644531 L 22.945312 106.90625 L 24.121094 101.59375 L 18.394531 98.75 Z M 28.976562 95.546875 L 28.058594 99.695312 L 32.128906 101.746094 L 33.046875 97.597656 Z M 28.976562 95.546875 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 25.84375 72.890625 L 28.941406 67.523438 L 36.894531 72.09375 L 41.460938 64.171875 L 33.511719 59.601562 L 36.609375 54.234375 L 57.46875 66.222656 L 54.371094 71.589844 L 45.527344 66.507812 L 40.957031 74.429688 L 49.800781 79.511719 L 46.707031 84.878906 Z M 25.84375 72.890625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 61.464844 50.316406 C 60.605469 51.15625 60.097656 51.9375 59.945312 52.65625 C 59.800781 53.367188 60.003906 54.003906 60.558594 54.574219 C 61.070312 55.097656 61.644531 55.335938 62.285156 55.300781 C 62.921875 55.246094 63.554688 54.917969 64.175781 54.308594 C 64.953125 53.554688 65.335938 52.640625 65.328125 51.570312 C 65.308594 50.492188 64.890625 49.535156 64.074219 48.699219 L 63.613281 48.226562 Z M 66.257812 42.613281 L 73.453125 49.972656 L 69.289062 54.03125 L 67.417969 52.117188 C 67.628906 53.441406 67.566406 54.621094 67.226562 55.65625 C 66.882812 56.683594 66.210938 57.679688 65.21875 58.648438 C 63.882812 59.949219 62.414062 60.625 60.816406 60.664062 C 59.222656 60.691406 57.816406 60.082031 56.597656 58.839844 C 55.117188 57.328125 54.554688 55.710938 54.902344 53.996094 C 55.253906 52.269531 56.546875 50.320312 58.777344 48.144531 L 61.210938 45.773438 L 60.898438 45.453125 C 60.257812 44.800781 59.535156 44.574219 58.726562 44.777344 C 57.914062 44.972656 56.957031 45.601562 55.867188 46.667969 C 54.980469 47.527344 54.246094 48.417969 53.65625 49.335938 C 53.066406 50.253906 52.621094 51.210938 52.3125 52.199219 L 49.238281 49.054688 C 49.910156 47.980469 50.640625 46.953125 51.429688 45.976562 C 52.207031 44.992188 53.042969 44.066406 53.9375 43.195312 C 56.265625 40.925781 58.398438 39.746094 60.328125 39.664062 C 62.261719 39.566406 64.234375 40.550781 66.257812 42.613281 Z M 66.257812 42.613281 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 67.953125 31.992188 L 72.757812 28.796875 L 82.773438 43.792969 L 77.96875 46.988281 Z M 64.054688 26.15625 L 68.855469 22.960938 L 71.46875 26.871094 L 66.664062 30.066406 Z M 64.054688 26.15625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 76.359375 18.617188 L 81.523438 16.039062 L 92.738281 38.4375 L 87.574219 41.015625 Z M 76.359375 18.617188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 91.996094 12.324219 L 98.011719 10.800781 L 100.269531 19.675781 L 109.148438 17.425781 L 106.886719 8.550781 L 112.902344 7.023438 L 118.832031 30.308594 L 112.816406 31.835938 L 110.300781 21.964844 L 101.425781 24.214844 L 103.9375 34.085938 L 97.921875 35.613281 Z M 91.996094 12.324219 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 122.765625 11.949219 L 128.535156 12.078125 L 133.113281 24.414062 L 137.511719 12.277344 L 143.285156 12.40625 L 135.253906 31.960938 C 134.445312 33.949219 133.523438 35.328125 132.484375 36.101562 C 131.457031 36.882812 130.109375 37.253906 128.445312 37.21875 L 125.105469 37.144531 L 125.191406 33.363281 L 126.996094 33.402344 C 127.972656 33.425781 128.6875 33.285156 129.132812 32.984375 C 129.59375 32.683594 129.953125 32.132812 130.21875 31.332031 L 130.390625 30.839844 Z M 122.765625 11.949219 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 162.25 19.523438 L 164.839844 10.21875 L 170.429688 11.769531 L 163.714844 35.898438 L 158.125 34.347656 L 158.824219 31.835938 C 157.769531 32.644531 156.71875 33.160156 155.664062 33.378906 C 154.609375 33.601562 153.476562 33.542969 152.265625 33.207031 C 150.121094 32.613281 148.597656 31.277344 147.691406 29.199219 C 146.789062 27.113281 146.710938 24.730469 147.457031 22.050781 C 148.203125 19.375 149.5 17.378906 151.347656 16.066406 C 153.199219 14.742188 155.199219 14.378906 157.339844 14.972656 C 158.542969 15.304688 159.535156 15.84375 160.324219 16.585938 C 161.121094 17.316406 161.765625 18.296875 162.25 19.523438 Z M 155.453125 29.746094 C 156.644531 30.078125 157.671875 29.894531 158.535156 29.199219 C 159.410156 28.507812 160.074219 27.332031 160.535156 25.679688 C 160.996094 24.023438 161.03125 22.675781 160.640625 21.632812 C 160.261719 20.59375 159.476562 19.90625 158.285156 19.578125 C 157.105469 19.25 156.078125 19.433594 155.203125 20.125 C 154.339844 20.820312 153.679688 21.996094 153.21875 23.648438 C 152.757812 25.304688 152.71875 26.652344 153.097656 27.691406 C 153.488281 28.734375 154.273438 29.421875 155.453125 29.746094 Z M 155.453125 29.746094 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 186.785156 33.097656 C 186.453125 32.652344 186.085938 32.261719 185.691406 31.929688 C 185.3125 31.59375 184.898438 31.304688 184.453125 31.066406 C 183.144531 30.371094 181.910156 30.25 180.75 30.714844 C 179.601562 31.171875 178.609375 32.179688 177.773438 33.742188 L 173.847656 41.0625 L 168.761719 38.347656 L 177.277344 22.453125 L 182.367188 25.171875 L 180.96875 27.78125 C 182.179688 27.089844 183.332031 26.734375 184.429688 26.710938 C 185.542969 26.683594 186.6875 26.988281 187.875 27.621094 C 188.042969 27.710938 188.222656 27.820312 188.414062 27.945312 C 188.605469 28.058594 188.882812 28.242188 189.234375 28.492188 Z M 186.785156 33.097656 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 194.453125 45.316406 C 193.535156 44.539062 192.710938 44.109375 191.980469 44.023438 C 191.257812 43.945312 190.640625 44.210938 190.125 44.816406 C 189.652344 45.371094 189.464844 45.964844 189.5625 46.597656 C 189.675781 47.226562 190.0625 47.824219 190.726562 48.382812 C 191.554688 49.085938 192.5 49.382812 193.566406 49.269531 C 194.640625 49.152344 195.554688 48.648438 196.3125 47.753906 L 196.742188 47.253906 Z M 202.589844 49.355469 L 195.925781 57.195312 L 191.484375 53.4375 L 193.21875 51.398438 C 191.917969 51.734375 190.734375 51.78125 189.671875 51.542969 C 188.613281 51.292969 187.554688 50.722656 186.5 49.828125 C 185.074219 48.621094 184.265625 47.222656 184.074219 45.640625 C 183.898438 44.058594 184.371094 42.601562 185.5 41.277344 C 186.867188 39.667969 188.425781 38.953125 190.171875 39.136719 C 191.925781 39.328125 193.992188 40.429688 196.371094 42.441406 L 198.964844 44.640625 L 199.253906 44.296875 C 199.847656 43.601562 200.003906 42.859375 199.726562 42.074219 C 199.453125 41.285156 198.738281 40.394531 197.574219 39.410156 C 196.628906 38.613281 195.671875 37.964844 194.703125 37.464844 C 193.730469 36.964844 192.738281 36.609375 191.71875 36.394531 L 194.566406 33.046875 C 195.703125 33.613281 196.796875 34.242188 197.84375 34.933594 C 198.902344 35.617188 199.902344 36.359375 200.855469 37.164062 C 203.335938 39.269531 204.710938 41.277344 204.976562 43.1875 C 205.253906 45.097656 204.457031 47.152344 202.589844 49.355469 Z M 202.589844 49.355469 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 219.09375 69.640625 L 210.109375 75.972656 L 206.761719 71.238281 L 213.636719 66.394531 C 214.910156 65.496094 215.765625 64.847656 216.207031 64.445312 C 216.652344 64.054688 216.941406 63.707031 217.070312 63.40625 C 217.246094 63.003906 217.304688 62.585938 217.25 62.15625 C 217.203125 61.714844 217.035156 61.292969 216.75 60.890625 C 216.058594 59.910156 215.128906 59.40625 213.96875 59.382812 C 212.816406 59.355469 211.570312 59.816406 210.226562 60.761719 L 202.96875 65.875 L 199.640625 61.167969 L 214.390625 50.773438 L 217.71875 55.480469 L 215.558594 57.003906 C 216.921875 57.105469 218.085938 57.414062 219.054688 57.925781 C 220.03125 58.433594 220.863281 59.167969 221.542969 60.132812 C 222.746094 61.832031 223.136719 63.488281 222.710938 65.101562 C 222.292969 66.722656 221.085938 68.238281 219.09375 69.640625 Z M 219.09375 69.640625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 236.160156 77.71875 L 231.433594 79.707031 L 233.742188 85.179688 L 229.9375 86.777344 L 227.628906 81.304688 L 220.570312 84.269531 C 219.796875 84.59375 219.335938 84.96875 219.191406 85.390625 C 219.050781 85.808594 219.175781 86.472656 219.558594 87.382812 L 220.707031 90.113281 L 216.90625 91.710938 L 214.984375 87.15625 C 214.101562 85.0625 213.910156 83.390625 214.410156 82.144531 C 214.925781 80.902344 216.230469 79.839844 218.332031 78.960938 L 225.390625 75.992188 L 224.277344 73.355469 L 228.082031 71.753906 L 229.195312 74.394531 L 233.921875 72.410156 Z M 236.160156 77.71875 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,31.37255%,13.725491%);fill-opacity:1;" d="M 241.871094 91.96875 L 243.183594 97.613281 L 234.1875 99.703125 L 227.4375 100.425781 L 226.492188 96.382812 L 232.871094 94.058594 Z M 224.015625 96.113281 L 225.328125 101.757812 L 219.738281 103.054688 L 218.425781 97.410156 Z M 224.015625 96.113281 "/>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="500"
height="500"
viewBox="0 0 500 500"
version="1.1"
id="svg57"
sodipodi:docname="logo.svg"
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs61" />
<sodipodi:namedview
id="namedview59"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
width="374px"
showguides="true"
inkscape:guide-bbox="true"
inkscape:snap-global="false"
inkscape:zoom="1.0553276"
inkscape:cx="228.3651"
inkscape:cy="185.72431"
inkscape:current-layer="svg57">
<sodipodi:guide
position="249.7872,467.6746"
orientation="1,0"
id="guide878" />
</sodipodi:namedview>
<g
id="surface1"
transform="matrix(1.331351,0,0,1.331351,75.278248,8.4548477)">
<path
style="fill:#ff970f;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 205.05078,258.21484 v -14.3125 h -17.20703 v 14.3125 c 0,6.3125 -5.14453,11.44922 -11.46875,11.44922 h -0.19141 c -11.2539,0 -16.0625,-13.94922 -7.05859,-26.22265 0.15625,-0.20704 0.3125,-0.41797 0.46484,-0.62891 0.0195,-0.0234 0.0391,-0.0508 0.0586,-0.0781 7.65234,-10.48046 12.26953,-24.0625 12.26953,-38.89843 0,-33.19532 -23.10547,-60.10157 -51.61328,-60.10157 -28.50391,0 -51.613284,26.90625 -51.613284,60.10157 0,14.83593 4.621094,28.41797 12.273438,38.89843 h -0.0039 c 0.01953,0.0273 0.03906,0.0547 0.05859,0.0781 0.15625,0.21094 0.308594,0.42187 0.464844,0.62891 9.003902,12.27343 4.195313,26.22265 -7.058594,26.22265 h -0.191406 c -6.324219,0 -11.46875,-5.13672 -11.46875,-11.44922 v -14.3125 H 55.558594 v 14.3125 c 0,15.73438 12.792968,28.54297 28.539062,28.61719 -1.207031,5.02734 -5.738281,8.78125 -11.140625,8.78125 H 58.621094 v 17.17188 h 14.335937 c 11.335938,0 21.15625,-6.60157 25.804688,-16.15625 v 10.23828 c 0,6.3164 -5.144531,11.44922 -11.46875,11.44922 H 72.957031 v 17.17187 h 14.335938 c 11.335937,0 21.156251,-6.60156 25.808591,-16.15234 v 11.0039 c 0,6.3125 -5.14453,11.44532 -11.46875,11.44532 v 17.17187 c 15.80469,0 28.66797,-12.83203 28.67188,-28.60937 0.004,15.77734 12.86718,28.60937 28.67578,28.60937 v -17.17187 c -6.32422,0 -11.47266,-5.13282 -11.47266,-11.44532 v -11.0039 c 4.65235,9.55078 14.47266,16.15234 25.8086,16.15234 h 14.33593 v -17.17187 h -14.33593 c -6.32422,0 -11.46875,-5.13282 -11.46875,-11.44922 v -10.23828 c 4.64843,9.55468 14.46875,16.15625 25.80468,16.15625 h 14.33985 v -17.17188 h -14.33985 c -5.40234,0 -9.93359,-3.75391 -11.14062,-8.78125 15.74609,-0.0742 28.53906,-12.88281 28.53906,-28.61719 z m 0,0"
id="path2" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 181.92187,203.83594 c 0,14.83593 -4.62109,28.41406 -12.27343,38.89843 -0.0195,0.0273 -0.0352,0.0508 -0.0547,0.0781 -0.15625,0.21094 -0.3125,0.42187 -0.46875,0.62891 -9,12.27343 -4.19141,26.21875 7.05859,26.21875 h 0.19141 c 6.32422,0 11.47266,-5.13282 11.47266,-11.44532 v -14.3125 h 17.20312 v 14.3125 c 0,15.73438 -12.78906,28.54297 -28.53906,28.61719 1.21094,5.02734 5.73828,8.77734 11.14453,8.77734 h 14.33594 v 17.17579 h -14.33594 c -11.33984,0 -21.15625,-6.60157 -25.80859,-16.15625 v 10.23828 c 0,6.3125 5.14453,11.44922 11.46875,11.44922 h 14.33984 v 17.17187 H 173.3164 c -11.33594,0 -21.15625,-6.60156 -25.80469,-16.15234 v 11 c 0,6.3125 5.14453,11.44922 11.46875,11.44922 V 358.957 c -15.8125,0 -28.67578,-12.83984 -28.67578,-28.62109 0,0 0,-186.60547 0,-186.60547 28.50781,0 51.61718,26.91015 51.61718,60.10547 z m 0,0"
id="path4" />
<path
style="fill:#7f2611;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 113.10156,235.31641 c 0,3.16406 -2.5664,5.72656 -5.73437,5.72656 -3.16797,0 -5.73438,-2.5625 -5.73438,-5.72656 0,-3.16016 2.56641,-5.72266 5.73438,-5.72266 3.16797,0 5.73437,2.5625 5.73437,5.72266 z m 0,0"
id="path6" />
<path
style="fill:#7f2611;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 158.98047,235.31641 c 0,3.16406 -2.56641,5.72656 -5.73438,5.72656 -3.16797,0 -5.73437,-2.5625 -5.73437,-5.72656 0,-3.16016 2.5664,-5.72266 5.73437,-5.72266 3.16797,0 5.73438,2.5625 5.73438,5.72266 z m 0,0"
id="path8" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 183.46484,117.28516 h 30.13282 v 46.91406 h -30.13282 z m 0,0"
id="path10" />
<path
style="fill:#ff0a35;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 48.75,117.28516 h 30.128906 v 46.91406 H 48.75 Z m 0,0"
id="path12" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 131.17187,164.19922 c -12.95703,0 -23.49999,-10.52344 -23.49999,-23.45703 0,-12.9336 10.54296,-23.45703 23.49999,-23.45703 V 100.86719 H 78.878906 v 117.86328 h 52.292964 z m 0,0"
id="path14" />
<path
style="fill:#ff0a35;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 183.46484,100.87109 h -52.29297 v 16.41797 c 12.95704,0 23.5,10.51953 23.5,23.45313 0,12.93359 -10.54296,23.45703 -23.5,23.45703 v 54.53515 h 52.29297 z m 0,0"
id="path16" />
<path
style="fill:#ffa633;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 107.67188,140.74219 c 0,12.93359 10.54296,23.45703 23.49999,23.45703 v -46.91406 c -12.95703,0 -23.49999,10.52343 -23.49999,23.45703 z m 0,0"
id="path18" />
<path
style="fill:#ff970f;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 154.67187,140.74219 c 0,-12.9336 -10.54296,-23.45703 -23.5,-23.45703 v 46.91406 c 12.95704,0 23.5,-10.52344 23.5,-23.45703 z m 0,0"
id="path20" />
<path
style="fill:#c70023;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 131.17187,40.859375 c -26.17187,0 -47.914058,19.289063 -51.70312,44.375 h 51.70312 z m 0,0"
id="path22" />
<path
style="fill:#a3001c;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 182.875,85.234375 c -3.78906,-25.085937 -25.53125,-44.375 -51.70313,-44.375 v 44.375 z m 0,0"
id="path24" />
<path
style="fill:#ffa633;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 71.046875,85.234375 H 191.29687 V 100.87109 H 71.046875 Z m 0,0"
id="path26" />
<path
style="fill:#a3001c;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 55.378906,218.73437 H 206.96484 v 15.63672 H 55.378906 Z m 0,0"
id="path28" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 19.171875,95.246094 5.726563,2.84375 0.917968,-4.148438 -5.722656,-2.859375 0.769531,-3.472656 5.722657,2.859375 0.960937,-4.351562 3.355469,0.738281 -1.148438,5.1875 4.074219,2.035156 0.988281,-4.464844 3.382813,0.75 -1.167969,5.277344 5.695312,2.839844 -0.769531,3.472661 -5.695312,-2.839849 -0.917969,4.148439 5.695312,2.83984 -0.777343,3.50391 -5.695313,-2.83984 -0.96875,4.38281 -3.386718,-0.7461 1.140624,-5.15234 -4.066406,-2.05078 -0.984375,4.44531 -3.355469,-0.73828 1.175782,-5.3125 L 18.394531,98.75 Z m 9.804687,0.300781 -0.917968,4.148437 4.070312,2.050778 0.917969,-4.148434 z m 0,0"
id="path30" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 25.84375,72.890625 3.097656,-5.367187 7.953125,4.570312 4.566407,-7.921875 -7.949219,-4.570313 3.097656,-5.367187 20.859375,11.988281 -3.097656,5.367188 -8.84375,-5.082032 -4.570313,7.921876 8.84375,5.082031 -3.09375,5.367187 z m 0,0"
id="path32" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 61.464844,50.316406 c -0.859375,0.839844 -1.367188,1.621094 -1.519532,2.339844 -0.144531,0.710938 0.05859,1.347656 0.613282,1.917969 0.511718,0.523437 1.085937,0.761719 1.726562,0.726562 0.636719,-0.05469 1.269532,-0.382812 1.890625,-0.992187 0.777344,-0.753906 1.160157,-1.667969 1.152344,-2.738282 -0.01953,-1.078124 -0.4375,-2.035156 -1.253906,-2.871093 l -0.460938,-0.472657 z m 4.792968,-7.703125 7.195313,7.359375 -4.164063,4.058594 -1.871093,-1.914062 c 0.210937,1.324218 0.148437,2.503906 -0.191407,3.539062 -0.34375,1.027344 -1.015624,2.023438 -2.007812,2.992188 -1.335938,1.300781 -2.804688,1.976562 -4.402344,2.015624 -1.59375,0.02734 -3,-0.582031 -4.21875,-1.824218 -1.480468,-1.511719 -2.042968,-3.128906 -1.695312,-4.84375 0.351562,-1.726563 1.644531,-3.675782 3.875,-5.851563 l 2.433594,-2.371093 -0.3125,-0.320313 c -0.640626,-0.652344 -1.363282,-0.878906 -2.171876,-0.675781 -0.8125,0.195312 -1.769531,0.824218 -2.859374,1.890625 -0.886719,0.859375 -1.621094,1.75 -2.210938,2.667969 -0.589844,0.917968 -1.035156,1.875 -1.34375,2.863281 l -3.074219,-3.144531 c 0.671875,-1.074219 1.402344,-2.101563 2.191407,-3.078126 0.777343,-0.984374 1.613281,-1.910156 2.507812,-2.78125 2.328125,-2.269531 4.460938,-3.449218 6.390625,-3.53125 1.933594,-0.09766 3.90625,0.886719 5.929687,2.949219 z m 0,0"
id="path34" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 67.953125,31.992188 4.804687,-3.195313 10.015626,14.996094 -4.804688,3.195312 z m -3.898437,-5.835938 4.800781,-3.195312 2.613281,3.910156 -4.804688,3.195312 z m 0,0"
id="path36" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 76.359375,18.617188 5.164063,-2.578126 11.214843,22.398438 -5.164062,2.578125 z m 0,0"
id="path38" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 91.996094,12.324219 6.015625,-1.523438 2.257811,8.875 8.87891,-2.25 -2.26172,-8.875 6.01562,-1.527343 5.92969,23.285156 -6.01562,1.527344 -2.51563,-9.871094 -8.875,2.25 2.51172,9.871094 -6.015625,1.527343 z m 0,0"
id="path40" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 122.76563,11.949219 5.76953,0.128906 4.57812,12.335937 4.39844,-12.136718 5.77344,0.128906 -8.03125,19.554688 c -0.8086,1.988281 -1.73047,3.367187 -2.76954,4.140624 -1.02734,0.78125 -2.375,1.152344 -4.03906,1.117188 l -3.33984,-0.07422 0.0859,-3.78125 1.80468,0.03906 c 0.97657,0.02344 1.69141,-0.117188 2.13672,-0.417969 0.46094,-0.300781 0.82031,-0.851563 1.08594,-1.652344 l 0.17187,-0.492187 z m 0,0"
id="path42" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 162.25,19.523438 2.58984,-9.304688 5.58985,1.550781 -6.71485,24.128907 -5.58984,-1.550782 0.69922,-2.511718 c -1.05469,0.808593 -2.10547,1.324218 -3.16016,1.542968 -1.05469,0.222656 -2.1875,0.164063 -3.39844,-0.171875 -2.14453,-0.59375 -3.66796,-1.929687 -4.57421,-4.007812 -0.90235,-2.085938 -0.98047,-4.46875 -0.23438,-7.148438 0.74609,-2.675781 2.04297,-4.671875 3.89063,-5.984375 1.85156,-1.324218 3.85156,-1.6875 5.99218,-1.09375 1.20313,0.332032 2.19532,0.871094 2.98438,1.613282 0.79687,0.730468 1.4414,1.710937 1.92578,2.9375 z m -6.79688,10.222656 c 1.19141,0.332031 2.21875,0.148437 3.08204,-0.546875 0.875,-0.691407 1.53906,-1.867188 2,-3.519531 0.46093,-1.65625 0.49609,-3.003907 0.10546,-4.046876 -0.3789,-1.039062 -1.16406,-1.726562 -2.35546,-2.054687 -1.17969,-0.328125 -2.20704,-0.144531 -3.08204,0.546875 -0.86328,0.695312 -1.52343,1.871094 -1.98437,3.523438 -0.46094,1.65625 -0.5,3.003906 -0.12109,4.042968 0.39062,1.042969 1.17578,1.730469 2.35546,2.054688 z m 0,0"
id="path44" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 186.78516,33.097656 c -0.33204,-0.445312 -0.69922,-0.835937 -1.09375,-1.167968 -0.37891,-0.335938 -0.79297,-0.625 -1.23829,-0.863282 -1.30859,-0.695312 -2.54296,-0.816406 -3.70312,-0.351562 -1.14844,0.457031 -2.14063,1.464844 -2.97656,3.027344 l -3.92578,7.320312 -5.08594,-2.714844 8.51562,-15.894531 5.08985,2.71875 -1.39844,2.609375 c 1.21094,-0.691406 2.36328,-1.046875 3.46094,-1.070312 1.11328,-0.02734 2.25781,0.277343 3.44531,0.910156 0.16797,0.08984 0.34766,0.199218 0.53906,0.324218 0.19141,0.113282 0.46875,0.296876 0.82031,0.546876 z m 0,0"
id="path46" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 194.45312,45.316406 c -0.91796,-0.777344 -1.74218,-1.207031 -2.47265,-1.292968 -0.72266,-0.07813 -1.33985,0.1875 -1.85547,0.792968 -0.47266,0.554688 -0.66016,1.148438 -0.5625,1.78125 0.11328,0.628906 0.5,1.226563 1.16406,1.785156 0.82813,0.703126 1.77344,1 2.83985,0.886719 1.07421,-0.117187 1.98828,-0.621093 2.74609,-1.515625 l 0.42969,-0.5 z m 8.13672,4.039063 -6.66406,7.839843 -4.44141,-3.757812 1.73438,-2.039062 c -1.30078,0.335937 -2.48438,0.382812 -3.54688,0.144531 -1.05859,-0.25 -2.11718,-0.820313 -3.17187,-1.714844 -1.42578,-1.207031 -2.23438,-2.605469 -2.42578,-4.1875 -0.17578,-1.582031 0.29687,-3.039063 1.42578,-4.363281 1.36719,-1.609375 2.92578,-2.324219 4.67187,-2.140625 1.75391,0.191406 3.82032,1.292969 6.19922,3.304687 l 2.59375,2.199219 0.28907,-0.34375 c 0.59375,-0.695313 0.75,-1.4375 0.47265,-2.222656 -0.27344,-0.789063 -0.98828,-1.679688 -2.15234,-2.664063 -0.94531,-0.796875 -1.90235,-1.445312 -2.8711,-1.945312 -0.97265,-0.5 -1.96484,-0.855469 -2.98437,-1.070313 l 2.84766,-3.347656 c 1.13671,0.566406 2.23046,1.195313 3.27734,1.886719 1.05859,0.683594 2.05859,1.425781 3.01172,2.230468 2.48047,2.105469 3.85547,4.113282 4.12109,6.023438 0.27735,1.910156 -0.51953,3.964844 -2.38672,6.167969 z m 0,0"
id="path48" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 219.09375,69.640625 -8.98438,6.332031 -3.34765,-4.734375 6.875,-4.84375 c 1.27344,-0.898437 2.1289,-1.546875 2.57031,-1.949219 0.44531,-0.390624 0.73438,-0.738281 0.86328,-1.039062 0.17578,-0.402344 0.23438,-0.820312 0.17969,-1.25 -0.0469,-0.441406 -0.21484,-0.863281 -0.5,-1.265625 -0.69141,-0.980469 -1.62109,-1.484375 -2.78125,-1.507813 -1.15234,-0.02734 -2.39844,0.433594 -3.74219,1.378907 l -7.25781,5.113281 -3.32813,-4.707031 14.75,-10.394531 3.32813,4.707031 -2.16016,1.523437 c 1.36328,0.101563 2.52735,0.410156 3.4961,0.921875 0.97656,0.507813 1.80859,1.242188 2.48828,2.207031 1.20312,1.699219 1.59375,3.355469 1.16797,4.96875 -0.41797,1.621094 -1.625,3.136719 -3.61719,4.539063 z m 0,0"
id="path50" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 236.16016,77.71875 -4.72657,1.988281 2.3086,5.472657 -3.80469,1.597656 -2.30859,-5.472656 -7.0586,2.964843 c -0.77344,0.324219 -1.23437,0.699219 -1.3789,1.121094 -0.14063,0.417969 -0.0156,1.082031 0.36718,1.992187 l 1.14844,2.730469 -3.80078,1.597657 -1.92188,-4.554688 c -0.88281,-2.09375 -1.07421,-3.765625 -0.57421,-5.011719 0.51562,-1.242187 1.82031,-2.304687 3.92187,-3.183593 l 7.05859,-2.96875 -1.11328,-2.636719 3.80469,-1.601563 1.11328,2.640625 4.72656,-1.984375 z m 0,0"
id="path52" />
<path
style="fill:#ff4f21;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 241.87109,91.96875 1.3125,5.644531 -8.99609,2.089844 -6.75,0.722655 -0.94531,-4.042968 6.3789,-2.324218 z m -17.85547,4.144531 1.3125,5.644529 -5.58984,1.29688 -1.3125,-5.644534 z m 0,0"
id="path54" />
</g>
</svg>
</svg>

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -113,7 +113,7 @@
},
{
"if": "theme=buurtnatuur",
"then": "./assets/themes/buurtnatuur/groen_logo.svg"
"then": "./assets/themes/buurtnatuur/logo.svg"
},
{
"if": "theme=cafes_and_pubs",
@ -145,7 +145,7 @@
},
{
"if": "theme=cyclestreets",
"then": "./assets/themes/cyclestreets/F111.svg"
"then": "./assets/themes/cyclestreets/logo.svg"
},
{
"if": "theme=cyclofix",
@ -185,7 +185,7 @@
},
{
"if": "theme=grb",
"then": "./assets/themes/grb_import/housenumber_blank.svg"
"then": "./assets/themes/grb_import/logo.svg"
},
{
"if": "theme=grb_fixme",
@ -229,7 +229,7 @@
},
{
"if": "theme=openwindpowermap",
"then": "./assets/themes/openwindpowermap/wind_turbine.svg"
"then": "./assets/themes/openwindpowermap/logo.svg"
},
{
"if": "theme=parkings",

View file

@ -1,4 +1,14 @@
[
{
"path": "logo.svg",
"license": "CC0",
"authors": [
"Iconathon"
],
"sources": [
"https://commons.wikimedia.org/wiki/File:Wind_Turbine_(2076)_-_The_Noun_Project.svg"
]
},
{
"path": "wind_turbine.svg",
"license": "CC0",

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="646"
height="646"
viewBox="0 0 646 646"
version="1.1"
id="svg13"
sodipodi:docname="logo.svg"
inkscape:version="1.1.1 (1:1.1+202109281949+c3084ef5ed)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs17" />
<sodipodi:namedview
id="namedview15"
pagecolor="#505050"
bordercolor="#eeeeee"
borderopacity="1"
inkscape:pageshadow="0"
inkscape:pageopacity="0"
inkscape:pagecheckerboard="0"
showgrid="false"
width="646px"
inkscape:zoom="0.76526233"
inkscape:cx="96.698866"
inkscape:cy="239.13368"
inkscape:current-layer="svg13" />
<ellipse
style="fill:#ffffff;stroke:#aaaaaa;stroke-width:0.0944882;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000"
id="path856"
cx="320.86572"
cy="321.39789"
rx="322.72971"
ry="321.78659" />
<g
id="surface1"
transform="translate(68.76149,0.53343096)">
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 275.3125,217.89844 c 0,14.70312 -11.92578,26.61718 -26.63672,26.61718 -14.71484,0 -26.64062,-11.91406 -26.64062,-26.61718 0,-14.69922 11.92578,-26.61328 26.64062,-26.61328 14.71094,0 26.63672,11.91406 26.63672,26.61328 z m 0,0"
id="path2" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 294.62109,191.04687 C 367.78906,59.125 380.30469,6.507812 373.27344,2.453125 366.26562,-1.597656 326.92187,35.496094 249.23828,164.67969 c 19.35156,0.20703 36.21094,10.7539 45.38281,26.36718 z m 0,0"
id="path4" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 195.39062,217.89844 c 0,-9.53516 2.54688,-18.47266 6.95313,-26.22266 C 51.757812,194.33984 0,209.80078 0,217.89844 c 0,8.09375 51.75,23.5625 202.33203,26.21875 -4.39453,-7.74219 -6.94141,-16.67578 -6.94141,-26.21875 z m 0,0"
id="path6" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 294.67578,244.67578 c -9.14453,15.63281 -25.98437,26.19922 -45.34766,26.43359 77.63282,129.02735 116.92969,166.09766 123.95704,162.04688 7.01953,-4.05469 -5.47657,-56.64063 -78.60938,-188.48047 z m 0,0"
id="path8" />
<path
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 222.03516,277.37109 v 366.46485 h 53.28515 V 361.94922 C 260.03516,339.375 242.40625,311.57812 222.03516,277.37109 Z m 0,0"
id="path10" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -11,7 +11,7 @@
"hu": "OpenWindPowerMap"
},
"maintainer": "Seppe Santens",
"icon": "./assets/themes/openwindpowermap/wind_turbine.svg",
"icon": "./assets/themes/openwindpowermap/logo.svg",
"description": {
"en": "A map for showing and editing wind turbines.",
"fr": "Une carte indiquant les éoliennes et permettant leur édition.",

View file

@ -13,7 +13,16 @@
"maintainer": "MapComplete",
"icon": "./assets/themes/speelplekken/logo.svg",
"hideFromOverview": true,
"lockLocation": true,
"lockLocation": [
[
4.291534423828125,
51.061249423389796
],
[
4.604301452636719,
51.23978120350654
]
],
"version": "0",
"startLat": 51.17174,
"startLon": 4.449462,

View file

@ -14,10 +14,10 @@
"nl": "<p class='mb-4'><i>Pin je punt</i> is een open toerismekaart waarin wandelaars en fietsers nuttige gegevens verzamelen die handig zijn voor andere wandelaars en fietsers.</p><p>Met de steun van Toerisme Vlaanderen</p><img style='max-height:10rem; float: right; margin-top: 4rem; background: white; width: auto; padding: 0.5rem' src='./assets/themes/toerisme_vlaanderen/logo.png' />"
},
"description": {
"nl": "<p class='mb-4'><i>Pin je punt</i> is een open toerismekaart waarin wandelaars en fietsers nuttige info verzamelen voor andere wandelaars en fietsers.<b>Klik op de exacte locatie op de kaart</b>om een punt toe te voegen of op een bestaand punt om het te wijzigen. We verzamelen:<ol><li>Laadpunten voor e-bikes</li><li>Openbare toiletten</li><li>Zit- en picknickbankjes</li><li>Uitkijktorens</li><li>Fietsherstelpunten</li><li>Fietsverhuurpunten</li><li>Speeltuinen</li></ol></p>"
"nl": "<p class='mb-4'><i>Pin je punt</i> is een open toerismekaart waarin wandelaars en fietsers nuttige info verzamelen voor andere wandelaars en fietsers.</p><p><b>Klik op de exacte locatie op de kaart</b> om een punt toe te voegen of op een bestaand punt om het te wijzigen. <br/> We verzamelen:<ol><li>Laadpunten voor elektrische fietsen</li><li>Openbare toiletten</li><li>Zit- en picknickbankjes</li><li>Uitkijktorens</li><li>Fietsherstelpunten</li><li>Fietsverhuurpunten</li><li>Speeltuinen</li></ol></p>"
},
"descriptionTail": {
"nl": "<p>Een initiatief van de 5 provinciale toeristische organisaties en Toerisme Vlaanderen</p><a href='https://www.toerismevlaanderen.be/pinjepunt'>Meer informatie op toerismevlaaneren.be</a><img style='height:5rem; width: auto;' src='./assets/themes/toerisme_vlaanderen/logo.png' />"
"nl": "<p>Een initiatief van de 5 provinciale toeristische organisaties en Toerisme Vlaanderen</p><p><a href='https://www.toerismevlaanderen.be/pinjepunt'>Meer informatie op toerismevlaanderen.be</a></p><img style='height:5rem; width: auto; margin-top: 1.25rem; margin-bottom: 0.5rem; margin-left: 1.5rem;' src='./assets/themes/toerisme_vlaanderen/logo.png' />"
},
"icon": "./assets/svg/teardrop_with_hole_green.svg",
"startZoom": 8,

View file

@ -892,6 +892,10 @@ video {
margin-top: 0.5rem;
}
.mb-2 {
margin-bottom: 0.5rem;
}
.ml-2 {
margin-left: 0.5rem;
}
@ -932,10 +936,6 @@ video {
margin-right: 0.75rem;
}
.mb-2 {
margin-bottom: 0.5rem;
}
.mb-0 {
margin-bottom: 0px;
}

View file

@ -503,6 +503,7 @@ li::marker {
}
/***************** Info box (box containing features and questions ******************/
input {

View file

@ -1249,7 +1249,7 @@
"name": "Oplaadpunten",
"presets": {
"0": {
"title": "laadpunt met gewone stekker(s) <img src='./assets/layers/charging_station/TypeE.svg' style='width: 2rem; height: 2rem; float: left; background: white; border-radius: 1rem; margin-right: 0.5rem'/> (bedoeld om electrische fietsen op te laden)"
"title": "laadpunt voor elektrische fietsen met gewone stekker(s)"
},
"1": {
"title": "oplaadstation voor elektrische auto's"
@ -1459,7 +1459,7 @@
"then": "<b>Elektrische auto's</b> kunnen hier opgeladen worden"
},
"2": {
"then": "<b>Electrische scooters</b> (snorfiets of bromfiets) kunnen hier opgeladen worden"
"then": "<b>Elektrische scooters</b> (snorfiets of bromfiets) kunnen hier opgeladen worden"
},
"3": {
"then": "<b>Vrachtwagens</b> kunnen hier opgeladen worden"

Some files were not shown because too many files have changed in this diff Show more