forked from MapComplete/MapComplete
Add 'and' and 'or' to docs
This commit is contained in:
parent
2731c64856
commit
b1f902fc94
1 changed files with 26 additions and 3 deletions
|
@ -6,6 +6,12 @@ This document gives an overview of what every expression means and how it behave
|
||||||
|
|
||||||
If the schema-files note a type `string | AndOrTagConfigJson`, you can use one of these values.
|
If the schema-files note a type `string | AndOrTagConfigJson`, you can use one of these values.
|
||||||
|
|
||||||
|
In some cases, not every type of tags-filter can be used. For example, _rendering_ an option with a regex is
|
||||||
|
fine (`"if": "brand~[Bb]randname", "then":" The brand is Brandname"`); but this regex can not be used to write a value
|
||||||
|
into the database. The theme loader will however refuse to work with such inconsistencies and notify you of this while
|
||||||
|
you are building your theme.
|
||||||
|
|
||||||
|
|
||||||
Strict equality
|
Strict equality
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
@ -53,7 +59,8 @@ special circumstances (e.g. `surface_area=42 m2` or `length=100 feet`), this wil
|
||||||
values (`surface=422` or if a length in meters is compared to). However, this can be partially alleviated by using '
|
values (`surface=422` or if a length in meters is compared to). However, this can be partially alleviated by using '
|
||||||
Units' to rewrite to a default format.
|
Units' to rewrite to a default format.
|
||||||
|
|
||||||
Dates can be compared with the same expression: `somekey<2022-06-22` will match if `somekey` is a date and is smaller then 22nd june '22.
|
Dates can be compared with the same expression: `somekey<2022-06-22` will match if `somekey` is a date and is smaller
|
||||||
|
then 22nd june '22.
|
||||||
|
|
||||||
Regex equals
|
Regex equals
|
||||||
------------
|
------------
|
||||||
|
@ -61,8 +68,8 @@ Regex equals
|
||||||
A tag can also be tested against a regex with `key~regex`. Note that this regex __must match__ the entire value. If the
|
A tag can also be tested against a regex with `key~regex`. Note that this regex __must match__ the entire value. If the
|
||||||
value is allowed to appear anywhere as substring, use `key~.*regex.*`
|
value is allowed to appear anywhere as substring, use `key~.*regex.*`
|
||||||
|
|
||||||
Regexes will match the newline character with `.` too - the `s`-flag is enabled by default.
|
Regexes will match the newline character with `.` too - the `s`-flag is enabled by default. To enable case invariant
|
||||||
To enable case invariant matching, use `key~i~regex`
|
matching, use `key~i~regex`
|
||||||
|
|
||||||
Equivalently, `key!~regex` can be used if you _don't_ want to match the regex in order to appear.
|
Equivalently, `key!~regex` can be used if you _don't_ want to match the regex in order to appear.
|
||||||
|
|
||||||
|
@ -101,3 +108,19 @@ To mitigate this, use:
|
||||||
|
|
||||||
One can use `key!:=prefix-{other_key}-postfix` as well, to match if `key` is _not_ the same
|
One can use `key!:=prefix-{other_key}-postfix` as well, to match if `key` is _not_ the same
|
||||||
as `prefix-{other_key}-postfix` (with `other_key` substituted by the value)
|
as `prefix-{other_key}-postfix` (with `other_key` substituted by the value)
|
||||||
|
|
||||||
|
## Logical operators
|
||||||
|
|
||||||
|
One can combine multiple tags by using `and` or `or`, e.g.:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"osmTags": {
|
||||||
|
"or": [
|
||||||
|
"amenity=school",
|
||||||
|
"amenity=kindergarten"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue