<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="it">
	<id>https://www.raspibo.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lucamenini</id>
	<title>raspibo - Contributi utente [it]</title>
	<link rel="self" type="application/atom+xml" href="https://www.raspibo.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Lucamenini"/>
	<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php/Speciale:Contributi/Lucamenini"/>
	<updated>2026-05-06T06:13:15Z</updated>
	<subtitle>Contributi utente</subtitle>
	<generator>MediaWiki 1.35.5</generator>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3875</id>
		<title>Gruppo Meteo/Pluviometro</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3875"/>
		<updated>2014-12-17T09:01:51Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Note di progettazione di un pluviometro con interfaccia I2C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Note di progettazione di un pluviometro con interfaccia I2C =&lt;br /&gt;
&lt;br /&gt;
Se rimaniamo nell'ambito del &amp;quot;Tipping&lt;br /&gt;
bucket rain gauge&amp;quot; ([http://it.wikipedia.org/wiki/Pluviometro#Pluviografi_a_doppia_vaschetta_basculante pluviometro a bascula]) tutti i modelli mettono a disposizione uno switch per&lt;br /&gt;
il conteggio delle &amp;quot;basculate&amp;quot; e trasformarlo in un pluviometro I2C non è critico.&lt;br /&gt;
&lt;br /&gt;
Bisognerebbe parametrizzare superficie dell'imbuto e volume dello scatto&lt;br /&gt;
come parametri a compilation time&lt;br /&gt;
&lt;br /&gt;
Qui pensavamo di utilizzare un piccolo microcontroller (arduino nano o&lt;br /&gt;
simili) con batteria in tampone per effettuare il conteggio (con&lt;br /&gt;
attenzione alle funzioni &amp;quot;antirimbalzo&amp;quot;) e mettere a disposizione i dati&lt;br /&gt;
su bus I2C.&lt;br /&gt;
L'host dovrebbe quindi fare due operazioni tramite I2C:&lt;br /&gt;
# richiedere il conteggio da ultimo reset (le parole da ultimo reset sono importanti: no reset, no dati)&lt;br /&gt;
# richiedere il reset del conteggio fino al momento dell'operazione 1.&lt;br /&gt;
&lt;br /&gt;
questa sequenza per non perdere nessun evento considerando quindi 1. e 2.&lt;br /&gt;
come una singola transazione&lt;br /&gt;
&lt;br /&gt;
In questo modo la cumulata sarebbe sempre garantita vista la presenza&lt;br /&gt;
della batteria tampone.&lt;br /&gt;
&lt;br /&gt;
L'utilizzo di un RTC locale e un firmware leggermente più sofisticato&lt;br /&gt;
potrebbe permettere di gestire su host un DB direttamente ad eventi o&lt;br /&gt;
comunque un rain rate molto più risolto.&lt;br /&gt;
Per non bruciare la eeprom il DB dovrebbe essere tutto in memoria ram e&lt;br /&gt;
potrebbe essere utile l'uso di un round robin dove memorizzare time stamp e contatore.&lt;br /&gt;
&lt;br /&gt;
Alcuni RTC hanno una batteria in tampone che potrebbe essere utilizzata anche per&lt;br /&gt;
alimentare il microcontroller.&lt;br /&gt;
&lt;br /&gt;
L'alimentazione potrebbe essere fatta tramite il cavo quadripolare I2C&lt;br /&gt;
&lt;br /&gt;
Una evoluzione ancora piu' sofisticata per la gestione energetica potrebbe essere quella di mettere il microcontroller in modalità sleep di risparmio energetico risvegliato dall'interrupt del contatto del pluviometro o dall'alimentazione sul bus I2C; in questo modo i consumi potrebbero essere minimi e permettere lunghi periodi di funzionamento stand alone.&lt;br /&gt;
&lt;br /&gt;
In una fase iniziale di sviluppo invece dell'interfaccia di comunicazione I2C potrebbe essere utilizzata la porta seriale con jsonrpc molto piu' facile da consifurare e diagnosticare.&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3874</id>
		<title>Gruppo Meteo/Pluviometro</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3874"/>
		<updated>2014-12-17T09:00:41Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Note di progettazione di un pluviometro con interfaccia I2C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Note di progettazione di un pluviometro con interfaccia I2C =&lt;br /&gt;
&lt;br /&gt;
Se rimaniamo nell'ambito del &amp;quot;Tipping&lt;br /&gt;
bucket rain gauge&amp;quot; ([http://it.wikipedia.org/wiki/Pluviometro#Pluviografi_a_doppia_vaschetta_basculante pluviometro a bascula]) tutti i modelli mettono a disposizione uno switch per&lt;br /&gt;
il conteggio delle &amp;quot;basculate&amp;quot; e trasformarlo in un pluviometro I2C non è critico.&lt;br /&gt;
&lt;br /&gt;
Bisognerebbe parametrizzare superficie dell'imbuto e volume dello scatto&lt;br /&gt;
come parametri a compilation time&lt;br /&gt;
&lt;br /&gt;
Qui pensavamo di utilizzare un piccolo microcontroller (arduino nano o&lt;br /&gt;
simili) con batteria in tampone per effettuare il conteggio (con&lt;br /&gt;
attenzione alle funzioni &amp;quot;antirimbalzo&amp;quot;) e mettere a disposizione i dati&lt;br /&gt;
su bus I2C.&lt;br /&gt;
L'host dovrebbe quindi fare due operazioni tramite I2C:&lt;br /&gt;
# richiedere il conteggio da ultimo reset (le parole da ultimo reset sono importanti: no reset, no dati)&lt;br /&gt;
# richiedere il reset del conteggio fino al momento dell'operazione a)&lt;br /&gt;
&lt;br /&gt;
questa sequenza per non perdere nessun evento considerando quindi a) e b)&lt;br /&gt;
come una singola transazione&lt;br /&gt;
&lt;br /&gt;
In questo modo la cumulata sarebbe sempre garantita vista la presenza&lt;br /&gt;
della batteria in tampone.&lt;br /&gt;
&lt;br /&gt;
L'utilizzo di un RTC locale e un firmware leggermente più sofisticato&lt;br /&gt;
potrebbe permettere di gestire su host un DB direttamente ad eventi o&lt;br /&gt;
comunque un rain rate molto più risolto.&lt;br /&gt;
Per non bruciare la eeprom il DB dovrebbe essere tutto in memoria ram e&lt;br /&gt;
potrebbe essere utile l'uso di un round robin dove memorizzare time stamp e contatore.&lt;br /&gt;
&lt;br /&gt;
Alcuni RTC hanno una batteria in tampone che potrebbe essere utilizzata anche per&lt;br /&gt;
alimentare il microcontroller.&lt;br /&gt;
&lt;br /&gt;
L'alimentazione potrebbe essere fatta tramite il cavo quadripolare I2C&lt;br /&gt;
&lt;br /&gt;
Una evoluzione ancora piu' sofisticata per la gestione energetica potrebbe essere quella di mettere il microcontroller in modalità sleep di risparmio energetico risvegliato dall'interrupt del contatto del pluviometro o dall'alimentazione sul bus I2C; in questo modo i consumi potrebbero essere minimi e permettere lunghi periodi di funzionamento stand alone.&lt;br /&gt;
&lt;br /&gt;
In una fase iniziale di sviluppo invece dell'interfaccia di comunicazione I2C potrebbe essere utilizzata la porta seriale con jsonrpc molto piu' facile da consifurare e diagnosticare.&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3873</id>
		<title>Gruppo Meteo/Pluviometro</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3873"/>
		<updated>2014-12-17T08:59:33Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Note di progettazione di un pluviometro con interfaccia I2C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Note di progettazione di un pluviometro con interfaccia I2C =&lt;br /&gt;
&lt;br /&gt;
Se rimaniamo nell'ambito del &amp;quot;Tipping&lt;br /&gt;
bucket rain gauge&amp;quot; ([http://it.wikipedia.org/wiki/Pluviometro#Pluviografi_a_doppia_vaschetta_basculante pluviometro a bascula]) tutti i modelli mettono a disposizione uno switch per&lt;br /&gt;
il conteggio delle &amp;quot;basculate&amp;quot; e trasformarlo in un pluviometro I2C non è critico.&lt;br /&gt;
&lt;br /&gt;
Bisognerebbe parametrizzare superficie dell'imbuto e volume dello scatto&lt;br /&gt;
come parametri a compilation time&lt;br /&gt;
&lt;br /&gt;
Qui pensavamo di utilizzare un piccolo microcontroller (arduino nano o&lt;br /&gt;
simili) con batteria in tampone per effettuare il conteggio (con&lt;br /&gt;
attenzione alle funzioni &amp;quot;antirimbalzo&amp;quot;) e mettere a disposizione i dati&lt;br /&gt;
su bus I2C.&lt;br /&gt;
L'host dovrebbe quindi fare due operazioni tramite I2C:&lt;br /&gt;
* a) richiedere il conteggio da ultimo reset (le parole da ultimo reset sono importanti: no reset, no dati)&lt;br /&gt;
* b) richiedere il reset del conteggio fino al momento dell'operazione a)&lt;br /&gt;
&lt;br /&gt;
questa sequenza per non perdere nessun evento considerando quindi a) e b)&lt;br /&gt;
come una singola transazione&lt;br /&gt;
&lt;br /&gt;
In questo modo la cumulata sarebbe sempre garantita vista la presenza&lt;br /&gt;
della batteria in tampone.&lt;br /&gt;
&lt;br /&gt;
L'utilizzo di un RTC locale e un firmware leggermente più sofisticato&lt;br /&gt;
potrebbe permettere di gestire su host un DB direttamente ad eventi o&lt;br /&gt;
comunque un rain rate molto più risolto.&lt;br /&gt;
Per non bruciare la eeprom il DB dovrebbe essere tutto in memoria ram e&lt;br /&gt;
potrebbe essere utile l'uso di un round robin dove memorizzare time stamp e contatore.&lt;br /&gt;
&lt;br /&gt;
Alcuni RTC hanno una batteria in tampone che potrebbe essere utilizzata anche per&lt;br /&gt;
alimentare il microcontroller.&lt;br /&gt;
&lt;br /&gt;
L'alimentazione potrebbe essere fatta tramite il cavo quadripolare I2C&lt;br /&gt;
&lt;br /&gt;
Una evoluzione ancora piu' sofisticata per la gestione energetica potrebbe essere quella di mettere il microcontroller in modalità sleep di risparmio energetico risvegliato dall'interrupt del contatto del pluviometro o dall'alimentazione sul bus I2C; in questo modo i consumi potrebbero essere minimi e permettere lunghi periodi di funzionamento stand alone.&lt;br /&gt;
&lt;br /&gt;
In una fase iniziale di sviluppo invece dell'interfaccia di comunicazione I2C potrebbe essere utilizzata la porta seriale con jsonrpc molto piu' facile da consifurare e diagnosticare.&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3872</id>
		<title>Gruppo Meteo/Pluviometro</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3872"/>
		<updated>2014-12-17T08:57:40Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Note di progettazione di un pluviometro con interfaccia I2C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Note di progettazione di un pluviometro con interfaccia I2C =&lt;br /&gt;
