Extensible Weather Data Protocol
Attenzione: il presente documento non è stato ancora approvato come UFFICIALE!
Indice
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