OpenStreetMap

Transit a Udine

Posted by Cascafico on 6 June 2016 in Italian (Italiano)

Note per la creazione di un feed GTFS che mi servità per “alimentare” un’istanza di Open Trip Planner

Osservo la struttura dei file template da preparare; inizio dalle fermate (stops.txt):

  • stop_id,stop_name,stop_desc,stop_lat,stop_lon,stop_url,location_type,parent_station
  • S1,Mission St. & Silver Ave.,The stop is located at the southwest corner of the intersection.,37.728631,-122.431282,,,

Creo una query overpass per estrarre i dati delle fermate della linea 4 nel formato standard come quello sopra (poi dovrò anche rinominare i nomi dei campi della prima riga).

Ottengo:

  • ref,name,@lat,@lon header che modifico in…
  • stop_id,stop_name,stop_lat,stop_lon
  • 391,Roma / Torino,46.0487494,13.1928968
  • 389,Roma / Novara,46.0474911,13.1972403
  • 391,Roma / Torino,46.0485943,13.1937346
  • 381,Via Lignano / Santa Caterina,46.0457494,13.1972616

Purtroppo ad Udine il riferimento (in OSM tag “ref”) delle fermate ai due lati della strada è unico ed il GTFS non accetta duplicati come il qui sopra “391”.

Soluzione 1: ricorro ad excel “rimuovi duplicati” oppure a linux “sort uniq” e rinuncio alle coordinate di una delle due fermate.

Soluzione 2; ricorro ad un foglio elettronico, ordino per fermata, inserisco una nuova fermata dove applico la formula =SE(B1=B2;CONCATENA(B2;”a”);B2)

in questo modo ottengo, per esempio:

111,111,Via Cividale / Albona,46.0690524,13.2474479 111a,111,Via Cividale / Albona,46.0690138,13.2470564

Poi compilo i file “required”, secondo le direttive

  • agency.txt una o più aziende erogatrici dei dati del servizio

  • stops.txt (vista sopra) fermate, ovvero singole posizioni dove i veicoli prendono e lasciano le persone

  • routes.txt percorsi di transito. un percorso è un gruppo di viaggi elencati ai passeggeri come singolo servizio

  • trips.txt viaggi per ogni percorso. un viaggio è una sequenza di due o più fermate (stops) che avvengono ad una data ora

  • stop_times.txt ora in cui un veicolo arriva e parte da una fermata per ogni viaggio; questa è la compilazione più onerosa, per la quale uso una mappa cliccabile a supporto

  • calendar.txt Date per gli ID del servizio, su orario settimanale. specifica quando un servizio inizia e finisce, come pure i giorni della settimana in cui è attivo

  • TODO come opzione si può creare un shapes.txt, utile a disegnare meglio i “trips”, altrimenti linee rette che collegano le fermate in sequenza; su produce un kml con umap e si elabora con kml2gfs . Non capisco perchè non possano essere disegnati come la parte pedonale, che usa i dati vettoriali OSM (forse son la versione non jar si può configurare)

Finito questo lavorone, si zippa tutto e si lancia nella stessa cartella…

java -Xmx512M -jar otp-0.14.0.jar –build C:\utils\otp –inMemory –securePort 8100

Io ho usato otp-0.14.0.jar, invece del “latest”, perchè quest’ultimo non era compatibile con in mio “vecchio” software Java (JVM)

Login to leave a comment