Skip to content

OJPTripRequest

Concetti importanti

  • Fermate: a questo scopo si possono utilizzare anche i record di dati DiDok.
  • Viaggi: un viaggio è il trasporto di clienti su un percorso specifico, un collegamento orario specifico, con un mezzo di trasporto specifico, a un’ora specifica, in una direzione specifica.
  • Orario: un orario definisce il percorso di un mezzo di trasporto nel trasporto pubblico locale e a lunga distanza e nel trasporto ferroviario di merci. Le informazioni necessarie comprendono il numero del treno, i giorni di servizio, l’itinerario, gli orari di arrivo, partenza e transito alle fermate, nonché le velocità consentite nelle singole sezioni del percorso.
  • Previsioni: le previsioni sono i tempi di percorrenza futuri di un treno, calcolati in base alla posizione attuale del treno. Si tiene conto dei conflitti e delle disposizioni attualmente previste nei successivi x minuti. L’ulteriore andamento della previsione viene calcolato con un metodo meno complesso
  • Mezzi di trasporto (VM): o sinonimo di veicoli (treno, nave, tram, autobus) dei vari modi di trasporto o usato nel senso di “sistema di trasporto” (trasporto pubblico, ecc.).
  • DateTime in Response: è sempre l’ora Zulu (cioè l’ora di Zulu). UTC). Aggiungere due ore in estate e un’ora in inverno.

OJP Trip Service (servizio viaggi)

TripRequest è il servizio centrale. Un viaggio viene pianificato specificando l’origine e la destinazione.

Un viaggio ha diverse “Legs” (sezioni).

API-Explorer

È possibile provare le proprie richieste – link diretto all’API Explorer.

Request

Elemento Cardinalità Descrizione Esempio
RequestTimestamp 1:1 Il timestamp della richiesta. Preferito come Zulu Time.
MessageIdentifier 0:1 L’identificatore del messaggio. Preferibilmente in modo rigorosamente monotono e ascendente.
ojp:Origin 1:* Il punto di partenza della ricerca. OJP offre un numero relativamente elevato di opzioni per la modellazione di questo aspetto.

Maggiori informazioni nella sezione corrispondente.

ojp:Destination 1:* Il punto di arrivo della ricerca. OJP offre un numero relativamente elevato di opzioni per la modellazione di questo aspetto.

Maggiori informazioni nella sezione corrispondente.

ojp:Via 0:1 È supportata una via. Se si devono prendere in considerazione più viali o se si deve calcolare un percorso circolare, il sistema richiedente deve suddividere il percorso stesso in singoli percorsi che vengono ricercati separatamente.

ojp:Params 0:1 Gli altri parametri. Vedere la sezione corrispondente

Struktur Origin/Destination

Elemento Cardinalità Descrizione Esempio
 ojp:PlaceRef/siri:StopPointRef 0:1 Riferimento a StopPoint.

Attenzione: possono verificarsi sia didok che sloid. Maggiori informazioni.

ojp:PlaceRef/ojp:StopPlaceRef 0:1 Riferimento a una fermata

ojp:PlaceRef/ojp:GeoPosition 0:1 Coordinate WGS84

ojp:PlaceRef/ojp:TopographicPlaceRef 0:1 Riferimento a un “luogo”. Difficile, poiché i valori non possono essere indovinati

 

ojp:PlaceRef/ojp:PointOfInterestRef 0:1 Riferimento a un punto di interesse. Il nome della località viene ignorato.

 

ojp:PlaceRef/ojp:AddressRef 0:1 Riferimento a un indirizzo

 

ojp:PlaceRef/ojp:LocationName 1:1 Nome pubblico della località

Attenzione: il nome viene ignorato. È necessario prima effettuare una LocationRequest, che restituisce un Rif o una coordinata!

ojp:DepArrtime 0:1 Tempo di utilizzo.

“Z” è l’ora Zulu (cioè indipendente dai fusi orari). Per Z, è necessario specificare anche i secondi. Se il formato non è corretto o non c’è Z, il sistema tenta di interpretare l’ora come ora locale.