&lt;br /&gt;
Se rimaniamo nell'ambito del &amp;quot;Tipping&lt;br /&gt;
bucket rain gauge&amp;quot; ([http://it.wikipedia.org/wiki/Pluviometro#Pluviografi_a_doppia_vaschetta_basculante pluviometro a bascula]) direi che tutti mettono a disposizione uno switch per&lt;br /&gt;
il conteggio e cambiare pluviometro non dovrebbe essere critico.&lt;br /&gt;
&lt;br /&gt;
Bisognerebbe parametrizzare superficie dell'imbuto e volume dello scatto&lt;br /&gt;
come parametri a compilation time&lt;br /&gt;
&lt;br /&gt;
Qui pensavamo di utilizzare un piccolo microcontroller (arduino nano o&lt;br /&gt;
simili) con batteria in tampone per effettuare il conteggio (con&lt;br /&gt;
attenzione alle funzioni &amp;quot;antirimbalzo&amp;quot;) e mettere a disposizione i dati&lt;br /&gt;
su bus I2C.&lt;br /&gt;
L'host dovrebbe quindi fare due operazioni tramite I2C:&lt;br /&gt;
* a) richiedere il conteggio da ultimo reset (le parole da ultimo reset sono importanti: no reset, no dati)&lt;br /&gt;
* b) richiedere il reset del conteggio fino al momento dell'operazione a)&lt;br /&gt;
&lt;br /&gt;
questa sequenza per non perdere nessun evento considerando quindi a) e b)&lt;br /&gt;
come una singola transazione&lt;br /&gt;
&lt;br /&gt;
In questo modo la cumulata sarebbe sempre garantita vista la presenza&lt;br /&gt;
della batteria in tampone.&lt;br /&gt;
&lt;br /&gt;
L'utilizzo di un RTC locale e un firmware leggermente più sofisticato&lt;br /&gt;
potrebbe permettere di gestire su host un DB direttamente ad eventi o&lt;br /&gt;
comunque un rain rate molto più risolto.&lt;br /&gt;
Per non bruciare la eeprom il DB dovrebbe essere tutto in memoria ram e&lt;br /&gt;
potrebbe essere utile l'uso di un round robin dove memorizzare time stamp e contatore.&lt;br /&gt;
&lt;br /&gt;
Alcuni RTC hanno una batteria in tampone che potrebbe essere utilizzata anche per&lt;br /&gt;
alimentare il microcontroller.&lt;br /&gt;
&lt;br /&gt;
L'alimentazione potrebbe essere fatta tramite il cavo quadripolare I2C&lt;br /&gt;
&lt;br /&gt;
Una evoluzione ancora piu' sofisticata per la gestione energetica potrebbe essere quella di mettere il microcontroller in modalità sleep di risparmio energetico risvegliato dall'interrupt del contatto del pluviometro o dall'alimentazione sul bus I2C; in questo modo i consumi potrebbero essere minimi e permettere lunghi periodi di funzionamento stand alone.&lt;br /&gt;
&lt;br /&gt;
In una fase iniziale di sviluppo invece dell'interfaccia di comunicazione I2C potrebbe essere utilizzata la porta seriale con jsonrpc molto piu' facile da consifurare e diagnosticare.&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3871</id>
		<title>Gruppo Meteo/Pluviometro</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Pluviometro&amp;diff=3871"/>
		<updated>2014-12-17T08:51:29Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Note di progettazione di un pluviometro con interfaccia I2C */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Note di progettazione di un pluviometro con interfaccia I2C =&lt;br /&gt;
