Semafori (traffico stradale)

#AutoTranslate

Descrizione breve

Questo cookbook descrive un protocollo per la trasmissione di dati di misura dal traffico stradale urbano. I dati di misura possono essere collegati a intervalli rigidi (ad es. dati di conteggio) o anche no (ad es. punti di rilevazione dei trasporti pubblici).

Descrizione del funzionamento

Il protocollo supporta solo la trasmissione dei dati. Non è previsto alcun meccanismo per la selezione dei dati di misura. Supporta anche solo i dati online e nessuna richiesta di archivio.

Il protocollo si basa su OCIT-C e sul suo predecessore OCIT-I e può essere visto come versione «light» di questo protocollo.

Tutte le strutture dei dati Schemi in formato XSD di base, il trasferimento dei dati stessi avviene però formattato secondo JSON (JavaScript Object Notation), il che si può ricavare dalle strutture XML generabili secondo gli schemi XSD.

Concettodati

Il modello di dati comprende tre tipi di dati e la loro trasmissione:

  1. Dati statici, che comprendono la fornitura dei dati trasmessi,
  2. Dati dinamici, che vengono trasmessi periodicamente (es. valori di conteggio), in caso di eventi (es. telegrammi TP) o in caso di variazione del valore (es. stati dei gruppi di segnali),
  3. Metadati che descrivono e definiscono i dati statici e dinamici (ad es. schemi).

I dati descrittivi, sia i dati statici che i metadati, possono cambiare nel tempo. Non viene mantenuta una cronologia delle descrizioni passate, ma solo i dati attuali. Il contenuto dei file deve essere contrassegnato con timbri data/ora a partire dalla data di validità. La data di fine di una validità è implicitamente indicata se è presente un ulteriore passaggio con data di inizio validità successiva. Oltre al timbro data/ora è disponibile anche una versione.

Dati statici

I dati statici (1) sono conservati in una struttura di file che segue l’indirizzamento logico (si veda di seguito). I file sono formattati in XML e corrispondono a uno schema XSD memorizzato nei metadati (3). Lo schema si basa su OCIT-C e OCIT-I. I dati vengono scritti tramite un protocollo REST e anche interrogati. Nell’interrogazione, il protocollo deve poter restringere le alimentazioni desiderate a «Area», «Intersection» e «Supply» (settore, nodo e valori misurati), nell’alimentazione l’indirizzamento avviene tramite il contenuto del file.

I dati statici possono presentare ridondanze (ad es. numero oggetto e per una migliore leggibilità il nome dell’oggetto). I dati statici, detti anche dati relativi all’approvvigionamento:

  • Si riferiscono sempre a un’area, ad es. una città o un gruppo tematico o geografico di incroci o punti di misura.
  • O un nodo.

Il riferimento a un gruppo di nodi è necessario ad es. nel caso dei tempi di percorrenza tra i nodi. Oppure un gruppo del genere può essere costituito da tutti i punti di conteggio su un’autostrada.

Nei dati statici è possibile salvare anche il file MAP. Il file MAP segue regole proprie (ISO/TS 19091:2019).

Dati dinamici

Anche il formato dei dati dinamici (2) si basa su OCIT-C o OCIT-I. Anche le loro strutture sono definite tramite schemi XSD con note su come procedere in JSON con i tipi di array. Pertanto, è possibile generare un formato XML per la loro trasmissione. L’effettiva trasmissione avviene però in JSON.

I dati dinamici non devono contenere informazioni ridondanti, in particolare nei dati di fornitura (ad es. nomi dei valori misurati). I dati dinamici sono ridotti allo stretto necessario per risparmiare capacità di trasmissione e mantenere peso leggero il contenuto dei telegrammi. Ciò si riflette nella definizione del nome dei tag e nella struttura della modellazione.

Metadati

I metadati (3) sono i dati dello schema. Come i dati statici, anche i file dello schema possono avere un inizio di validità. I file devono poter essere gestiti e consultati analogamente ai dati statici.

Descrizione tecnica

Indirizzamento logico

Esistono tre livelli gerarchici di indirizzo:

  1. Settore
  2. Nodi
  3. Tipo e numero di canale

Settore

Città o un’area equiparabile a una città non viene affrontata in modo particolare in OCIT. Nei sistemi intercittà, la «SystemNr» a tale scopo l’indirizzamento del nodo.

