Skip to content

OJPLocationInformationRequest

Location Information Service (servizio informazioni sulla posizione)

Il servizio di localizzazione fornisce varie località/Location in risposta a una richiesta. I principali dati di input sono

Der Location Service liefert verschiedene Location als Antwort auf eine Anfrage. Wesentliche Inputdaten sind:

  • Input testuale
  • Tipi di oggetti consentiti
  • Restrizioni geografiche/ ponderazione
  • Altre limitazioni

L’output è un elenco di oggetti con nome, posizione geografica, attributi e probabilità.

Se la LocationInformationRequest viene utilizzata senza LocationName, ma con GeoPosition, Circle o Rectangle, è supportato solo il type=”stop”. Inoltre GeoPosition con type=”address” restituisce esattamente un indirizzo con HausnummerRequest (NumeroCivicoRequest).

API-Explorer

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

Request

Elemento Cardinalità Descrizione Esempio
RequestTimestamp 1:1  Timestamp (data e ora) della richiesta. Preferibilmente come Zulu Time
MessageIdentifier 0:1 Cancella l’id del messaggio. Saremmo lieti se questi fossero strettamente monotonici.
ojp:InitialInput/ojp:LocationName 0:1 Il nome dell’oggetto. Se non viene specificato nulla, la ricerca si basa sugli altri criteri.

Se sono comuni diverse denominazioni, è possibile cercarle tutte. Ad esempio, funzionano sia la ricerca di “Basilea” che quella di “Bâle CFF”. Se le fermate sono indicate in diverse lingue, funziona anche se si cerca solo in una lingua. Ad esempio, “Biel/Bienne” si trova sia con la richiesta “Biel” che con “Bienne”.

ojp:InitialInput/ojp:GeoPosition 0:1 La posizione ricercata con le geocoordinate (WGS84)

ojp:InitialInput/GeoRestriction/Circle 0:1 Limitazione della ricerca a un determinato raggio. Ad esempio, selezionando correttamente il type/tipo, è possibile specificare tutte le fermate entro un raggio. Coordinate WGS84.

ojp:InitialInput/GeoRestriction/Rectangle 0:1 Limitazione della ricerca a un rettangolo specifico. Coordinate WGS84.

ojp:/ojp:PlaceRef 0:1 Riferimento a un luogo. vedi tabella separata
ojp:Restrictions 0:1 Le restrizioni da utilizzare vedi tabella separata

Restrictions (limitazioni)

Elemento Cardinalità Descrizione Esempio
ojp:Type 0:* Tipo, cosa si sta cercando in termini di oggetti da restituire.

Esistono i seguenti tipi:

  • stop
  • address (indirizzo)
  • poi
  • coord
  • topographicPlace (luogo topografico)

I principali utilizzi sono stop e coord. I poi diventeranno sempre più importanti nel tempo (soprattutto per i parcheggi e i condivisori).

I veicoli in condivisione (e-scooter, biciclette, automobili) e le stazioni di ricarica possono ora essere richiamati come POI (vedere ojp:PointOfInterestFilter di seguito).

Per l’indirizzo (address), il nome esatto dell’ubicazione (LocationName) deve essere prima determinato utilizzando l’input generale. Poi si deve cercare esattamente con questo nome e con il tipo “address”. Solo allora verrà restituito il codice dell’indirizzo. Tuttavia, si tratta di un caso particolare che normalmente non dovrebbe essere utilizzato. Né il codice dell’indirizzo né TopographicPlaceRef hanno alcun significato al di fuori delle ricerche in OJP.

ojp:Usage 0:* Specifica per cosa viene utilizzato il luogo (Place).

Sono disponibili i seguenti valori:

  • origin (origine)
  • via
  • destination (destionazione)

La funzione non è supportata.

n/a
ojp:PtModes  0:1 Contiene un elemento booleano di esclusione (Exclude). Se vero (true), le modalità sono escluse, altrimenti sono incluse. La gestione è descritta in una sezione separata.

Vedere anche la sezione PtMode.

 

ojp:OperatorFilter 0:1 Un filtro dopo l’operatore.

La funzione non è supportata.

n/a
ojp:TopographicPlaceRef 0:1 Utilizzato per filtrare in base alla posizione. Se viene impostato almeno un riferimento, vengono ricercati solo gli oggetti all’interno delle posizioni rilevanti.

ojp:PointOfInterestFilter 0:1 Novità (da agosto 2022): i veicoli in condivisione (e-scooter, biciclette, auto) e le stazioni di ricarica possono essere richiamati entro un raggio o un rettangolo.
Struttura come mostrato nell’esempio a destra:

  • Con ojp:Tag sempre amenity
  • Con ojp:Value è possibile scegliere tra escooter_rental, bicycle_rental, car_sharing o charging_station.