&lt;br /&gt;
Se rimaniamo nell'ambito del &amp;quot;Tipping&lt;br /&gt;
bucket rain gauge&amp;quot; (pluviometro a bascula) direi che tutti mettono a disposizione uno switch per&lt;br /&gt;
il conteggio e cambiare pluviometro non dovrebbe essere critico.&lt;br /&gt;
&lt;br /&gt;
Bisognerebbe parametrizzare superficie dell'imbuto e volume dello scatto&lt;br /&gt;
come parametri a compilation time&lt;br /&gt;
&lt;br /&gt;
Qui pensavamo di utilizzare un piccolo microcontroller (arduino nano o&lt;br /&gt;
simili) con batteria in tampone per effettuare il conteggio (con&lt;br /&gt;
attenzione alle funzioni &amp;quot;antirimbalzo&amp;quot;) e mettere a disposizione i dati&lt;br /&gt;
su bus I2C.&lt;br /&gt;
L'host dovrebbe quindi fare due operazioni tramite I2C:&lt;br /&gt;
* a) richiedere il conteggio da ultimo reset (le parole da ultimo reset sono importanti: no reset, no dati)&lt;br /&gt;
* b) richiedere il reset del conteggio fino al momento dell'operazione a)&lt;br /&gt;
&lt;br /&gt;
questa sequenza per non perdere nessun evento considerando quindi a) e b)&lt;br /&gt;
come una singola transazione&lt;br /&gt;
&lt;br /&gt;
In questo modo la cumulata sarebbe sempre garantita vista la presenza&lt;br /&gt;
della batteria in tampone.&lt;br /&gt;
&lt;br /&gt;
L'utilizzo di un RTC locale e un firmware leggermente più sofisticato&lt;br /&gt;
potrebbe permettere di gestire su host un DB direttamente ad eventi o&lt;br /&gt;
comunque un rain rate molto più risolto.&lt;br /&gt;
Per non bruciare la eeprom il DB dovrebbe essere tutto in memoria ram e&lt;br /&gt;
potrebbe essere utile l'uso di un round robin dove memorizzare time stamp e contatore.&lt;br /&gt;
&lt;br /&gt;
Alcuni RTC hanno una batteria in tampone che potrebbe essere utilizzata anche per&lt;br /&gt;
alimentare il microcontroller.&lt;br /&gt;
&lt;br /&gt;
L'alimentazione potrebbe essere fatta tramite il cavo quadripolare I2C&lt;br /&gt;
&lt;br /&gt;
Una evoluzione ancora piu' sofisticata per la gestione energetica potrebbe essere quella di mettere il microcontroller in modalità sleep di risparmio energetico risvegliato dall'interrupt del contatto del pluviometro o dall'alimentazione sul bus I2C; in questo modo i consumi potrebbero essere minimi e permettere lunghi periodi di funzionamento stand alone.&lt;br /&gt;
&lt;br /&gt;
In una fase iniziale di sviluppo invece dell'interfaccia di comunicazione I2C potrebbe essere utilizzata la porta seriale con jsonrpc molto piu' facile da consifurare e diagnosticare.&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=3064</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=3064"/>
		<updated>2014-07-09T14:24:57Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Visone generale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Valore: elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099:2008). Una osservazione (valore di una grandezza) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivata da un numero di campioni.&lt;br /&gt;
* Risultato di misura: insieme di valori attribuiti a un misurando congiuntamente a ogni altra informazione pertinente disponibile (UNI CEI 70099:2008);&lt;br /&gt;
* Taratura (Calibration): operazione eseguita in condizioni specificate, che in una prima fase stabilisce una relazione tra i valori di una grandezza, con le rispettive incertezze di misura, forniti da campioni di misura, e le corrispondenti indicazioni, comprensive delle incertezze di misura associate, e in una seconda fase usa queste informazioni per stabilire una relazione che consente di ottenere un risultato di misura a partire da un'indicazione (UNI CEI 70099:2008). NOTA: Il termine &amp;quot;calibrazione&amp;quot; non dovrebbe essere usato per designare la taratura.&lt;br /&gt;
* Trasduttore di misura: dispositivo, impiegato in una misurazione, che fornisce una grandezza di uscita avente una relazione specificata con la grandezza di ingresso (UNI CEI 70099:2008). ESEMPI Termocoppia, trasformatore di corrente elettrica, estensimetro, elettrodo per la misurazione del pH, tubo di Bourdon, lama bimetallica.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un [[sistema di misura]] è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visione generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/DisciplinareStazione&amp;diff=3063</id>
		<title>Gruppo Meteo/DisciplinareStazione</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/DisciplinareStazione&amp;diff=3063"/>
		<updated>2014-07-09T14:22:17Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: errore di ortografia&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Per ora temperatura e umidità&lt;br /&gt;
&lt;br /&gt;
http://liste.raspibo.org/wws/d_read/meteo/disciplinare%20stazione/protocollo%20misurazioni.pdf&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Software&amp;diff=3043</id>
		<title>Gruppo Meteo/Software</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Software&amp;diff=3043"/>
		<updated>2014-07-06T07:01:32Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Software pronto all'uso */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software =&lt;br /&gt;