Spieghiamo «AreaID» qui come obbligatorio. Deve essere univoco, non solo all’interno di un’unica fonte di dati. Se non viene assegnato in modo univoco automaticamente, deve essere assegnato in modo univoco da un organismo centrale in tutto il mondo. Tutti i caratteri alfanumerici in Unicode sono ammessi.

Un settore viene quindi identificato tramite una «AreaID» come chiave primaria.

Per il nome informativo vale quanto segue:

  1. Un’area o una città può avere più nomi in diverse lingue o trascrizioni.
  2. Non è necessario che esista un nome univoco, poiché non è necessario che i nomi delle città siano univoci. Nel caso in cui un’area o una città presentino più nomi in più lingue, è possibile registrarli utilizzando abbreviazioni linguistiche diverse secondo ISO 639 o RFC 17663 (del tipo «de-CH»4).
  3. Se è presente un solo nome nella lingua standard, questo viene registrato utilizzando una sigla della lingua che poi decade dal nome standard.

Nodi

  • Il nodo è solitamente chiamato attraverso un numero univoco all’interno di un intervallo che «UnitID». Nodo è il termine tecnico che indica l’incrocio stradale.
  • Ci sono città nelle quali lo stesso numero nodo è stato assegnato più volte. Qui il numero del nodo viene integrato da «UnitID» e «Provider».
  • Ciononostante, anche la sigla deve essere univoca.

Vi sono quindi all’interno di un settore

  • una chiave primaria «UnitID» e facoltativo «UnitID» e «Provider».

Tipo e numero di canale

Tutti i punti dati all’interno di un nodo (o eventualmente all’interno di un intervallo) vengono riferiti tramite il loro tipo (dati grezzi del sensore, valori di intervallo del segnale luminoso, gruppi di segnali) e il loro numero di canale (ad es. rilevatore con numero di canale 2 – «D.2» o gruppo di segnali con numero di canale 3 – «S.3»).

Allo stesso tempo, al punto dati può essere assegnato un nome che dovrebbe essere univoco all’interno del nodo («DR11.21»). In casi eccezionali, è univoco solo all’interno del tipo di dati. Per evitare malintesi, sia l’indirizzamento sia il nome vengono di norma preceduti dal numero dell’unità del nodo: «184.D.2» (forma abbreviata dell’indirizzamento) e «184.DR11.21» (nome).

  1. Indirizzamento di più valori di misura dello stesso tipo all’interno del nodo:
    • Di solito i valori misurati vengono registrati tecnicamente in OCIT tramite «UnitID», tipo e numero di canale indirizzati, ad es. «184.D.2».
    • In alternativa, l’indirizzamento può avvenire tramite «UnitID», tipo e nome sono fatti, il che è comodo dal punto di vista tecnico del traffico: le postazioni di lavoro degli ingegneri del traffico utilizzano spesso questo tipo di indirizzamento: 184.DR11.21.
  2. Indirizzamento dei valori di misura presenti una sola volta per tipo:
    • Raramente l’indirizzamento avviene tramite il nodo e il solo tipo, ad es. 184.TX (secondo di rotazione) o 184.PrgNr (numero di programma attuale), lo stato d’esercizio o il regime d’esercizio. Qui tecnicamente viene assegnato di default il numero di canale 1.
  3. Indirizzamento di valori misurati indipendenti dal nodo:
    • È altrettanto raro un indirizzamento esteso a un determinato settore, ad es. per i punti di annuncio dei sistemi di rilevamento dei trasporti pubblici di un radiobaker (Radiodiffusore). In questo caso, un valore di 2 byte viene utilizzato come indirizzo univoco all’interno dell’intero intervallo. Ad esempio: 37819.

Valori misurati

I valori misurati sono dati dinamici. La loro struttura è fissata nei metadati.

I valori misurati possono essere recuperati periodicamente in JSON tramite REST dal client registrato. All’inizio l’utente dei dati richiede una volta tutti i dati aggiornati. «inquireAll» e successivamente acquisisce sempre il delta dei dati con GET a intervalli definibili liberamente.

Snippet

Inserito «Snippet» è un riepilogo dei valori misurati:

  • «AreaID» è l’indirizzo del settore.
  • «UnitID», «Provider» e «UnitID» contengono l’indirizzo di un nodo. «UnitID» è obbligatorio, «UnitID» e «Provider» sono facoltativi, ma possono essere inseriti nell’indirizzamento univoco del nodo insieme a «UnitID» essere coinvolti nell’evento.
  • Un timbro data indica il momento in cui vengono eseguiti i seguenti valori misurati.
  • Measurements apre il ramo per le misurazioni.

Nel ramo «Snippets» inseriscono i valori misurati. Le strutture sono definite in modo specifico per ogni tipo.

In questa prima versione C sono definiti i seguenti tipi di valori misurati:

  • Level of Service (LOS): Livello di qualità per pedoni, veicoli a motore o trasporti pubblici (ad es. «A» a «F»):
    • Il Level of Service può essere utilizzato per pedoni, veicoli a motore o per i trasporti pubblici. Il LOS è designato con una lettera per ogni categoria:
      • In un dato momento, un punto di misura può assumere il valore di una lettera, ad es. «B»,
      • oppure è possibile trasmettere un gruppo valori statistico che indica la frequenza di misurazione in percentuale per ogni categoria.
    • L’indicazione dell’intervallo può essere visualizzata in XSD devono essere indicati in modo più restrittivo rispetto a JSON. L’importante è «FixedInterval», «CycleInterval» o non c’è alcun intervallo. I commenti relativi ai tag non vengono ripetuti qui, bensì sono nello schema XSD.
    • Ci sono due possibilità per LOS:
      • Viene trasmessa una lettera, come «Letter»
      • oppure due di uguale durata Arrays trasmesso con «Letters» e «Percentages».
  • SpillbackLength, Lunghezza del collasso in metri:
    • In questo caso viene trasmessa una lunghezza di ristagno espressa in metri. Come sempre, può trattarsi di un valore attuale o di un calcolo periodico con durata del periodo costante o variabile. Per «Channel» viene misurata una lunghezza «Length» trasmessa.
    • Anche in questo caso è possibile definire una singola coppia di valori «Channel» e «Length» o due della stessa durata Arrays «Channels» e «Lengths».
  • GreenPercentage, percentuale di verde rispetto al tempo totale a disposizione:
    • Qui viene trasmessa la percentuale di verde di un gruppo di segnali in percentuale sul tempo totale a disposizione. Anche in questo caso può trattarsi di un valore attuale o di un calcolo periodico con durata del periodo costante o variabile. Per «Channel» viene trasmessa una percentuale.
    • Anche in questo caso è possibile definire una singola coppia di valori «Channel» e «Percentage» o due della stessa durata Arrays «Channels» e «Percentages».
  • ODCount, Carichi sorgente-destinazione:
    • Qui vengono visualizzati i valori di conteggio per ogni sorgente (Origin) e obiettivo (Destination) dati. Può trattarsi di un valore attuale o di un calcolo periodico con durata del periodo costante o variabile. Per «Channel» otteniamo un valore di conteggio «Count» trasmessa.
    • Anche in questo caso è possibile definire una singola coppia di valori «Channel» e «Count» o due della stessa durata Arrays «Channels» e «Counts».
  • DriveAwayHeadway, Valore del tempo necessario determinato per l’accostamento:
    • Questo intervallo di tempo tra due veicoli viene definito anche intervallo di tempo lordo. Quando si accosta dopo un semaforo rosso si definisce anche «valore di tempo necessario». È il tempo che intercorre tra due veicoli consecutivi. Dal valore del tempo necessario dipende la capacità massima di un nodo ferroviario e si determinano anche gli accessi critici.
    • Il valore del tempo necessario è determinato in funzione della posizione dei veicoli nella colonna dei veicoli in avvicinamento. I valori dei singoli veicoli possono essere visualizzati in sequenza «Duration» in un elenco. Da ciò si può calcolare anche un valore medio del tempo necessario. Viene assegnato un «MeanDuration» trasmesso, visualizzare i dettagli in «Duration» isolato o antecedente, come evento o come risultato di un calcolo su un intervallo.

Possono essere trasmessi eventi o dati statistici:

  • Se i dati di misura non contengono intervalli, si tratta di un valore attualmente misurato.
  • Se viene «FixedInterval» si tratta di un valore statistico determinato a periodicità costante.
  • Se un «CycleInterval» si tratta di un valore statistico determinato per ogni rotazione, che in genere inizia all’inizio del colore rosso. Tali intervalli non hanno in genere una lunghezza costante.

I dati di misura vengono rilevati tramite il tipo di valore misurato e il Channel oppure possono essere gestiti sotto «Supply» essere ritrovati.

Ulteriori indicazioni

Ulteriori informazioni sull’argomento «Snippet» si trovano nel Schema OpenAPI.

La Traffic-Lights L’interfaccia può essere testata direttamente nel nostro OpenAPI: OpenAPI Trafficlight