Attenzione: la query deve essere combinata con una GeoRestriction (Circle o Rectangle) e non con LocationName, GeoPosition o PlaceRef.

 

ojp:Language 0:1 Lingua desiderata per i valori di ritorno.

Non è stato implementato nella versione 1.0, ma è previsto per una versione successiva.

n/a
ojp: NumberOfResults 0:1 Il numero di risultati.

Importante: stringhe di caratteri come “St. Gallen Haggen” e “St. Gallen, Haggen” sono equivalenti per la ricerca.

Se un gruppo di risultati viene tagliato con la stessa probabilità (>0,5), il server restituisce tutti i risultati. Ciò significa che il numero effettivo di risultati può differire dal risultato desiderato. Il motivo è che con NumberOfResults=1 e l’input “St. Gallen, Haggen” effettivamente 2 fermate devono essere restituite: “St. Gallen, Haggen” e “St. Gallen Haggen”.

IncludePtModes 0:1 Indica al servizio di restituire le modalità disponibili per ogni fermata. L’impostazione predefinita (Default) è false.

PlaceRef

Elemento Cardinalità Descrizione Esempio
ojp: StopPointRef 0:1 Riferimento a ScheduledStopPoint (un punto di arresto programmato).

Es wird davon abgeraten, diese zu verwenden, da es unklar ist, welche id notwendig ist.

Non è consigliabile utilizzarli, poiché non è chiaro quale id sia necessario.

Nota: Sia i numeri Didok che gli sloid possono essere trasmessi in Request e Response. Vedi

ojp:StopPlaceRef 0:1 Riferimento a una fermata . In base al numero DiDok. L’uso di StopPlaces porta a risultati di ricerca molto veloci.

ojp:GeoPosition 0:1 Geoposizione come longitudine/latitudine

ojp:PlaceRef/ojp:LocationName 0:1 Verrà ignorato n/a

Dall’inizio del 2024, in OJP si è passati ai dati incrementali. Dove la merce viene consegnata con un forte aumento, viene consegnata allo stesso modo. I dati ascendenti vengono sempre eseguiti con uno SLOID e non più con un numero Didok. Tuttavia, sono possibili risposte miste e le modifiche per operatore/linee possono essere effettuate in qualsiasi momento.

In passato:

Ora:

 

In passato:

Ora:

Ciò consente anche di ottenere percorsi migliori.

Le conversioni sono le seguenti:

  • Metodo di conversione (se si lavora internamente con DiDok) per sloid -> didok:
    • Se sloid è presente nella stringa,
    • Scegliere l’elemento corretto, convertirlo in numero e aggiungere 8.500.000 (ad esempio, ch:1:sloid:1026:1:2 -> 8501026))

    Si tratta ovviamente di un hack. In realtà, si dovrebbe utilizzare una tabella di mappatura. Tuttavia, presumiamo che gli ultimi numeri Didok scompariranno per la Svizzera prima che questo diventi un problema.

     

  • Didok -> sloid funziona in modo simile. Tuttavia, ciò può comportare problemi alle fermate estere:
    • In pratica convertiamo solo 85xxxxx, ad eccezione del traffico locale estero, che abbiamo dovuto registrare nei nostri sistemi (8500700 -> ch:1:sloid:700).
    • Traffico locale all’estero: 11xxxxx, 12xxxxx, 13xxxxx, 14xxxxx => ch:1:sloid:<didok> (es. “Annemasse, Adrien Ligué”: 1401664 à ch:1:sloid:1401664)

PTMode

I PTModes sono le modalità di traffico.

A livello di PTMode, ci sono i seguenti valori (ce ne sono altri, ma non li usiamo, non tutti quelli elencati di seguito sono utilizzati al momento):

  • unknown
  • rail
  • coach
  • suburbanRail
  • urbanRail
  • metro
  • underground
  • bus
  • trolleyBus
  • tram
  • water
  • air
  • telecabin
  • funicular
  • taxi
  • selfDrive
  • all

Le SubModes sono:

AirSubmode

  • Attualmente non utilizzato

BusSubmode

  • regionalBus
  • expressBus
  • localBus
  • postBus
  • sightseeingbus
  • shuttleBus
  • railReplacementBus
  • demandAndResponseBus

CoachSubmode

  • internationalCoachService
  • nationalCoachService
  • regionalCoachService
  • touristCoachService

FunicularSubmode

  • funicular

MetroSubmode

  • urbanRailway
  • metro

TramSubmode

  • cityTram
  • regionalTram
  • localTramService
  • sightseeingTram