&lt;br /&gt;
== Software r-map ==&lt;br /&gt;
* http://sourceforge.net/projects/r-map/&lt;br /&gt;
* http://sourceforge.net/p/arkimet/wiki/Home/&lt;br /&gt;
* http://sourceforge.net/p/wreport/home/Home/&lt;br /&gt;
* http://sourceforge.net/projects/mqttrepeater/&lt;br /&gt;
&lt;br /&gt;
== Altri software sviluppati da terzi ==&lt;br /&gt;
* http://mosquitto.org/&lt;br /&gt;
* http://www.rabbitmq.com/&lt;br /&gt;
* http://graphite.readthedocs.org/en/1.0/overview.html&lt;br /&gt;
&lt;br /&gt;
== Software pronto all'uso ==&lt;br /&gt;
* copia della [http://goo.gl/PT4TTZ scheda SD] usata da Paolo su raspberryPI base all'install party del 3/7/2014. Le credenziali di accesso sono: root/cambiami e rmap/rmap.&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Software&amp;diff=3039</id>
		<title>Gruppo Meteo/Software</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Software&amp;diff=3039"/>
		<updated>2014-07-05T08:19:19Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Software pronto all'uso */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software =&lt;br /&gt;
&lt;br /&gt;
== Software r-map ==&lt;br /&gt;
* http://sourceforge.net/projects/r-map/&lt;br /&gt;
* http://sourceforge.net/p/arkimet/wiki/Home/&lt;br /&gt;
* http://sourceforge.net/p/wreport/home/Home/&lt;br /&gt;
* http://sourceforge.net/projects/mqttrepeater/&lt;br /&gt;
&lt;br /&gt;
== Altri software sviluppati da terzi ==&lt;br /&gt;
* http://mosquitto.org/&lt;br /&gt;
* http://www.rabbitmq.com/&lt;br /&gt;
* http://graphite.readthedocs.org/en/1.0/overview.html&lt;br /&gt;
&lt;br /&gt;
== Software pronto all'uso ==&lt;br /&gt;
* copia della [http://goo.gl/PT4TTZ scheda SD] usata da Paolo su raspberryPI base all'install party del 3/7/2014&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Software&amp;diff=3038</id>
		<title>Gruppo Meteo/Software</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/Software&amp;diff=3038"/>
		<updated>2014-07-05T08:18:30Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Altri software sviluppati da terzi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Software =&lt;br /&gt;
&lt;br /&gt;
== Software r-map ==&lt;br /&gt;
* http://sourceforge.net/projects/r-map/&lt;br /&gt;
* http://sourceforge.net/p/arkimet/wiki/Home/&lt;br /&gt;
* http://sourceforge.net/p/wreport/home/Home/&lt;br /&gt;
* http://sourceforge.net/projects/mqttrepeater/&lt;br /&gt;
&lt;br /&gt;
== Altri software sviluppati da terzi ==&lt;br /&gt;
* http://mosquitto.org/&lt;br /&gt;
* http://www.rabbitmq.com/&lt;br /&gt;
* http://graphite.readthedocs.org/en/1.0/overview.html&lt;br /&gt;
&lt;br /&gt;
== Software pronto all'uso ==&lt;br /&gt;
* copia della [http://goo.gl/PT4TTZ scheda SD] usata da Paolo all'install party del 3/7/2014&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=3002</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=3002"/>
		<updated>2014-06-13T19:42:27Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Campionamento e processo di misurazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Valore: elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099:2008). Una osservazione (valore di una grandezza) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivata da un numero di campioni.&lt;br /&gt;
* Risultato di misura: insieme di valori attribuiti a un misurando congiuntamente a ogni altra informazione pertinente disponibile (UNI CEI 70099:2008);&lt;br /&gt;
* Taratura (Calibration): operazione eseguita in condizioni specificate, che in una prima fase stabilisce una relazione tra i valori di una grandezza, con le rispettive incertezze di misura, forniti da campioni di misura, e le corrispondenti indicazioni, comprensive delle incertezze di misura associate, e in una seconda fase usa queste informazioni per stabilire una relazione che consente di ottenere un risultato di misura a partire da un'indicazione (UNI CEI 70099:2008). NOTA: Il termine &amp;quot;calibrazione&amp;quot; non dovrebbe essere usato per designare la taratura.&lt;br /&gt;
* Trasduttore di misura: dispositivo, impiegato in una misurazione, che fornisce una grandezza di uscita avente una relazione specificata con la grandezza di ingresso (UNI CEI 70099:2008). ESEMPI Termocoppia, trasformatore di corrente elettrica, estensimetro, elettrodo per la misurazione del pH, tubo di Bourdon, lama bimetallica.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un [[sistema di misura]] è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Sistema_di_misura&amp;diff=3001</id>
		<title>Sistema di misura</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Sistema_di_misura&amp;diff=3001"/>
		<updated>2014-06-13T19:39:19Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: Creata pagina con 'insieme di uno o più strumenti di misura e in molti casi altri dispositivi, ivi compresi eventuali reagenti e alimentazioni, appositamente connessi e adattati per fornire inf...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;insieme di uno o più strumenti di misura e in molti casi altri dispositivi, ivi compresi eventuali reagenti e alimentazioni, appositamente connessi e adattati per fornire informazione usata allo scopo di stabilire, in intervalli specificati, valori misurati di grandezze di specie specificate (UNI CEI 70099).&lt;br /&gt;
&lt;br /&gt;
# NOTA 1: Talvolta si fa riferimento a uno o più degli elementi che costituiscono un sistema di misura con il termine generico &amp;quot;apparecchiatura per misurazione&amp;quot;.&lt;br /&gt;
# NOTA 2: Un sistema di misura può essere costituito da un unico strumento di misura.&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=3000</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=3000"/>
		<updated>2014-06-13T19:37:47Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Sistema di misura */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Valore: elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099:2008). Una osservazione (valore di una grandezza) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivata da un numero di campioni.&lt;br /&gt;
* Risultato di misura: insieme di valori attribuiti a un misurando congiuntamente a ogni altra informazione pertinente disponibile (UNI CEI 70099:2008);&lt;br /&gt;
* Taratura (Calibration): operazione eseguita in condizioni specificate, che in una prima fase stabilisce una relazione tra i valori di una grandezza, con le rispettive incertezze di misura, forniti da campioni di misura, e le corrispondenti indicazioni, comprensive delle incertezze di misura associate, e in una seconda fase usa queste informazioni per stabilire una relazione che consente di ottenere un risultato di misura a partire da un'indicazione (UNI CEI 70099:2008). NOTA: Il termine &amp;quot;calibrazione&amp;quot; non dovrebbe essere usato per designare la taratura.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un [[sistema di misura]] è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2999</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2999"/>
		<updated>2014-06-13T19:35:22Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Campionamento e processo di misurazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Valore: elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099:2008). Una osservazione (valore di una grandezza) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivata da un numero di campioni.&lt;br /&gt;
* Risultato di misura: insieme di valori attribuiti a un misurando congiuntamente a ogni altra informazione pertinente disponibile (UNI CEI 70099:2008);&lt;br /&gt;
* Taratura (Calibration): operazione eseguita in condizioni specificate, che in una prima fase stabilisce una relazione tra i valori di una grandezza, con le rispettive incertezze di misura, forniti da campioni di misura, e le corrispondenti indicazioni, comprensive delle incertezze di misura associate, e in una seconda fase usa queste informazioni per stabilire una relazione che consente di ottenere un risultato di misura a partire da un'indicazione (UNI CEI 70099:2008). NOTA: Il termine &amp;quot;calibrazione&amp;quot; non dovrebbe essere usato per designare la taratura.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2998</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2998"/>
		<updated>2014-06-13T19:32:45Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Campionamento e processo di misurazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Valore: elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099:2008). Una osservazione (valore di una grandezza) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivata da un numero di campioni.&lt;br /&gt;
