wiki:NameTemplate

Version 9 (modified by jttt, 11 years ago) ( diff )

formatting

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.
Note: See TracWiki for help on using the wiki.