Closed marcs7 closed 4 years ago
Grazie mille del contributo @marcs7 proponi una struttura anche con un commento qui?
Chiederei di non cambiare la struttura dei dati forniti. Ormai sono diverse settimane che si sono utilizzati sistemi di integrazione che utilizzano questo formato.
@giocaputo ogni evoluzione o miglioramento di lettura e analisi viene comunque vagliata perchè è un contributo che arriva, poi si ragiona sulla possibilità
Qualche minuto perchè la sto scrivendo con un validator cosi posso condividere il link
Questa è una piccola struttura che ho creato usando come basei json attuali, i nomi si possono modificare a piacemento però come struttura può essere più comoda https://bit.ly/2IWnVNI (schiacciare copy -> e poi tree)
Questa è una piccola struttura che ho creato usando come basei json attuali, i nomi si possono modificare a piacemento però come struttura può essere più comoda https://bit.ly/2IWnVNI (schiacciare copy -> e poi tree)
Buono! Preferire riscrivere il codice piuttosto che continuare a parsare il JSON per come viene fornito attualmene.
+1 per questa request
@marcs7 grazie però se avviene questo nel mio caso dovrò fare una marea di modifiche perchè parso con la struttura attuale.
@downFast dipende da come viene scritta l’app, io usando Python ho creato la una dashboard parsando la struttura attuale ma è molto flessibile per cui da me le modifiche sono indolori Ora come sono ora seguire i dati lo vedo un po’ difficile perché devi incrementare e se l’incremento non corrisponde perdi del tempo nel debug
Ritengo la proposta valida, ma ritengo anche che i problemi legati attualmente alla struttura in uso possano essere facilmente risolti con una piccola fase di pre-processamento e riorganizzazione dei dati. Non credo che accedere ai dati per 'posizione' sia affidabile, ci sono abbastanza chiavi da poter usare per crearsi mappe o altre genere di struttura a piacimento, ordinate e validate.
Se può servire, personalmente per quanto riguarda il json regionale metto su una mappa con chiave la regione e l'intero array filtrato per quella regione come valore, il che mi semplifica molto l'utilizzo di questi dati, è come avere a che fare con la struttura del json nazionale ma specifico per regione.
Premetto che anch'io, in passaggi intermedi, ri-aggrego i dati per timestamp perché mi servono tra le varie cose anche per mappe animate, in cui la chiave diventa il momento dell'osservazione.
Però risistemare i dati tocca a chi scrive le applicazioni. Il formato attuale è assolutamente piatto ed è il più neutro possibile: non esprime "opinioni" sull'uso dei dati. E fare un po' di pre-processing come dice @SimoneTinella non è certo un compito proibitivo.
Al limite, se si dovesse ripensare il JSON, io eviterei la duplicazione delle informazioni ridondanti. In questo momento https://github.com/pcm-dpc/COVID-19/blob/master/dati-json/dpc-covid19-ita-province.json contiene 25 volte le coordinate di Parma (o qualsiasi altra provincia); e, per ogni provincia, ogni giorno vengono aggiunte 10 righe di cui solo una utile, le altre sono tutte duplicate.
Quindi la struttura dei record interni potrebbe passare da:
{
"data": "2020-03-17 17:00:00",
"stato": "ITA",
"codice_regione": 8,
"denominazione_regione": "Emilia Romagna",
"codice_provincia": 34,
"denominazione_provincia": "Parma",
"sigla_provincia": "PR",
"lat": 44.80107394,
"long": 10.32834985,
"totale_casi": 800
},
a qualcosa tipo:
{
"stato": "ITA",
"codice_regione": 8,
"denominazione_regione": "Emilia Romagna",
"codice_provincia": 34,
"denominazione_provincia": "Parma",
"sigla_provincia": "PR",
"lat": 44.80107394,
"long": 10.32834985,
"totale_casi": [
{"data": "2020-03-17 17:00:00", "numero": 800},
{"data": "2020-03-18 17:00:00", "numero": 810},
{"data": "2020-03-19 17:00:00", "numero": 820}
]
},
Questo sicuramente sarebbe un vantaggio tecnico, perché si risparmierebbe il 90% di inutile duplicazione che c'è ora e si manterrebbe il file gestibile anche nel lungo termine (provate a pensare cosa succederebbe se avessimo i dati per tutti gli 8000 comuni italiani); inoltre si semplificherebbe un po' il compito a chi vuole lavorare con time series. Chi vuole solo l'ultima giornata usa https://github.com/pcm-dpc/COVID-19/blob/master/dati-json/dpc-covid19-ita-province-latest.json e simili.
@pescetti la mia era solo un'idea di come riorganizzare i dati perchè come hai detto tu alcune informazioni sono ridondanti, la tua struttura è sicuramente migliore di quella attuale e molto più ordinata e permetterebbe una migliore gestione dei dati come per chi vorrebbe fare un grafico per l'andamento dei dati nel tempo
@pescetti un json come il tuo sarebbe una manna dal cielo anche per me.
Grazie a tutti per la collaborazione e a @marcs7 che ha aperto la discussione. Analizzando la cosa ritengo che il formato di @pescetti è ordinato e permette di organizzare meglio i dati anche in ottica di ampliamento delle informazioni. Grazie a tutti.
@umbros ci sarà un minimo di preavviso prima del cambiamento? O un transitorio in cui il nuovo formato dei json verrà affiancato al vecchio, prima che sia dismesso completamente?
Tipo di richiesta suggerimento di miglioramento (documentazione, label, ecc)
Riassunto
I dati json non sono molto comodi da essere parsati dato che per avere un valore devo incrementare di tot ogni giorno, ad esempio la Sardegna ieri era la numero 497 mentre oggi è la numero 518 per come sono formattati i dati (link https://bit.ly/3beueYX)
Sarebbe molto comodo creare i json come oggetti suddividendoli per data e poi per regione in modo da essere parsati meglio
Interesse pubblico
Si potrebbero parsare meglio i dati e migliorarne la lettura in generale e un debug migliore