* Risultato di misura: insieme di valori attribuiti a un misurando congiuntamente a ogni altra informazione pertinente disponibile (UNI CEI 70099:2008);&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2997</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2997"/>
		<updated>2014-06-13T19:29:26Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Campionamento e processo di misurazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Valore: elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099:2008). Una osservazione (valore di una grandezza) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivata da un numero di campioni.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2996</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2996"/>
		<updated>2014-06-13T19:25:52Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Campionamento e processo di misurazione */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Sensore&amp;diff=2995</id>
		<title>Sensore</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Sensore&amp;diff=2995"/>
		<updated>2014-06-13T19:23:13Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: Creata pagina con 'elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099)'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;elemento di un sistema di misura che è direttamente influenzato dal fenomeno, corpo o sostanza che propongono la grandezza da sottoporre a misurazione (UNI CEI 70099)&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2994</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2994"/>
		<updated>2014-06-13T19:22:41Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Sistema di misura */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Campione è una singola misura, tipicamente una di una serie di letture “spot” di un sistema di sensoristica.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* [[sensore]]: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2993</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2993"/>
		<updated>2014-06-13T19:20:52Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Definizioni */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e processo di misurazione ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Campione è una singola misura, tipicamente una di una serie di letture “spot” di un sistema di sensoristica.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* sensore: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2992</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2992"/>
		<updated>2014-06-13T19:18:48Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Campionamento e Osservazioni */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e Osservazioni ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Campione è una singola misura, tipicamente una di una serie di letture “spot” di un sistema di sensoristica.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza (UNI CEI 70099:2008);&lt;br /&gt;
* Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* sensore: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2991</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2991"/>
		<updated>2014-06-13T18:44:24Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Campionamento e Osservazioni */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e Osservazioni ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Campione è una singola misura, tipicamente una di una serie di letture “spot” di un sistema di sensoristica.&lt;br /&gt;
* Misurazione: processo volto a ottenere sperimentalmente uno o più valori che possono essere ragionevolmente attribuiti a una grandezza;&lt;br /&gt;
* Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* sensore: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
	<entry>
		<id>https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2990</id>
		<title>Gruppo Meteo/RFC-rmap obsolete</title>
		<link rel="alternate" type="text/html" href="https://www.raspibo.org/wiki/index.php?title=Gruppo_Meteo/RFC-rmap_obsolete&amp;diff=2990"/>
		<updated>2014-06-13T15:51:24Z</updated>

		<summary type="html">&lt;p&gt;Lucamenini: /* Definizioni */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= RFC rmap =&lt;br /&gt;