ojp:TimeAllowance 0:1 Invece di DepArrTime. Tempo aggiuntivo richiesto per raggiungere e lasciare il luogo.

IndividualTransportOptions 0:* Opzioni per andare e tornare dalle fermate

Vedi tabella separata

IndividualTransportOptions

Elemento Cardinalità Descrizione Esempio
 ojp:Mode 1:1 Modalità con cui si vuole raggiungere l’Origine. Al momento è supportata solo la camminata.

Altri valori:

  • walk
  • cycle
  • taxi
  • self-drive-car
  • others-drive-car
  • motorcycle
  • truck
ojp:MaxDistance 0:1 Distanza massima in metri. Questo riduce al minimo i percorsi.
ojp:MaxDuration 0:1 Durata massima Controlla il router per quanto riguarda la durata massima. Il formato deve essere rispettato. È una xs:duration.
ojp:MinDistance 0:1 Distanza minima in metri. Questo riduce al minimo i percorsi.

La funzione non è supportata.

ojp:MinDuration 0:1 Durata minima Controlla il router per quanto riguarda la durata minima. Il formato deve essere rispettato. È una xs:duration.

La funzione non è supportata.

ojp:Speed 0:1 Velocità relativa in percentuale. La normalità è il 100%.

Params

Elemento Cardinalità Descrizione Esempio
ojp:PtModeFilter  0:1 Il filtro specifica quali modalità devono essere prese in considerazione.

Gli elenchi di modalità e sottomodalità sono tratti da SIRI e sono elencati nell’XSD.

ojp:LineFilter  0:1 Linee che devono essere incluse o escluse.

 

ojp:OperatorFilter 0:1 Operatori che devono essere inclusi o esclusi.

 

ojp:PrivateModeFilter 0:1 È opportuno utilizzare o meno le modalità private.

La funzione non è disponibile.

n/a
ojp:NoSingleStep 0:1 L’utente non può superare un passo.

La funzione non è disponibile.

 n/a
ojp:NoStairs 0:1 L’utente non può utilizzare le scale.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

n/a
ojp:NoEscalator 0:1 L’utente non può utilizzare una costola rotante.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

n/a
ojp:NoElevator 0:1 L’utente non può utilizzare un ascensore.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

n/a
ojp:NoRamp 0:1 L’utente non può utilizzare una rampa.

La funzione non è disponibile.

n/a
ojp:LevelEntrance 0:1 L’utente ha bisogno di ingressi/transizioni a livello del suolo.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

n/a
ojp:BikeTransport 0:1 L’utente desidera portare con sé una bicicletta.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

n/a
ojp:WalkSpeed 0: Deviazione dalla normale velocità di marcia. Normale 100%.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

n/a
ojp:NumberOfResults 0:1 Numero di risultati.

ojp:NumberOfResultsBefore 0:1 Numero di risultati prima di un determinato tempo (all’arrivo o alla partenza).

Se un client OJP vuole ricevere i prossimi viaggi precedenti oltre a quelli già ricevuti, deve inviare una nuova richiesta con NumberOfResultsBefore=n e Destination.DepArrTime = la prima EndTime trovata nell’ultima risposta meno 1 minuto.

ojp:NumberOfResultsAfter 0:1 Numero di risultati dopo un determinato tempo (all’arrivo o alla partenza).

Se un client OJP vuole ricevere i successivi viaggi oltre a quelli già ricevuti, deve inviare una nuova richiesta con NumberOfResultsAfter=n e Origin.DepArrTime = ultimo StartTime trovato nell’ultima risposta più 1 minuto.

ojp:IgnoreRealtimeData 0:1 I dati in tempo reale devono essere presi in considerazione?

ojp:ImmediateTripStart 0:1 Si deve presumere che l’utente sia già in viaggio?

Non è supportato.

n/a
ojp:TransferLimit 0:1 Numero massimo di trasferimenti