TelecabinSubmode

  • chairLift
  • dragLift
  • smallTelecabin
  • lift
  • telecabin
  • cableCar

RailSubmode

  • hightSpeedRailService
  • longDistanceTrain
  • interRegionalRailService
  • carTransportRailService
  • sleeperRailService
  • regionalRail
  • touristRailway
  • railShuttle
  • suburbanRailway
  • replacementRailService
  • local
  • interbational (sì, in realtà con la b. Prima o poi verrà cambiata)

WaterSubmode

  • internationalCarFerryService
  • nationalCarFerryService
  • regionalCarFerryService
  • localCarFerryService
  • internationalPassengerFerry
  • regionalPassengerFerry
  • localPassengerFerry
  • postBoat
  • trainFerry

 

Response

La risposta è in un elemento ojp:OJPLocationInformationDelivery

Elemento Cardinalità Descrizione Esempio
siri:ResponseTimestamp 1:1 Il timestamp della risposta
siri:RequesteMessageRef 0:1 Qui si fa riferimento al messaggio che è stato inviato.
siri:Status 1:1 Lo stato dell’articolo è vero, la risposta è stata elaborata.
ojp:CalcTime 1:1 Il tempo di calcolo in millisecondi
ojp:Location 1:1 Inserire le singole voci di ojp:Location-risposte
ojp:Location/ojp:Location 1:1 Le risposte individuali. È relativamente poco gradevole che due elementi gerarchicamente non diversi siano tutti uguali, ma è proprio così.
 ojp:Complete 1:1 È possibile verificare se la posizione attuale è completa o se è stata modificata. Beim Refinement muss sie nochmals in einem LocationInformationRequest präziser eingegeben werden.
ojp:Probability 1:1 La eventualità, che prevede che la posizione specifica del destinatario (Location) sia diversa da quella prevista.

Il risultato è stato ottenuto in base alla eventualità (il più importante è quello di oggi).

La selezione dei migliori candidati per l’elenco degli hit è determinata dalla corrispondenza del testo in ingresso con l’intero database. La probabilità è determinata in base al numero di trigrammi corrispondenti in cui è possibile suddividere i termini e il resto che non corrisponde. Se c’è una corrispondenza completa, cioè nessun resto, si ha un riscontro diretto e il candidato riceve la massima probabilità (Probability) di 1. Se c’è ancora un resto, vengono sottratti punti. Le risposte pertinenti trovate in questo modo possono essere influenzate da vari criteri di valutazione, qualità e ordine. I risultati possono essere modificati in base alla regione (codice del comune), al tipo (fermata, indirizzo, città, PDI, ecc.), al mezzo di trasporto utilizzato o a un valore di rilevanza.

 

ojp:Mode 0:* Le modalità rilevanti per la località

ojp:Location

Una posizione (Location) può essere una delle seguenti:

  • StopPoint: una fermata o un binario
  • StopPlace: una fermata in senso fisico
  • TopographicPlace: un luogo
  • PointOfInterest: un POI. Attenzione: al momento non ce ne sono di disponibili.
  • Address: un indirizzo
Elemento Cardinalità Descrizione Esempio
ojp:StopPlace 0:1 Una sosta in senso fisico
ojp:StopPoint 0:1 Una fermata o un binario

Al momento non dovrebbe arrivare nessuno.

La funzione non è attualmente supportata.

ojp:TopographicPlace 0:1 Un posto

ojp:PointOfInterest 0:1 UN POI. Attenzione: al momento non ce ne sono di disponibili.

La funzione non è attualmente supportata.

ojp:Address 0:1 Un indirizzo

 

ojp:LocationName 0:1 Il nome del luogo

 

ojp:GeoPosition 0:1 Le coordinate

L’esempio mostra cosa viene restituito se non sono disponibili coordinate. La precisione è quindi impostata sulla metà della circonferenza del mondo. Naturalmente cerchiamo di evitare questi casi.

 

ojp:Location/ojp:StopPoint

La funzione non è attualmente supportata.

ojp:Location/ojp:StopPlace

Elemento Cardinalità Descrizione Esempio
ojp:StopPlaceRef  1:1 Il riferimento alla fermata dell’autobus. Corrente: numero DiDok
ojp:StopPlaceName 1:1 Il nome della fermata
 
ojp:TopographicPlaceRef 1:1 Il riferimento al luogo.

ojp:Location/ojp:TopographicPlace

Elemento Cardinalità Descrizione Esempio
ojp:TopographicPlaceRef  1:1 Il riferimento al luogo.
ojp:TopographicPlaceName 1:1 Il nome del luogo.