&lt;br /&gt;
== Definizioni ==&lt;br /&gt;
&lt;br /&gt;
==== Campionamento e Osservazioni ====&lt;br /&gt;
* Campionamento è il processo per ottenere una discretizzata sequenza di misure di una quantità.&lt;br /&gt;
* Campione è una singola misura, tipicamente una di una serie di letture “spot” di un sistema di sensoristica. &lt;br /&gt;
* Una osservazione (misurazione) è il risultato del processo di campionamento. Nel contesto di analisi di serie, un'osservazione è derivato da un numero di campioni.&lt;br /&gt;
* Variabili atmosferiche come la velocità del vento, temperatura, pressione e umidità sono funzioni di quattro dimensioni - due orizzontali, una verticale e una temporale. Esse variano irregolarmente in tutte e quattro, e lo scopo dello studio del campionamento è quello di definire le procedure di misura pratiche per ottenere osservazioni rappresentative con incertezze accettabili nelle stime delle medie e variabilità.&lt;br /&gt;
&lt;br /&gt;
==== Data Level ====&lt;br /&gt;
&lt;br /&gt;
* Dati Level I , sono le letture dirette degli strumenti espresse in appropriate unità fisiche e georeferenziate (campionamenti)&lt;br /&gt;
* Dati Level II, dati riconosciuti come variabili meteorologiche (osservazioni/misurazioni); possono essere ottenuti direttamente da strumenti o derivati dai dati Level I&lt;br /&gt;
* Dati Level III sono quelli contenuti in dataset internamente consistenti, generalmente su grigliato.&lt;br /&gt;
&lt;br /&gt;
I dati scambiati a livello internazionale sono livello II o livello III&lt;br /&gt;
&lt;br /&gt;
==== Report ====&lt;br /&gt;
&lt;br /&gt;
Un report è un insieme (sincrono) di osservazioni a livello II completo di metadati o con la possibilità di ricostruire i metadati.&lt;br /&gt;
&lt;br /&gt;
==== Protocolli per R-map ====&lt;br /&gt;
&lt;br /&gt;
* MQTT (Message Queue Telemetry Transport) è un protocollo publish/subscribe particolarmente leggero, adatto per la comunicazione M2M tra dispositivi con poca memoria o potenza di calcolo e server o message broker.&lt;br /&gt;
* AMQP (Advanced Message Queuing Protocol) è protocollo per comunicazioni attraverso code di messaggi. Sono garantite l'interoperabilità, la sicurezza, l'affidabilità, la persistenza. Nella sua implementazione Rabbitmq exporta un broker MQTT e fornisce delle api web&lt;br /&gt;
&lt;br /&gt;
==== Sistema di misura ====&lt;br /&gt;
&lt;br /&gt;
Un sistema di misura è costituito da 3 componenti:&lt;br /&gt;
* sensore: trasforma le variazioni di una grandezza misurata in variazioni di una grandezza di tipo elettrico;&lt;br /&gt;
* sistema di controllo deputato a svolgere le seguenti funzioni:&lt;br /&gt;
# acquisizione ad intervalli prestabiliti dei segnali provenienti dal sensore;&lt;br /&gt;
# eventuale memorizzazione locale dei dati;&lt;br /&gt;
# trasmissione dei dati.&lt;br /&gt;
* sistema di alimentazione.&lt;br /&gt;
&lt;br /&gt;
== Visone generale ==&lt;br /&gt;
&lt;br /&gt;
Seguendo un semplice flusso dei dati di una rete rmap compatibile si possono prevedere le seguenti fasi:&lt;br /&gt;
&lt;br /&gt;
* digitalizzazione dei campionamenti o osservazioni&lt;br /&gt;
* pubblicazione dei campionamenti su broker MQTT al di fuori del path rmap&lt;br /&gt;
* pubblicazione delle osservazioni su broker MQTT nel path rmap&lt;br /&gt;
* eventuale trasformazione dei campionamenti (level I) in osservazioni (level II) e loro ripubblicazione su broker MQTT nell'albero MQTT&lt;br /&gt;
* composizione di un report&lt;br /&gt;
* invio del report ad un accentratore tramite AMQP&lt;br /&gt;
* archiviazione dei dati in modo permanente&lt;br /&gt;
* disponibilità dei dati in archivio tramite web services&lt;br /&gt;
&lt;br /&gt;
Questo è uno schema tra i più semplici; rimane la possibilità di articolarlo replicando i servizi, distribuendoli in rete etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Dati e Metadati ==&lt;br /&gt;
&lt;br /&gt;
Ogni dato è un valore associato a 6 metadati univoci.&lt;br /&gt;
* Time (date time della osservazione o di termine del periodo di osservazione)&lt;br /&gt;
* Longitudine, latitudine ed un identificativo (utilizzabile nel caso di stazioni mobili)&lt;br /&gt;
* Tipo di report o network: definisce stazioni con caratteristiche omogenee (classe degli strumenti)&lt;br /&gt;
* Time range: indica osservazione o tempo della previsione ed eventuale elaborazione “statistica”&lt;br /&gt;
* Livello: le coordinate verticali (eventualmente strato)&lt;br /&gt;
* Variabile: parametro fisico&lt;br /&gt;
&lt;br /&gt;
Ogni dato può essere dotato inoltre di attributi (controolo di qualità) definiti dalla stessa tabella variabili.&lt;br /&gt;
E' inoltre possibile associare dei dati statici (di anagrafica, ossia invariabili nel tempo, timerange e livello) con i soli metadati longitudine, latitudine, identicativo, report&lt;br /&gt;
&lt;br /&gt;
=== Tabella time range ===&lt;br /&gt;
&lt;br /&gt;
Definition of the main concepts related to the description of time range and statistical processing for observed and forecast data:&lt;br /&gt;
&lt;br /&gt;
Validity time is defined as the time at which the data are measured or at which forecast is valid; for statistically processed data, the validity time is the end of the time interval.&lt;br /&gt;
&lt;br /&gt;
Reference time is defined as the nominal time of an observation for observed values, or as the time at which a model forecast starts for forecast values.&lt;br /&gt;
&lt;br /&gt;
The date and time in rmap are always the validity date and time of a value, regardless of the value being an observation or a forecast.&lt;br /&gt;
&lt;br /&gt;
* P1 is defined as the difference in seconds between validity time and reference time. For forecasts it is the positive forecast time. For observed values, the reference time is usually the same as the validity time, therefore P1 is zero. However P1 &amp;lt; 0 is a valid case for reports containing data in the past with respect to the nominal report time.&lt;br /&gt;
&lt;br /&gt;
* P2 is defined as the duration of the period over which statistical processing is performed, and is always nonnegative. Note that, for instantaneous values, P2 is always zero.&lt;br /&gt;
&lt;br /&gt;
The following table lists the possible values for pindicator and the interpretation of the corresponding values of P1 and P2 specifying a time range:&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 0       ||  Average &lt;br /&gt;
|-&lt;br /&gt;
| 1       ||  Accumulation &lt;br /&gt;
|-&lt;br /&gt;
| 2       ||  Maximum &lt;br /&gt;
|-&lt;br /&gt;
| 3       ||  Minimum &lt;br /&gt;
|-&lt;br /&gt;
| 4       ||  Difference (value at the end of the time range minus value at the beginning) &lt;br /&gt;
|-&lt;br /&gt;
| 5       ||  Root Mean Square &lt;br /&gt;
|-&lt;br /&gt;
| 6       ||  Standard Deviation &lt;br /&gt;
|-&lt;br /&gt;
| 7       ||  Covariance (temporal variance) &lt;br /&gt;
|-&lt;br /&gt;
| 8       ||  Difference (value at the beginning of the time range minus value at the end) &lt;br /&gt;
|-&lt;br /&gt;
| 9       ||  Ratio &lt;br /&gt;
|-&lt;br /&gt;
| 51      ||   Climatological Mean Value &lt;br /&gt;
|-&lt;br /&gt;
| 10-191  ||   Reserved &lt;br /&gt;
|-&lt;br /&gt;
| 192-254 ||  Reserved for Local Use &lt;br /&gt;
|-&lt;br /&gt;
| 200     ||  Vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 201     ||  Mode &lt;br /&gt;
|-&lt;br /&gt;
| 202     ||  Standard deviation vectorial mean &lt;br /&gt;
|-&lt;br /&gt;
| 203     ||  Vectorial maximum &lt;br /&gt;
|-&lt;br /&gt;
| 204     ||  Vectorial minimum &lt;br /&gt;
|-&lt;br /&gt;
| 205     ||  Product with a valid time ranging inside the given period &lt;br /&gt;
|-&lt;br /&gt;
| 254     ||  Istantaneous value &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella Livello ===&lt;br /&gt;
Level/layer&lt;br /&gt;
&lt;br /&gt;
This table lists the possible values for leveltype1 or leveltype2 and the interpretation of the corresponding numerical value l1 or l2. Leveltype values in the range 0-255 can be used for defining either a single level (leveltype1) or a surface delimiting a layer (leveltype1 and leveltype2) with any meaningful combination of leveltypes; values of leveltype &amp;gt;255 have a special use for encoding cloud values in SYNOP reports and they do not strictly define physical surfaces.&lt;br /&gt;
&lt;br /&gt;
The idea is borrowed from the GRIB edition 2 fixed surface concept and the values for leveltype coincide with the GRIB standard where possible.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| leveltype 	 || 	Meaning 	 	 ||	unit/contents of l1/l2  	 	 		 &lt;br /&gt;
|- 		 	 		 	 		 	 		 &lt;br /&gt;
|0 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|1 	 	 || 	Ground or Water Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|2 	 	 || 	Cloud Base Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|3 	  	 ||	Level of Cloud Tops &lt;br /&gt;
|-	 	 		 	 		 &lt;br /&gt;
|4 	  	 ||	Level of 0C Isotherm 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|5  	 	 ||	Level of Adiabatic Condensation Lifted from the Surface 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|6 	  	 ||	Maximum Wind Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|7 	 	 ||	Tropopause 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|8 	 	 ||	Nominal Top of the Atmosphere 	 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|9 	 	 ||	Sea Bottom 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|10-19 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|20 	 	 ||	Isothermal Level 	 	 	  || K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|21-99 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|100 	 	 ||	Isobaric Surface 	 	 	  || Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|101 	 	 ||	Mean Sea Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|102 	 	 ||	Specific Altitude Above Mean Sea Level 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|103 	 	 ||	Specified Height Level Above Ground 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|104 	 	 ||	Sigma Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|105 	 	 ||	Hybrid Level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|106 	 	 ||	Depth Below Land Surface 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|107 	 	 ||	Isentropic (theta) Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|108 	 	 ||	Level at Specified Pressure Difference from Ground to Level 	 	|| 	Pa 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|109 	 	 ||	Potential Vorticity Surface 	 	 ||	10-9 K m2 kg-1 s-1 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|110 	 	 ||	Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|111 	 	 ||	Eta (NAM) Level (see note below) 	 ||	 	1/10000 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|112 	 	 ||	116 Reserved 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|117 	 	 ||	Mixed Layer Depth 	 	|| 	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|118-159          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|160 	 	 ||	Depth Below Sea Level 	 	 ||	mm 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|161-191          ||     Reserved 	 	 		 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|200 	 	 ||	Entire atmosphere (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|201 	 	 ||	Entire ocean (considered as a single layer) 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|204 	 	 ||	Highest tropospheric freezing level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|206 	 	 ||	Grid scale cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|207 	 	 ||	Grid scale cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|209 	 	 ||	Boundary layer cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|210 	 	 ||	Boundary layer cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|211 	 	 ||	Boundary layer cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|212 	 	 ||	Low cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|213 	 	 ||	Low cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|214 	 	 ||	Low cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|215 	 	 ||	Cloud ceiling 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|220 	 	 ||	Planetary Boundary Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|222 	 	 ||	Middle cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|223 	 	 ||	Middle cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|224 	 	 ||	Middle cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|232 	 	 ||	High cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|233 	 	 ||	High cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|234 	 	 ||	High cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|235 	 	 ||	Ocean Isotherm Level 	 	 ||	K/10 	 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|240 	 	 ||	Ocean Mixed Layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|241 	 	 ||	Ordered Sequence of Data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|242 	 	 ||	Convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|243 	 	 ||	Convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|244 	 	 ||	Convective cloud layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|245 	 	 ||	Lowest level of the wet bulb zero 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|246 	 	 ||	Maximum equivalent potential temperature level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|247 	 	 ||	Equilibrium level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|248 	 	 ||	Shallow convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|249 	 	 ||	Shallow convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|251 	 	 ||	Deep convective cloud bottom level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|252 	 	 ||	Deep convective cloud top level 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|253 	 	 ||	Lowest bottom level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|254 	 	 ||	Highest top level of supercooled liquid water layer 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|256 	 	 ||	Clouds 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|257 	 	 ||	Information about the station that generated the data 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|258 	 	 ||	(use when ltype1=256) Cloud Data group, L1 = 1 low clouds, 2 middle clouds, 3 high clouds, 0 others 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|259 	 	 ||	(use when ltype1=256) Individual cloud groups, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|260 	 	 ||	(use when ltype1=256) Cloud drift, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|261 	 	 ||	(use when ltype1=256) Cloud elevation, L1 = group number; (use when ltype1=264) L2 = swell wave group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|262 	 	 ||	(use when ltype1=256) Direction and elevation of clouds, L1 is ignored 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|263 	 	 ||	(use when ltype1=256) Cloud groups with bases below station level, L1 = group number 	 	 		 	 		 &lt;br /&gt;
|-&lt;br /&gt;
|264 	 	 ||	Waves&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tabella variabile ( B table) ===&lt;br /&gt;
&lt;br /&gt;
B table contents SAMPLE VALUES ONLY ! (the full table is big !)&lt;br /&gt;
get it from: http://svn.smr.arpa.emr.it/dballe/dballe/trunk/tables/dballe.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|	Code 	 	|| 	Description 	 	|| 	Units 	 	|| 	Format 	 &lt;br /&gt;
|-		 	 		 	 		 	 		 &lt;br /&gt;
| 	001001 	 	 ||	WMO BLOCK NUMBER 	 	 ||	Numeric 	 ||	 	2 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001002 	 	 ||	WMO STATION NUMBER 	 	 ||	Numeric 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001006 	 	 ||	AIRCRAFT FLIGHT NUMBER 	 	 ||	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001007 	 	 ||	SATELLITE IDENTIFIER 	 	 ||	CODE TABLE 1007 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001008 	 	 ||	AIRCRAFT REGISTRATION NUMBER OR OTHER IDENTIFICATION 	 	|| 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001011 	 	 ||	SHIP OR MOBILE LAND STATION IDENTIFIER 	 	|| 	Character 	 	 ||	9 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001012 	 	 ||	DIRECTION OF MOTION OF MOVING OBSERVING PLATFORM** 	 ||	 	DEGREE TRUE 	 ||	 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001013 	 	 ||	SPEED OF MOTION OF MOVING OBSERVING PLATFORM* 	 	 ||	M/S 	 	|| 	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001019 	 	 ||	LONG STATION OR SITE NAME 	 ||	 	Character 	 	 ||	32 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001023 	 	 ||	OBSERVATION SEQUENCE NUMBER 	 ||	 	Numeric 	 	 ||	3 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001033 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING CENTRE 	|| 	 	CODE TABLE 001033 	|| 	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001034 	 	 ||	IDENTIFICATION OF ORIGINATING/GENERATING SUB-CENTRE 	|| 	 	CODE TABLE 001034 	 ||	 	3 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001063 	 	 ||	ICAO LOCATION INDICATOR 	|| 	 	Character 	 ||	 	8 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001192 	 	 ||	[SIM] MeteoDB station ID 	|| 	 	Numeric 	 ||	 	8 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001193 	 	 ||	[SIM] Report code 	 	|| 	Numeric 	 	 ||	5 digits 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001194 	 	 ||	[SIM] Report mnemonic 	 	|| 	Character 	 	 ||	16 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001212 	 	 ||	AIR QUALITY OBSERVING STATION LOCAL CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001213 	 	 ||	AIRBASE AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	7 chars 	 &lt;br /&gt;
|-&lt;br /&gt;
| 	001214 	 	 ||	GEMS AIR QUALITY OBSERVING STATION CODE 	 ||	 	Character 	 ||	 	6 chars 	 &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dati e Metadati su MQTT ===&lt;br /&gt;
&lt;br /&gt;
I dati pubblicati nel '''path mqtt rmap appartengono solo al level type II'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Stato della connessione ====&lt;br /&gt;
&lt;br /&gt;
Alla connessione deve essere inviato dalla stazione una eventuale segnalazione di sconnessione gestita male com will (retained):&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/''' &lt;br /&gt;
&lt;br /&gt;
payload : '''{&amp;quot;v&amp;quot;: &amp;quot;error01&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
poi questo messaggio viene &amp;quot;ricoperto&amp;quot; con:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/B01213&amp;quot;/'''&lt;br /&gt;
&lt;br /&gt;
payload : '''{ &amp;quot;v&amp;quot;: &amp;quot;conn&amp;quot;}'''&lt;br /&gt;
&lt;br /&gt;
==== Data e Constant Data ====&lt;br /&gt;
&lt;br /&gt;
===== Data =====&lt;br /&gt;
Ogni topic corrisponde ai metadati univoci, mentre il payload è composto dal valore e dall'instante temporale.&lt;br /&gt;
Json è il formato per il payload.&lt;br /&gt;
&lt;br /&gt;
Forma simbilica del topic:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/TRANGE/LEVEL/VAR'''&lt;br /&gt;
&lt;br /&gt;
* '''IDENT''': identificativo (per stazioni mobili), “-” per stazioni fisse o etichetta non utilizzata&lt;br /&gt;
* '''COORDS''': nella forma lon,lat. Le coordinate sono espresse nell forma int(valore*10^5) con eventuale segno negativo&lt;br /&gt;
* '''NETWORK''': etichetta massimo 16 caratteri&lt;br /&gt;
* '''TRANGE''': nella forma indicator,p1,p2; Indicator e p2 interi senza segno, p1 intero con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''LEVEL''': nella forma type1,l1,type2,l2; Type1, type2 interi con eventuale segno negativo, l1e l2 interi con eventuale segno negativo. “-” per valori non significativi&lt;br /&gt;
* '''VAR''': nella forma BXXYYY (come da codice BUFR WMO)&lt;br /&gt;
&lt;br /&gt;
Il payload è in formato JSON: '''{ “v”: VALUE, “t”: TIME, “a”: { “BXXYYY”: VALUE, … } }'''&lt;br /&gt;
* '''VALUE''': valore in formato CREX&lt;br /&gt;
* '''TIME''': formato YYYY-mm-ddTHH:MM:SS.MSC (secondi e millisecondi opzionali) &lt;br /&gt;
Gli attributi (“a”) solitamente per controllo di qualità sono opzionali&lt;br /&gt;
&lt;br /&gt;
===== Constant Data =====&lt;br /&gt;
&lt;br /&gt;
I metadati per i dati costanti (anagrafica) sono caratterizzati da questo path:&lt;br /&gt;
&lt;br /&gt;
 '''rmap/IDENT/COORDS/NETWORK/-,-,-/-,-,-,-/''' &lt;br /&gt;
&lt;br /&gt;
con payload simile a quello dei dati&lt;br /&gt;
&lt;br /&gt;
=== BUFR messages over AMQP ===&lt;br /&gt;
&lt;br /&gt;
L'accentramento dei dati della rete viene effettuato tramite due passaggi:&lt;br /&gt;
&lt;br /&gt;
* composizione di un report composto da una selezione di osservazioni (sincrone) di tipo II&lt;br /&gt;
* invio a un concentratore tramite protocollo AMQP&lt;br /&gt;
&lt;br /&gt;
Il report dovrà essere scritto in formato BUFR come descritto dal WMO:&lt;br /&gt;
http://www.wmo.int/pages/prog/www/WMOCodes.html&lt;br /&gt;
&lt;br /&gt;
Nello specifico sono stati selezionati solo alcuni template ed è possibile usare un template denominato &amp;quot;generic&amp;quot;&lt;br /&gt;
con il quale è possibile l'invio di tutti i dati pubblicati su bus MQTT secondo lo standard rmap.&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==== generic template ====&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
===  RMAP web services ===&lt;br /&gt;
&lt;br /&gt;
==== Composizione degli URL per un HTTP GET request =====&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;base&amp;quot; della richiesta è quella standard, i.e.:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
 '''/-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101'''&lt;br /&gt;
&lt;br /&gt;
E' l'URL che identifica la misurazione effettuata dalla stazione fissa (`-`) con longitudine 12,07738 e latitudine 44.60016 (`1207738,4460016`) per la rete `locali`; la grandezza misurata è istantanea (`254,0,0`), è stata presa a 2 metri dal suolo (`103,2000,-,-`) ed è una temperatura (`B12101`).&lt;br /&gt;
&lt;br /&gt;
==== Lettura dei dati ====&lt;br /&gt;
&lt;br /&gt;
===== Serie temporale =====&lt;br /&gt;
&lt;br /&gt;
Serie temporale mensile, giornaliera e annuale:&lt;br /&gt;
&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month'''&lt;br /&gt;
 '''/ident/coords/network/timerange/level/bcode/timeseries/year/month/day'''&lt;br /&gt;
&lt;br /&gt;
Ad esempio:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01&lt;br /&gt;
 /-/1207738,4460016/locali/254,0,0/103,2000,-,-/B12101/timeseries/2011/01/13&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è in `GeoJSON`:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
  &amp;quot;type&amp;quot;: &amp;quot;FeatureCollection&amp;quot;,&lt;br /&gt;
  &amp;quot;features&amp;quot;: [&lt;br /&gt;
    {&lt;br /&gt;
      &amp;quot;geometry&amp;quot;: {&lt;br /&gt;
        &amp;quot;type&amp;quot;: &amp;quot;Point&amp;quot;,&lt;br /&gt;
        &amp;quot;coordinates&amp;quot;: [&lt;br /&gt;
          10.26667,&lt;br /&gt;
          46.81667&lt;br /&gt;
        ]&lt;br /&gt;
      },&lt;br /&gt;
      &amp;quot;type&amp;quot;: &amp;quot;Feature&amp;quot;,&lt;br /&gt;
      &amp;quot;properties&amp;quot;: {&lt;br /&gt;
        &amp;quot;datetime&amp;quot;: &amp;quot;2011-01-25T00:00:00&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v1&amp;quot;: 2000,&lt;br /&gt;
        &amp;quot;ident&amp;quot;: null,&lt;br /&gt;
        &amp;quot;level_t1&amp;quot;: 103,&lt;br /&gt;
        &amp;quot;network&amp;quot;: &amp;quot;locali&amp;quot;,&lt;br /&gt;
        &amp;quot;level_t2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;bcode&amp;quot;: &amp;quot;B12101&amp;quot;,&lt;br /&gt;
        &amp;quot;level_v2&amp;quot;: null,&lt;br /&gt;
        &amp;quot;value&amp;quot;: 263.75,&lt;br /&gt;
        &amp;quot;trange_p2&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_p1&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;trange_pind&amp;quot;: 254&lt;br /&gt;
      }&lt;br /&gt;
    },&lt;br /&gt;
    ...&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
===== Serie spaziale =====&lt;br /&gt;
&lt;br /&gt;
Serie spaziale di una rete, con granularità oraria (± 30 minuti):&lt;br /&gt;
&lt;br /&gt;
'''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/spatialseries/&amp;lt;year:int&amp;gt;/&amp;lt;month:int&amp;gt;/&amp;lt;day:int&amp;gt;/&amp;lt;hour:int&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
Il formato di uscita è il `GeoJSON` usato nella serie temporale.&lt;br /&gt;
&lt;br /&gt;
==== Riassuntivo ====&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di tutto il database:&lt;br /&gt;
&lt;br /&gt;
'''/*/*/*/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una stazione (fissa o mobile):&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/*/*/*/summaries'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Riassuntivo di una misurazione in un dato mese:&lt;br /&gt;
&lt;br /&gt;
 '''/*/*/&amp;lt;network&amp;gt;/&amp;lt;pind:int&amp;gt;,&amp;lt;p1:int&amp;gt;,&amp;lt;p2:int&amp;gt;/&amp;lt;lt1:int&amp;gt;,&amp;lt;l1&amp;gt;,&amp;lt;lt2&amp;gt;,&amp;lt;l2&amp;gt;/&amp;lt;bcode&amp;gt;/summaries/&amp;lt;year&amp;gt;/&amp;lt;month&amp;gt;'''&lt;br /&gt;
&lt;br /&gt;
==== Anagrafica ====&lt;br /&gt;
&lt;br /&gt;
 '''/-/&amp;lt;lon:int&amp;gt;,&amp;lt;lat:int&amp;gt;/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
 '''/&amp;lt;ident&amp;gt;/*/&amp;lt;network&amp;gt;/-,-,-/-,-,-,-/*/stationdata'''&lt;br /&gt;
&lt;br /&gt;
La risposta è in `GeoJSON` ed analoga a quella dei dati, con la differenza che è multivariabile.&lt;br /&gt;
&lt;br /&gt;
==== Versioning ====&lt;br /&gt;
&lt;br /&gt;
Le `API` avranno come prefisso la versione in uso.&lt;br /&gt;
&lt;br /&gt;
Ad esempio, serie temporale mensile usando la versione 0.1:&lt;br /&gt;
&lt;br /&gt;
curl http://api.borinud.arpa.emr.it/v0.1/-/1120000,4450000/generic/254,0,0/103,2000,-,-/B12101/timeseries/2013/09&lt;/div&gt;</summary>
		<author><name>Lucamenini</name></author>
	</entry>
</feed>