Descrizione rapida
Questo set di dati fornisce informazioni in tempo reale sulle condizioni del traffico stradale, compresi i flussi di traffico, gli incidenti e i lavori stradali a breve o lungo termine. È stato progettato per fornire agli utenti l’accesso a dati aggiornati che possono essere utilizzati per analisi, applicazioni di mobilità o servizi di informazione sul traffico.
Descrizione specifica
Format
I messaggi vengono predisposti in formato DATEX II. DATEX II è lo standard per lo scambio di dati sul traffico stradale. Il formato si basa su uno specifico schema XML.
Frequenza di aggiornamento
I dati vengono aggiornati in tempo reale in base alle condizioni del traffico dagli operatori del Centrale di gestione del traffico in Svizzera VMZ-CH, dalla polizia cantonale e dalle unità territoriali responsabili della gestione e della manutenzione delle strade. Questa API non fornisce dati storici.
Tipo di messaggio
La piattaforma pubblica tre tipi di informazioni sul traffico:
- Nuova informazione sul traffico
Un messaggio che annuncia una nuova situazione sulle nostre strade. Una informazione sul traffico può contenere informazioni su un evento in corso, come un veicolo che circola nella direzione opposta, un incidente o un sovraccarico di traffico, oltre alle cause e a una stima della durata dell’interruzione. Una informazione sul traffico può anche contenere informazioni su un cantiere o su un intervento pianificato su un tratto specifico. Sono inclusi anche la durata dei lavori e dettagli quali la riduzione delle corsie di marcia e la larghezza massima autorizzata per i mezzi pesanti.
Un esempio di rapporto sul traffico può essere visualizzato qui. - Mutazione di un’informazione sul traffico esistente
Un Messaggio che annuncia la modifica di una situazione esistente. La modifica può aggiornare le informazioni di base, aggiungere cause a un evento o fornire dettagli sulla durata di un ingorgo a seguito dell’evento. Un messaggio di mutazione sostituisce il messaggio originale.
Una mutazione è sempre collegata a una situazione di base tramite l’attributo <situation id=xxx>.
Inoltre, una mutazione può essere collegata a una situazione di base tramite il elemento <situationRecordCreationTime>. Questo è unico perché è preciso al millisecondo. Esempio: <dx223:situationRecordCreationTimexsi:type=”dx223:DateTime”>2025-05-01T13:05:02.679000Z</dx223:situationRecordCreationTime>
Un esempio di mutazione può essere visualizzato qui. - Revoca di un’informazione sul traffico
Un messaggio che annuncia la fine e la cancellazione di un’informazione sul traffico. Quando un’informazione sul trafico viene revocato, la situazione rimane attiva e disponibile per 60 minuti, con lo stato di revoca inserito nell’elemento <dx223:value>. Ciò consente agli utenti di conoscere la revoca.
Per gli annunci sul traffico che contengono informazioni sui cantieri, la cancellazione non è necessaria in poiché la loro validità è generalmente indicata da una data di inizio e di fine.
Un esempio di revoca è disponibile qui.
Descrizione tecnica
Richiesta API
Istruzioni generali per l’accesso alle nostre API: https://opentransportdata.swiss/de/howto-access-api
URL dell’API: https://api.opentransportdata.swiss/TDP/Soap_Datex2/TrafficSituations/Pull
Struttura della richiesta API
Intestazioni
È inoltre necessario specificare l’operazione che si desidera eseguire e fornire la chiave API nell’intestazione della richiesta:
Vincolo | Attributo | Valore |
Obbligatorio | SoapAction | http://opentransportdata.swiss/TDP/Soap_Datex2/Pull/v1/pullTrafficMessages |
Obbligatorio | Authorization | [Chiave API] |
Opzionale * | If-Modified-Since | [data e ora] –> Formato: 2025-05-01T00:00:06.83+01:00 Il timbro data viene interpretato come UTC! |
L’attributo “If-Modified-Since” è usato per definire la data e l’ora dell’ultima richiesta, in modo da ottenere solo i messaggi arrivati tra quell’ora e l’ora corrente. Se questo attributo non viene specificato, tutti i informazioni sul traffico attivi o appena annullati (stato revocato) vengono restituiti.
* IMPORTANTE: Se non si utilizza alcuna «If-Modified-Since», gran parte dei dati viene ripetuta (e di conseguenza la quantità di dati è grande). Raccomandiamo pertanto:
- Una query al giorno senza If-Modified-Since e successivamente solo query con If-Modified-Since con timbro data negli ultimi 5 minuti.
- Al riavvio dell’applicazione che riceve i dati, è possibile effettuare di nuovo un’interrogazione senza «If-Modified-Since».
Corpo
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<d2LogicalModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" modelBaseVersion="2" xmlns="http://datex2.eu/schema/2/2_0">
<exchange>
<supplierIdentification>
<country>ch</country>
<nationalIdentifier>FEDRO</nationalIdentifier>
</supplierIdentification>
<subscription>
<operatingMode>operatingMode1</operatingMode>
<subscriptionStartTime>2025-05-01T08:00:00.00+01:00</subscriptionStartTime>
<subscriptionState>active</subscriptionState>
<updateMethod>singleElementUpdate</updateMethod>
<target>
<address></address>
<protocol>http</protocol>
</target>
</subscription>
</exchange>
</d2LogicalModel>
</soap:Body>
</soap:Envelope>
Esempio di curl
Di seguito è riportato un esempio di come si possono interrogare i messaggi sul traffico in Windows tramite curl. Nota bene:
- Il Bearer Token (chiave API che sta per «Authorization: Bearer») è stato ridotto e deve essere sostituito da un valore valido (chiave API propria riferita al nostro API Manager).
- Per mantenere una quantità di dati bassa, per «If-Modified-Since» è necessario inserire un timestamp che risale ad alcuni minuti nel passato. (La prima richiesta può essere inviata senza «If-Modified-Since» per ricevere tutti i dati attivi in questo momento.)
- Il body viene letto dal file VM_request_body.xml; questo file (una copia del body come visibile sopra) deve essere salvato nella directory corretta.
- I dati ricevuti vengono salvati direttamente nel file traffic_situations.xml (nessun output nella console).
curl --request POST https://api.opentransportdata.swiss/TDP/Soap_Datex2/TrafficSituations/Pull --header "Authorization: Bearer eyJvcmciOiI2NDA2NTFhNTIyZmEwNTAwMDEyOWJiZTEiLCJpZCI6IjM0YzkxZGNhN2E2NTRjOTI5N2E3OWM4YzhiMzcxNTU1IiwiaCI6Im11cm11cjEyOCJ9" --header "SOAPAction: http://opentransportdata.swiss/TDP/Soap_Datex2/Pull/v1/pullTrafficMessages" --header "If-Modified-Since: 2025-05-27T10:00:00" --output "traffic_situations.xml" --data-binary @VM_request_body.xml
Formato della data
Il formato della data utilizzato in DATEX II consente agli utenti di determinare data e ora in base al loro fuso orario. A tal fine, si raccomanda il formato ISO 8601 per tutte le date definite in DATEX II.
Georeferenziazione
I messaggi di traffico sono localizzati secondo lo standard TMC (Traffic Message Channel) e il metodo “AlertC”. La versione della topologia TMC utilizzata è specificata nel nodo <dx223:alertCLocationTableVersion>. La direzione in cui un’informazione sul traffico ha effetto può quindi essere determinata automaticamente. L’accesso alla topologia TMC può essere richiesto via e-mail a verkehrsdaten-plattform@astra.admin.ch. Nella richiesta si prega di indicare la versione che si desidera ottenere.