ojp:OptimisationMethod 0:1 Quale metodo di ottimizzazione si deve utilizzare?

fastest (più veloce), least walking (meno a piedi), ecc.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

n/a
ojp:ItModesToCover 0:* Per ogni modalità dell’elenco, oltre ai viaggi intermodali, è necessario individuare un viaggio monomodale separato.

Nuovo supporto per la condivisione delle offerte dall’agosto 2022.

Siehe Kapitel zu Sharing unten.
ojp:IncludeTrackSection 0:1 Deve contenere l’informazione TrackSection Information, che consente una proiezione geografica di una tratta. Vengono emessi TrackStart, TrackEnd e Duration.

Le informazioni devono ovviamente essere disponibili (al momento lo sono un po’ meno).

ojp:IncludeLegProjection 0:1 Il risultato deve contenere la presentazione geografica di una gamba. Questo dato è attualmente soppresso per le tratte del trasporto pubblico,  poiché il percorso non è noto.  Questo verrà fatto anche per le gambe “a piedi”.

 

ojp:IncludeTurnDescription 0:1 Una descrizione dettagliata del percorso per ogni tappa è contenuta nella PathGuidance.

ojp:IncludeAccessibility 0:1 È necessario inserire le informazioni di BehiG.

La funzione è prevista, ma non ancora disponibile nella versione attuale (1.0).

ojp:IncludeIntermediateStops 0:1 Specifica se le fermate devono essere specificate anche durante il viaggio individuale, cioè tutte le fermate intermedie.

ojp:IncludeFare 0:1 È necessario inserire le informazioni sui prezzi.

La funzione non è attualmente supportata.

ojp:Extension 0:1 Utilizzato per alcune modalità di condivisione. Siehe Kapitel zu Sharing unten.

 

Response

Un esempio di risposta completa: tripresponse

Innanzitutto, viene consegnato ojp:TripResponseContext. Contiene i dettagli di tutti i luoghi utilizzati (fermate, città, indirizzi, ecc.) nell’elemento ojp:Places:

In futuro, il contesto potrà includere anche le situazioni (guasti).

Segue 0:* TripResult. Dopo l’intestazione

seguiti da viaggi individuali.

Se non si è calcolato da e verso una fermata, le gambe che portano alla fermata vengono prima.

Altrimenti si utilizza un TimedLeg.

Osservazioni:

  • Purtroppo non è ancora disponibile in tempo reale.  Altrimenti le informazioni pertinenti sarebbero già integrate.
  • L’XXXRef sarà gradualmente adattato ai nuovi identificatori svizzeri.
  • I DestinationStopPointRef non sono ancora ideali.
  • Gli attributi sono formati dagli attributi noti dell’HRDF con A__ . I nomi sono derivati dalle informazioni sul traffico. In alcuni casi, questi corrispondono anche a una combinazione di strutture SIRI. La mappatura viene effettuata in base a Notes2FacilitiesMappingFile. In OJP 1.0 non tutte sono disponibili. In questi casi, non viene eseguita alcuna mappatura.

Alcuni punti sono memorizzati in estensioni:

 

Le gambe di trasferimento vengono utilizzate per cambiare treno:

Saranno necessari miglioramenti nel contesto del BehiG, in particolare per quanto riguarda i trasferimenti.

Informazioni geografiche utilizzate

Il percorso dei sentieri si basa su OpenStreetMap (OSM). Le parti seguenti sono attualmente basate esclusivamente su OSM:

In ContinuousLeg e TransferLeg (TransferMode=walk):

  • TrackSection (senza coordinate, perché la LegProjection può essere configurata solo per tutti i LegType insieme a causa dei percorsi mancanti)
  • TurnAction (azione di svolta)
  • nel TimedLeg
  • LegIntermediate

Importante:

  • IncludeAccessibility è supportato solo da BehiG in poi.

