Tag:network=Vitaparcours
| Description |
|---|
| Network of fitness trails in Switzerland ("Parcours Vita" in French, "Percorso Vita" in Italian). |
| Group: properties |
| Used on these elements |
| Useful combination |
|
For relations:
|
| Status: in use |
| Tools for this tag |
Tag with key network=* with value "Vitaparcours" for a type of fitness trail in Switzerland. In French, these are generally named "Parcours Vita" or "Piste Vita". There is a final "s" even in singular. In Italian, "Percorso Vita" is used.
The tag is used for trail relations. It could be used for station nodes as well. Trail relations can include ways of the trail, fitness stations, starting point, parking and stop.
Trails are maintained by local organizations, usually the municipality.
The trails are generally signed as "Z ZURICH parcoursvita" in French ("vitaparcours" in German or "percorsovita" in Italian). Signs for trails are provided by "Stiftung VITA Parcours" (for stations, see pdf in German, French or Italian).
See Switzerland/Parcoursvita, DE:Switzerland/Parcoursvita
Usual other tags
name=Parcours Vita de ..name=VitaParcours ..name=Percorso Vita ..route=fitness_trailtype=routeoperator=Commune de ..website=*url=*ref=*start_date=*(year the parcours was set up)fixme=start;stations;trail;parkingnote=incomplet? voir https://osm.wiki/wiki/Switzerland/Parcoursvitamaintenance=*(missing signs, indication for the operator of the parcours)
More at Switzerland/Parcoursvita or Tag:route=fitness_trail
Roles of members, sample tags for these
A trail relation can link to ways of the paths, fitness stations, starting point, parking and end point (stop).
- This could be a station or a board.
- station
leisure=fitness_stationref=number(number of station)sport=fitness(or other}
- More at Tag:leisure=fitness_station.
Trails with a node (such as the start) or a way named "Parcours Vita" (French), "Vitaparcours" (German), etc are easier to find.
Ways/nodes possibly missing in relations
Ways named Vita not in relations
Ways named "vita" not included in relations (could be unrelated)

[out:json][timeout:100];
{{geocodeArea:CH}}->.a;
way(area.a)[name~"[vV]ita"]
[!"social_facility"]
[!"healthcare"]
["amenity"!="pharmacy"]
->.vita_ways;
rel(area.a)["route"="fitness_trail"];
way(r)->.vita_routes;
(.vita_ways; - .vita_routes;);
out body;
>;
out skel qt;
Nodes named Vita not in relations
Nodes named "vita" not included in relations (false positives include pharmacies)

[out:json][timeout:100];
{{geocodeArea:CH}}->.a;
node(area.a)[name~"[vV]ita([^l].*)?$"]
["amenity"!="pharmacy"]
["amenity"!="restaurant"]
["shop"!="hairdresser"]
[!"social_facility"]
[!"healthcare"]
["name"!~"Dolce Vita"]
->.vita_nodes;
rel(area.a)["route"="fitness_trail"];
node(r)->.vita_routes;
(.vita_nodes; - .vita_routes;);
out body;
>;
out skel qt;
fitness_station not in relations
Nodes of fitness_station not in a fitness_trail relation (many false positives)
Sample limits to those with ref=*:

[out:json][timeout:100];
{{geocodeArea:CH}}->.a;
node(area.a)[leisure=fitness_station]
[ref] // limit to those with ref
->.vita_nodes;
rel(area.a)["route"="fitness_trail"];
node(r)->.vita_routes;
(.vita_nodes; - .vita_routes;);
out body;
>;
out skel qt;
Untagged relations
operator Vita not in network
Operator vita without network tag:

[out:json][timeout:25];
{{geocodeArea:CH}}->.searchArea;
relation[operator~"[vV]ita([^l].*)?$"]
[!"social_facility"]
[!"healthcare"]
["network"!="Vitaparcours"]
(area.searchArea);
out geom;
fitness_trail vita not in network
Fitness trail named "Vita" without network tag:

[out:json]
[timeout:50];
{{geocodeArea:CH}}->.searchArea;
(
relation["route"="fitness_trail"]
[name~"[vV]ita"]
["network"!="Vitaparcours"]
(area.searchArea);
);
out geom;
Relations named vita not marked as fitness_trail
Relations named "Vita" not marked as fitness trails (none in May 2026):

[out:json]
[timeout:50];
{{geocodeArea:CH}}->.searchArea;
(
relation[name~"[vV]ita([^l].*)?$"]
["route"!="fitness_trail"]
(area.searchArea);
);
out geom;
Above combined

[out:json]
[timeout:50];
{{geocodeArea:CH}}->.searchArea;
(
relation["operator"~"[vV]ita([^l].*)?$"]
["network"!="Vitaparcours"]
[!"social_facility"]
[!"healthcare"]
(area.searchArea);
relation[name~"[vV]ita([^l].*)?$"]
["network"!="Vitaparcours"]
[!"social_facility"]
[!"healthcare"]
(area.searchArea);
);
out geom;
