{ "id": "transit_stops", "name": { "en": "Transit Stops", "de": "Haltestellen", "da": "Transitstationer", "fr": "Arrêts de transport en commun", "ca": "Parades de transport públic" }, "description": { "en": "Layer showing different types of transit stops.", "de": "Ebene mit verschiedenen Arten von Haltestellen.", "da": "Lag, der viser forskellige typer transitstop." }, "source": { "osmTags": { "or": [ "highway=bus_stop" ] } }, "minzoom": 15, "title": { "render": { "en": "Transit Stop", "de": "Haltestelle", "da": "Transit Stop", "nl": "Bushalte" }, "mappings": [ { "if": "name~*", "then": { "en": "Stop {name}", "de": "Haltestelle {name}", "da": "Stop {name}", "nl": "Halte {name}", "ca": "Parada {name}" } } ] }, "calculatedTags": [ "_routes=feat.memberships()", "_contained_routes_properties=feat.memberships().map(p => {return {id: p.relation.id, name: p.relation.properties.name} }).filter((v,i,a)=>a.findIndex(t=>(JSON.stringify(t) === JSON.stringify(v)))===i)", "_contained_route_ids=JSON.parse(feat.properties._contained_routes_properties ?? '[]').map(p => p.id)", "_contained_routes=JSON.parse(feat.properties._contained_routes_properties ?? '[]').map(p => `