forked from MapComplete/MapComplete
Merge branch 'develop' of github.com:pietervdvn/MapComplete into develop
This commit is contained in:
commit
21b3990723
3 changed files with 17 additions and 16 deletions
|
@ -15,7 +15,7 @@ Requirements
|
||||||
Before you start, you should have the following qualifications:
|
Before you start, you should have the following qualifications:
|
||||||
|
|
||||||
- You are a longtime contributor and do know the OpenStreetMap tagging scheme very well.
|
- You are a longtime contributor and do know the OpenStreetMap tagging scheme very well.
|
||||||
- You are not afraid of editing a JSON file. If you don't know what a JSON-file is, [read this intro](https://www.w3schools.com/whatis/whatis_json.asp)
|
- You are not afraid of editing a JSON file. If you don't know what a JSON file is, [read this intro](https://www.w3schools.com/whatis/whatis_json.asp)
|
||||||
- Your theme will add well-understood tags (aka: the tags have a wiki page, are not controversial and are objective)
|
- Your theme will add well-understood tags (aka: the tags have a wiki page, are not controversial and are objective)
|
||||||
- You are in contact with your local OpenStreetMap community and do know some other members to discuss tagging and to
|
- You are in contact with your local OpenStreetMap community and do know some other members to discuss tagging and to
|
||||||
help testing
|
help testing
|
||||||
|
@ -106,13 +106,13 @@ It asks some relevant questions, with the most important and easiests questions
|
||||||
#### Don't: use a layer to filter
|
#### Don't: use a layer to filter
|
||||||
|
|
||||||
**Do not define a layer which filters on an attribute**, such as <del>all restaurants with a vegetarian diet</del>, <del>all shops which accept bitcoin</del>.
|
**Do not define a layer which filters on an attribute**, such as <del>all restaurants with a vegetarian diet</del>, <del>all shops which accept bitcoin</del>.
|
||||||
This makes _addition_ of new points difficult as information might not yet be known. Conser the following situation:
|
This makes _addition_ of new points difficult as information might not yet be known. Consider the following situation:
|
||||||
|
|
||||||
1. A theme defines a layer `vegetarian restaurants`, which matches `amenity=restaurant` & `diet:vegetarian=yes`.
|
1. A theme defines a layer `vegetarian restaurants`, which matches `amenity=restaurant` & `diet:vegetarian=yes`.
|
||||||
2. An object exists in OSM with `amenity=restaurant`;`name=Fancy Food`;`diet:vegan=yes`;`phone=...`;...
|
2. An object exists in OSM with `amenity=restaurant`;`name=Fancy Food`;`diet:vegan=yes`;`phone=...`;...
|
||||||
3. A contributor visits the themes and will notice that _Fancy Food_ is missing
|
3. A contributor visits the themes and will notice that _Fancy Food_ is missing
|
||||||
4. The contributor will add _Fancy Food_
|
4. The contributor will add _Fancy Food_
|
||||||
5. There are now **two** Fancy Food objects in OSM.
|
5. There are now **two** _Fancy Food_ objects in OSM.
|
||||||
|
|
||||||
Instead, use the filter functionality instead. This can be used from the layer to hide some objects based on their properties.
|
Instead, use the filter functionality instead. This can be used from the layer to hide some objects based on their properties.
|
||||||
When the contributor wants to add a new point, they'll be notified that some features might be hidden and only be allowed to add a new point when the points are shown.
|
When the contributor wants to add a new point, they'll be notified that some features might be hidden and only be allowed to add a new point when the points are shown.
|
||||||
|
@ -230,7 +230,7 @@ The entire tagRendering will thus be:
|
||||||
The template
|
The template
|
||||||
------------
|
------------
|
||||||
|
|
||||||
[A basic template is available here](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/theme-template.json)
|
[A basic template is available here](https://github.com/pietervdvn/MapComplete/blob/develop/Docs/theme-template.json).
|
||||||
|
|
||||||
The custom theme generator
|
The custom theme generator
|
||||||
--------------------------
|
--------------------------
|
||||||
|
@ -258,7 +258,7 @@ If you have your JSON file, there are three ways to distribute your theme:
|
||||||
up `https://mapcomplete.osm.be?userlayout=<url-to-the-raw.json>`
|
up `https://mapcomplete.osm.be?userlayout=<url-to-the-raw.json>`
|
||||||
- Ask to have your theme included into the official MapComplete - requirements below
|
- Ask to have your theme included into the official MapComplete - requirements below
|
||||||
|
|
||||||
### Getting your theme included into the official mapcomplete
|
### Getting your theme included into the official MapComplete
|
||||||
|
|
||||||
Did you make an awesome theme that you want to share with the OpenStreetMap community? Have it included in the main
|
Did you make an awesome theme that you want to share with the OpenStreetMap community? Have it included in the main
|
||||||
application. This makes sure that:
|
application. This makes sure that:
|
||||||
|
@ -314,15 +314,15 @@ There are three important levels in the JSON file:
|
||||||
- A `layer` describes a layer. It contains the `name`, `icon`, `tags of objects to download from overpass`, and
|
- A `layer` describes a layer. It contains the `name`, `icon`, `tags of objects to download from overpass`, and
|
||||||
especially the `icon` and a way to dynamically render tags and ask questions. A lot of those fields (`icon`
|
especially the `icon` and a way to dynamically render tags and ask questions. A lot of those fields (`icon`
|
||||||
, `title`, ...) are actually a `TagRendering`.
|
, `title`, ...) are actually a `TagRendering`.
|
||||||
- A `TagRendering` is an object describing a relationship between what should be shown on screen and the OSM-tagging. It
|
- A `TagRendering` is an object describing a relationship between what should be shown on screen and the OSM tagging. It
|
||||||
works in two ways: if the correct tag is known, the appropriate text will be shown. If the tag is missing (and a
|
works in two ways: if the correct tag is known, the appropriate text will be shown. If the tag is missing (and a
|
||||||
question is defined), the question will be shown.
|
question is defined), the question will be shown.
|
||||||
|
|
||||||
Every field is documented in the source code itself - you can find them here:
|
Every field is documented in the source code itself - you can find them here:
|
||||||
|
|
||||||
- [The top level `LayoutConfig`](https://github.com/pietervdvn/MapComplete/blob/master/Models/ThemeConfig/Json/LayoutConfigJson.ts)
|
- [The top level `LayoutConfig`](/Models/ThemeConfig/Json/LayoutConfigJson.ts)
|
||||||
- [A layer object `LayerConfig`](https://github.com/pietervdvn/MapComplete/blob/master/Models/ThemeConfig/Json/LayerConfigJson.ts)
|
- [A layer object `LayerConfig`](/Models/ThemeConfig/Json/LayerConfigJson.ts)
|
||||||
- [The `TagRendering`](https://github.com/pietervdvn/MapComplete/blob/master/Models/ThemeConfig/Json/TagRenderingConfigJson.ts)
|
- [The `TagRendering`](/Models/ThemeConfig/Json/TagRenderingConfigJson.ts)
|
||||||
- At last, the exact semantics of tags are documented [here](Tags_format.md)
|
- At last, the exact semantics of tags are documented [here](Tags_format.md)
|
||||||
|
|
||||||
A JSON schema file is available in `Docs/Schemas` - use `LayoutConfig.schema.json` to validate a theme file.
|
A JSON schema file is available in `Docs/Schemas` - use `LayoutConfig.schema.json` to validate a theme file.
|
||||||
|
@ -334,7 +334,7 @@ in. [An overview of all these metatags is available here](CalculatedTags.md).
|
||||||
|
|
||||||
### TagRendering groups
|
### TagRendering groups
|
||||||
|
|
||||||
A `tagRendering` can have a `group`-attribute, which acts as a tag. All `tagRendering`s with the same group name will be
|
A `tagRendering` can have a `group` attribute, which acts as a tag. All `tagRendering`s with the same group name will be
|
||||||
rendered together, in the same order as they were defined.
|
rendered together, in the same order as they were defined.
|
||||||
|
|
||||||
For example, if the defined `tagRendering`s have groups `A A B A A B B B`, the group order is `A B` and first all
|
For example, if the defined `tagRendering`s have groups `A A B A A B B B`, the group order is `A B` and first all
|
||||||
|
@ -411,7 +411,7 @@ Some pitfalls
|
||||||
### Not publishing
|
### Not publishing
|
||||||
|
|
||||||
Not publishing because 'it is not good enough'. _Share your theme, even if it is still not great, let the community help
|
Not publishing because 'it is not good enough'. _Share your theme, even if it is still not great, let the community help
|
||||||
it improve_
|
improve it._
|
||||||
|
|
||||||
### Thinking in terms of a question
|
### Thinking in terms of a question
|
||||||
|
|
||||||
|
@ -423,7 +423,7 @@ The correct way to handle this is to use _This bench does have a backrest_ and _
|
||||||
answers.
|
answers.
|
||||||
|
|
||||||
One has to think first in terms of _what is shown to the user if it is known_, only then in terms of _what is the
|
One has to think first in terms of _what is shown to the user if it is known_, only then in terms of _what is the
|
||||||
question I want to ask_
|
question I want to ask_.
|
||||||
|
|
||||||
### Forgetting the casual/noob mapper
|
### Forgetting the casual/noob mapper
|
||||||
|
|
||||||
|
@ -437,7 +437,7 @@ In order to maximize contribution:
|
||||||
4. Make sure the icons (on the map and in the questions) are big enough, clear enough and contrast enough with the
|
4. Make sure the icons (on the map and in the questions) are big enough, clear enough and contrast enough with the
|
||||||
background map
|
background map
|
||||||
|
|
||||||
### Using layers to distinguish on attributes
|
### Using layers to distinguish different object subtypes by attributes
|
||||||
|
|
||||||
One layer should portray one kind of physical object, e.g. "benches" or "restaurants". It should contain all of them,
|
One layer should portray one kind of physical object, e.g. "benches" or "restaurants". It should contain all of them,
|
||||||
disregarding other properties.
|
disregarding other properties.
|
||||||
|
@ -459,6 +459,6 @@ through!
|
||||||
Some new contributors might add a POI to indicate something that resembles it, but quite isn't.
|
Some new contributors might add a POI to indicate something that resembles it, but quite isn't.
|
||||||
|
|
||||||
For example, if they are only offered a layer with public bookcases, they might map their local library with a public bookcase.
|
For example, if they are only offered a layer with public bookcases, they might map their local library with a public bookcase.
|
||||||
The perfect solution for this is to provide both the library-layer and public bookcases layer - but this requires having both layers.
|
The perfect solution for this is to provide both the library layer and public bookcases layer - but this requires having both layers.
|
||||||
|
|
||||||
A good solution is to clearly explain what a certain feature is and what it is not.
|
A good solution is to clearly explain what a certain feature is and what it is not.
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
["file-overview.json","missing_editor.json","stats.2020-10.json","stats.2020-11.json","stats.2020-12.json","stats.2020-5.json","stats.2020-6.json","stats.2020-7.json","stats.2020-8.json","stats.2020-9.json","stats.2021-1.json","stats.2021-10.json","stats.2021-11.json","stats.2021-12.json","stats.2021-2.json","stats.2021-3.json","stats.2021-4.json","stats.2021-5.json","stats.2021-6.json","stats.2021-7.json","stats.2021-8.json","stats.2021-9.json","stats.2022-1.json","stats.2022-2.json","stats.2022-3.json","stats.2022-4.json","stats.2022-5.json","stats.2022-6.json","stats.2022-7.json","stats.2022-8.json","stats.2022-9-01.day.json","stats.2022-9-02.day.json","stats.2022-9-03.day.json","stats.2022-9-04.day.json","stats.2022-9-05.day.json","stats.2022-9-06.day.json","stats.2022-9-07.day.json","stats.2022-9-08.day.json","stats.2022-9-09.day.json","stats.2022-9-10.day.json","stats.2022-9-11.day.json","stats.2022-9-12.day.json","stats.2022-9-13.day.json","stats.2022-9-14.day.json"]
|
["file-overview.json","missing_editor.json","stats.2020-10.json","stats.2020-11.json","stats.2020-12.json","stats.2020-5.json","stats.2020-6.json","stats.2020-7.json","stats.2020-8.json","stats.2020-9.json","stats.2021-1.json","stats.2021-10.json","stats.2021-11.json","stats.2021-12.json","stats.2021-2.json","stats.2021-3.json","stats.2021-4.json","stats.2021-5.json","stats.2021-6.json","stats.2021-7.json","stats.2021-8.json","stats.2021-9.json","stats.2022-1.json","stats.2022-2.json","stats.2022-3.json","stats.2022-4.json","stats.2022-5.json","stats.2022-6.json","stats.2022-7.json","stats.2022-8.json","stats.2022-9-01.day.json","stats.2022-9-02.day.json","stats.2022-9-03.day.json","stats.2022-9-04.day.json","stats.2022-9-05.day.json","stats.2022-9-06.day.json","stats.2022-9-07.day.json","stats.2022-9-08.day.json","stats.2022-9-09.day.json","stats.2022-9-10.day.json","stats.2022-9-11.day.json","stats.2022-9-12.day.json","stats.2022-9-13.day.json","stats.2022-9-14.day.json","stats.2022-9-15.day.json"]
|
1
Docs/Tools/stats/stats.2022-9-15.day.json
Normal file
1
Docs/Tools/stats/stats.2022-9-15.day.json
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue