Version 9 (modified by 11 years ago) ( diff ) | ,
---|
Languages:
- English
- Nederlands
- русский
- українська
Name templates can be used to define custom formatting for OSM primitives or GPX waypoints (for example in the Relations or the Selection lists).
Where to define
Create a text file as described below. Then refer to it from TaggingPresets.
Configuration file
The configuration file can look like this:
<?xml version="1.0" encoding="UTF-8"?> <presets> <item name="Public transportation" type="relation" name_template="Bus({operator} {ref} ?{'{from} - {via} - {to}' | '{from} - {to}' | '{from}' | '{to}'})" name_template_filter="type=route route=bus"> </item> </presets>
Syntax
{var}
- use value of variable var?{condition1 'value1' | condition2 'value2 | 'value3'}
- use value1 if condition1 is satisfied, value3 is no condition is satisfied. Condition can be either explicit - the same expression as in search or filters is used - or implicit; the value is used when all variables used inside exist!{search_expression 'template'}
- search_expression is evaluated and first matching primitive is used as context for template. Useful for example to get tags of parent relation.
Samples
Template | Tags | Result |
---|---|---|
House number {addr:housenumber} | addr:housenumber=10 | House number 10 |
?{ 'House number {addr:housenumber} at {addr:street}' | 'House number {addr:housenumber}' } | addr:housenumber=10 | House number 10 |
addr:housenumber=10 addr:street=Abbey road | House number 10 at Abbey road | |
?{ admin_level = 2 'NUTS 1' | admin_level = 4 'NUTS 2' | admin_level = 6 'NUTS 3' | 'Admin level {admin_level}'} | admin_level=4 | NUTS 2 |
admin_level=5 | Admin level 5 | |
{admin_level} - {name} !{parent() type=boundary '?{'(part of {admin_level} - {name})' | ''}'} | admin_level=6 name=Vysocina , member of relation admin_level=4 name=Jihovychod | 6 - Vysocina (part of Jihovychod) |
admin_level=2 name=Czech republic (no parents) | 2 - Czech republic |
Available values
For formatting of OSM primitives , the value of any tag can be used. You can use {special:everything}
to see what values are available for your gpx waypoints.
Some additional variables are available via the special prefix:
{special:everything}
prints all available values, available for formatting of both primitives and waypoints.{special:id}
prints the ID of an osm primitive{special:localName}
prints the localized name, that is the value of name:lang for your language if it is available or the value of the name tag if it doesn't.