Extensible Weather Data Protocol

Da MeteoNetwork Wiki.
Jump to navigation Jump to search

Attenzione: il presente documento non è stato ancora approvato come UFFICIALE!

Introduzione

L'eXtensible Weather Data Protocol è un formato proposto e adottato dall'Associazione MeteoNetwork ONLUS per il trasferimento di dati realtime (puntuali)


Licenza

Il protocollo, quindi anche questo documento, è completamente libero, privo di alcun vincolo commerciale.


Sintassi

Il protocollo utilizza come formato JSON (JavaScript Object Notation)


Revisioni

Revisione 1.1 (prima versione)


Campi e formato dati


Di seguito viene elencata la stringa completa:


Attenzione: per i numeri è specificata la dimesione intera e decimale.

Esempio: number(2,1): 2 numeri interi e 1 decimale: 12.6


{
    "code": "string",
    "protocol": "string",
    "software": "string",
    "data": [
		{"datetime": "datetime ISO 8601", 
		 "values": {
			"temperature": {
				"current": number(2,1),
				"dailymax": number(2,1),
				"dailymin": number(2,1),
				"dailymaxtime": "datetime ISO 8601", 
				"dailymintime": "datetime ISO 8601"
				},
			"humidity": {
				"current": number(3,0),
				"dailymax": number(3,0),
				"dailymin": number(3,0),
				"dailymaxtime": "datetime ISO 8601", 
				"dailymintime": "datetime ISO 8601"
				},
			"rain": {
				"total": number(4,2),
				"currentrate": number(4,2),
				"maxdailyrate": number(4,2),
				"maxdailyratetime": "datetime ISO 8601"
				},
			"wind": {
				"currentmed": number(3,1),
				"currentmax": number(3,1),
				"currentdirmed": "string",
				"currentdirmax": "string"
				"dailymed": number(3,1),
				"dailymax": number(3,1),
				"dailydirmed": "string",
				"dailydirmax": "string",
				"dailymaxtime": "datetime ISO 8601"
				},
			"pressure": {
				"current": number(4,1),
				"dailymax": number(4,1),
				"dailymin": number(4,1),
				"dailymaxtime": "datetime ISO 8601", 
				"dailymintime": "datetime ISO 8601"
				},
			"solar": {
				"current": number(4,1),
				"dailymax": number(4,1),
				"dailymin": number(4,1),
				"dailymaxtime": "datetime ISO 8601", 
				"dailymintime": "datetime ISO 8601"
				},
			"uv": {
				"current": number(4,1),
				"dailymax": number(4,1),
				"dailymin": number(4,1),
				"dailymaxtime": "datetime ISO 8601", 
				"dailymintime": "datetime ISO 8601"
				}
			}				
		}
	]
}


Considerazioni

Code

E' il codice stazione, non vincolante a un massimo di caratteri. Per la rete MeteoNetwork è in formato cccxxx (es. lmb999).


Protocol

Formato stringa. Fa riferimento alla versione del protocollo (es. 2.1).

Non è in formato numerico per compatibilità con formati futuri


Software

Stringa di massimo 5 caratteri che identifica il software utilizzato (3 caratteri per il software + 2 per la versione del software).

Qui una tabella di riferimento:

WeatherLink WLX
Virtual Weather Station VWS
Weather Display WDX
MeteoLog MLX
GraphWeather GWX


Data

Array JSON che contiene un sub-array diviso per dato puntuale


Datetime

Contiene il timestamp dell'array con i dati puntuali.

E' in formato ISO 8601 o formato SQL.

E' nel formato

aaaa-mm-gg hh:mm:ss[tt] 

dove tt è il timestamp in formato +[-]0000 che fa riferimento a UTC (notazione sempre solare).


Esempio:

per i dati adattati con l'ora locale italiana, che fa riferimento alla data 2010-04-02 12:23:00 UTC:

- In inverno dovrà avere: 2010-04-02 12:23:00+0100 - In estate dovrà avere 2010-04-02 12:23:00+0200


Attenzione

E' prevista nella norma ma NON AMMESSA nel presente protocollo la notazione ZULU (z) per indicare l'UTC +0000



Temperature

Formato numerico di max 2 cifre intere e max 1 cifra decimale.

Utilizza il formato GRADI CENTIGRADI senza notazione °C

La separazione decimale è prevista con il Punto e NON la virgola


Esempio: per indicare, in formato "italiano" 14,6°C verrà inserito 14.6



Humidity

Formato numerico di max 3 cifre intere e NESSUNA cifra decimale.

Utilizza il formato PERCENTUALE per l'UMIDITA' RELATIVA


Esempio: per indicare 67% di UR verrà inserito 67


Rain

Total

Pioggia accumulata giornaliera (quindi, NON singolo scatto del pluviometro)

Formato numerico di max 4 cifre intere e 2 cifre decimali.

Utilizza il formato METRICO in MILLIMETRI La separazione decimale è prevista con il Punto e NON la virgola


Esempio: per indicare 65,3mm di pioggia verrà inserito 65.3

Rate

Rateo Pioggia (Rain Rate) MASSIMA del dato puntuale

Formato numerico di max 4 cifre intere e 2 cifre decimali.

Utilizza il formato METRICO in MILLIMETRI La separazione decimale è prevista con il Punto e NON la virgola


Esempio: per indicare 165,3mm/h di pioggia verrà inserito 165.3


Wind

Med

Indica la velocità media del vento.

Formato numerico di max 3 cifre intere e max 1 cifra decimale.

Utilizza il formato CHILOMETRI ORARI senza notazione km/h

La separazione decimale è prevista con il Punto e NON la virgola


Esempio: per indicare, in formato "italiano" 43,6km/h verrà inserito 43.6


Max

Indica la raffica massima del vento.

Formato numerico di max 3 cifre intere e max 1 cifra decimale.

Utilizza il formato CHILOMETRI ORARI senza notazione km/h

La separazione decimale è prevista con il Punto e NON la virgola


Esempio: per indicare, in formato "italiano" 43,6km/h verrà inserito 43.6


Dirmed

Indica la direzione media del vento.

Formato stringa di max 3 caratteri.


Tabella di conversione da GRADI a formato STRINGA:

N	0
NNE	22.5
NE	45
ENE	67.5
E	90
ESE	112.5
SE	135
SSE	157.5
S	180
SSW	202.5
SW	225
WSW	247.5
W	270
WNW	292.5
NW	315
NNW	337.5


Dirmax

Indica la direzione della raffica massima del vento.

Formato stringa di max 3 caratteri.


Pressure

Indica la pressione barometrica, in formato Ettopascal (hPa), 4 cifre intere e 1 decimale.


Esempio: 1024,3hPa verrà inserito come 1024.3