Mappare la rete autobus nel Lazio: Cotral, Astral, UdR

Ciao a tutti!

Contesto: sono un cittadino di Tivoli, nel Lazio e da poco è stato riformato il TPL. In parole povere il Lazio è diviso in “due reti”

  • La rete Metrebus che comprende Atac (i bus di Roma), Cotral (i bus regionali) e Trenitalia. Le zone metrebus vanno dalla A alla F e sono fasce concentriche
  • Le nuovi reti UdR per il TPL. Ogni UdR accorpa più comuni, è gestita da Astral e ogni lotto è operato da un privato diverso. Nel mio caso Tivoli è parte della rete UDR5 - Valle dell’Aniene e l’operatore a cui è stato affidatp si chiama “Bus International Service” (BIS).
  • Alcuni comuni (i capoluoghi di Provincia), mantengono il loro proprio TPL. Non fanno parte della rete Metrebus, con l’eccezione di Roma e Latina (per quest’ultima però bisogna pagare un sovrapprezzo)

Detto questo, al momento (almeno nella mia zona), non sono mappate nè le reti bus, nè le fermate di Cotral e di BIS (eccezion fatta per qualche fermata o linea sporadica). Mi sono preso l’impegno di aggiornate almeno le fermate bus e le linee di BIS che passano per il territorio tiburtino.

Per fare ciò sto usando queste fonti:

  • Il sito ufficale Astral tpl.astralspa
  • L’elenco delle fermate e linee fornito da Astral con google my maps
  • Il file GTFS relativo al servizio bus Cotral che si trova nella sezione “Open data” del sito

In ultima istanza quello che mi piacerebbe accadesse è vedere e linee TPL sulle app di navigazione che usano il OSM, come per esempio Organic maps per cui (da quello che ho capito, sta collegando le liste a GTFS alle fermate di OSM qui gtfs-osm-matcher.organicmaps.app/)

I miei dubbi:

Primo dubbio: quante fermate

Ho molti dubbi per cui penso sia utile confrontarmi e chiedere l’aiuto di voi più esperti per fare le cose nella maniera corretta e più omogenea possibile nel Lazio. Per esempio

  • Nel sito Astral, il nome ufficiale delle fermate di BIS/UdR che coincidono con Cotral è lo stesso di Cotral (addirittura viene riportato nel nome della fermata il codice della fermata Cotral, come si vede nell’immagine).

    Tuttavia sull’app di Astral vengono messi due “punti” diversi nelle mappe, con lo stesso nome

    Questo vuol dire che dovrei mettere due punti diversi su OSM?

    Però sulla wiki Buses - OpenStreetMap Wiki , per esempio nel campo “name=” viene riportato “When different operators have different names, [name:operator:_operator name_] should be used for each operator.” Quindi esiste la possibilità di mettere che una fermata è usata da più operatori?

    Sulla wiki key:operator Key:operator - OpenStreetMap Wiki è anche riportato Public transport stations, stops, routes and other amenities (such as ticket-vending machines) can use the operator=* key. This tag is recommended on route relations, and optional on other objects. Public transport stops can have multiple operators, especially in areas near borders. Use the semi-colon value separator, e.g. operator=[De Lijn;TEC].

Secondo dubbio: il campo network

Come si fa a fare una cosa analoga per i campi “network”, “network:wikidata” e “network:wikipedia” come fatto per questa fermata Atac: Node: ‪Tor Vergata/Aula Magna‬ (‪1270125378‬) | OpenStreetMap . Oltretutto appare “Il campo rete è bloccato perché esiste un tag Wikidata”, come lo creo anche per l’UdR? Questo implica appunto che non si può fare una fermata che serve più operatori e associare il campo a un wikidata? Per esempio fare operator=Cotral;Bus International Service funzionerebbe?

In conclusione, forse la cosa migliore è fare due fermate separate, ma vicinissime nella mappa?

  1. Una per Cotral con Operator=Cotral
  2. Una per BIS/Udr con Operator = Bus Internatioanl Service

Per Cotral, Tivoli si trova nella zona B del sistema Metrebus.
Per BIS, Tivoli si trova nella UDR5 - VALLE DELL’ANIENE del sistema UdR (o Metrebus Plus - non vi fare confondere dal nome “Plus”, non include e non coincide con il metrebus)

Quanto dello specifico bisogna mettere i network? Ad esempio, quale delle due opzioni è la più corretta?

  • Metrebus e UdR
  • Metrebus Zona B e UDR5 - VALLE DELL’ANIENE

Ok, esplorando in giro penso credo che la regola sia: se l’area di attesa fisica (il marciapiede, la pensilina o lo slargo) è la stessa, si deve creare sempre e solo un unico nodo sulla mappa e non duplicare mai il nodo fisico

Per mantenere il database pulito, non generare conflitti nell’editor ed evitare duplicati fisici, sto adottando questo schema:

  • Unico nodo fisico: Se l’area di attesa è la stessa, utilizzo un solo nodo highway=bus_stop e public_transport=platform. Nessun punto sdoppiato.

  • Tagging multiplo con punto e virgola: Mantengo un ordine rigoroso nelle liste separate da punto e virgola (Cotral al primo posto, BIS al secondo):

    • operator=Cotral;Bus International Service

    • operator:short=Cotral;BIS

    • operator:wikidata=Q2989759;[eventuale codice BIS]

    • network=Metrebus;Unità di Rete (ho deciso di mantenere le reti anche sul nodo fisico della fermata per maggiore completezza descrittiva).

  • Per gestire i conflitti tra i database dei due gestori, uso i suffissi (namespace):

  • name:operator:Cotral=* e name:operator:Bus International Service=* (se i nomi differiscono).

  • ref:Cotral=[codice_cotral] e ref:Bus International Service=[codice_bis].

  • Anche se non è strettamente necessario (credo), sto lasciando come ulteriore supporto anche il tag generico: ref=[codice_cotral];[codice_bis].

Lo step successivo è inserire i tag network e network:wikidata univoci all’interno delle rispettive relazioni di linea (route)

In questo modo credo che i dati siano perfettamente digeribili anche dai tool esterni di navigazione (es. Organic Maps) e dai matcher GTFS-OSM

Fatemi sapere che ne pensate. Un esempio potrebbe essere

highway = bus_stop
public_transport = platform
name = Tivoli | Piazza Garibaldi
name:operator:Cotral = Tivoli | Piazza Garibaldi # f12345
name:operator:Bus International Service = Tivoli | Piazza Garibaldi # f12345
operator = Cotral;Bus International Service
operator:short = Cotral;BIS
ref:Cotral = 12345
operator:wikidata=Q2989759
network=Metrebus;Unità di Rete

Sulla stessa fermata (in questo caso ho inventato i nomi e i numeri)

Qualche mese fa sul gruppo Telegram si diceva invece di usare nodi sovrapposti.