I dati OSM sono disponibili secondo la licenza Open Data Commons Open Database-Lizenz (ODbL).  Le applicazioni che utilizzano OSM devono specificare OSM come fonte.  Il modo in cui questo può essere fatto (a seconda del tipo di applicazione) può essere trovato nelle linee guida OSM per la denominazione.

Richiesta di viaggio OJP con fornitori di condivisione

Nuovo da agosto 2022, il TripRequest OJP può essere utilizzato per calcolare le catene di viaggio con veicoli di condivisione (bicicletta, eScooter, bici a noleggio o car sharer) all’inizio e/o alla fine (primo e/o ultimo miglio).

Indicazioni generali

La funzionalità è per il momento sperimentale.  Questo può comportare catene di viaggio inaspettate o poco pratiche. Il team di SKI+ sarà lieto di ricevere un feedback.

Per quanto possibile, sono stati utilizzati elementi dello standard OJP 1.0.  Tuttavia, alcune estensioni hanno dovuto essere implementate utilizzando delle estensioni.  Si prevedono adeguamenti in relazione alla nuova versione principale OJP 2.0.

I calcoli si basano su questa fonte di dati.

In alternativa alla TripRequest, le posizioni dei veicoli di condivisione possono ora essere richiamate tramite la OJPLocationInformationRequest.

Parametri per il controllo della richiesta di viaggio

La query nella TripRequest è controllata tramite parametri (elementi XML aggiuntivi) in quattro punti possibili:

1. spostamenti monomodali in bicicletta

Secondo lo standard OJP 1.0, <ojp:Params> è completato dall’elemento <ojp:ItModesToCover> con il valore “cycle”:

2. viaggi monomodali con eScooter, bici a noleggio o car sharing

<ojp:Params> è esteso con un’estensione:

con “escooter_rental”, “bicycle_rental” o “car_sharing”, rispettivamente.

3. viaggi intermodali con i mezzi pubblici e con la bicicletta all’inizio e/o alla fine del viaggio

Secondo lo standard OJP 1.0, <ojp:Origin> e/o <ojp:Destination> ricevono l’elemento <ojp:IndividualTransportOptions>. Definisce la modalità (cycle), la durata min./max. in minuti e la distanza min./max. in metri, come mostrato nell’esempio seguente.

4. viaggi intermodali con i mezzi pubblici e con un eScooter, una bicicletta a noleggio o un car sharing all’inizio e/o alla fine del viaggio

<ojp:Params> è esteso con un’estensione, con analoghi <ojp:Origin> e/o <ojp:Destination> e con modalità escooter_rental, bicycle_rental o car_sharing, rispettivamente, come mostrato nell’esempio seguente:

Panoramica delle combinazioni possibili

La tabella seguente mostra quali combinazioni hanno senso per i viaggi monomodali e multimodali. (Nota: il trasporto pubblico viene qui considerato come un’unica modalità, anche se prevede diversi mezzi di trasporto e trasferimenti):

Combinazione Viaggio monomodale Modalità multimodale
— modo all’inizio
Modalità multimodale
— modo alla fine
Modo all’inizio & alla fine
trasporti pubblici default
a piedi ItModesToCover=walk  oder
IndividualTransportOptions=walk (Wanderungen, s. oben)
default default default
con la propria bicicletta ItModesToCover=
cycle
IndividualTransportOptions
… Mode=cycle
con la propria auto ItModesToCover=
self-drive-car
Bike Sharing Ext./ItModesToCover=
bicycle_rental
Ext./Origin/Mode=
bicycle_rental
Ext./Destin./Mode=
bicycle_rental
possibile se Origine e Destino. Modalità uguali
e-Scooter Sharing Ext./ItModesToCover=
escooter_rental
Ext./Origin/Mode=
escooter_rental
Ext./Destin./Mode=
escooter_rental
possibile se Origine e Destino. Modalità uguali
Car Sharing Ext./ItModesToCover=
car_sharing
Ext./Destin./Mode=
car_sharing

 

Ricerca di treni in galleria per auto

Esempio di richiesta di un treno in galleria per auto (ATZ):