Skip to content

server: amatyr AmatyrEnrico2 description #165

@EnricoScariot

Description

@EnricoScariot

Per una descrizione più precisa dei bug che citerò basterà consultare le issues #163 #161 .

Attraverso questa issue vorrei illustrare quello che ho capito della struttura di Amatyr descrivendo a parole le problematiche che ho dovuto affrontare durante la mia operazione di adattamento del software ai dati di rmap.

Ho lavorato utilizzando google chrome, cache disattivata e plug in Allow-Control-Allow-Origin installato ed attivo

Il software Amatyr è a mio avviso molto complesso (non sono un programmatore esperto per cui prendete con le pinze questa mia affermazione) ed è pensato per funzionare con dei file json che contengano al loro interno variabili meteorologiche raggruppate per stazione, il software originale infatti funziona prendendo i dati da un'unica stazione meteo posta in Norvegia che produce diversi file json a seconda del timerange che vogliamo (oggi, ieri, 3 giorni, 7 giorni, 30 giorni, un anno). Ogni file è un Array di oggetti JSON che contiene moltissime variabili meteorologiche, tutte facenti riferimento alle variabili che la stazione meteo produce, non esistono variabili nulle (molto importante perchè tutto funzioni). I dati di rmap sono invece raggruppati per sensore, e questo non permette di replicare la situazione originale in cui in ogni json si trovavano tutti i dati che servivano per la visualizzazione del grafico. Dal momento che sarebbe impensabile cambiare l'intera struttura del programma per adattarlo ai dati che ci servono ho cercato di ricreare la situazione originale creando un oggetto json da dare in pasto alla funzione draw() definita all'interno della libreria amatyrlib.js che sia uguale (magari con meno keys) quanto più possibile all'originale.
In questo modo il software funziona anche se bisogna stare attenti a chiamare la draw all'interno di una d3.json() e con problemi di mutua esclusione (risolti con le callback come gentilmente mi avete insegnato ma che non ho provato di persona) che creano problemi di tanto in tanto nella visualizzazione del grafico.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions