Closed priolap closed 8 months ago
aggiungo anche che non utilizzo ITTER107_DESC perché in alcuni casi c'è una incongruenza. Ad esempio:
urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=IT1:82_87(1.1)
qui abbiamo che nel campo è segnalato il numero di abitanti, oppure non è valorizzato, nonostante il campo ITTER107 invece lo sia
inoltre ITD ([Northeast Italy] è ora ITH, fonte : https://en.wikipedia.org/wiki/Northeast_Italy)
Ciao @priolap mi aiuti a capire con un esempio?
Mi indichi un codice di un dataflow che hai scaricato, che ti ha dato incongruenze?
Il tuo obiettivo principale è la mappa Comuni codici NUTS?
{ "id": "82_87", "urn": "urn:sdmx:org.sdmx.infomodel.datastructure.Dataflow=IT1:82_87(1.1)", "version": 1.1, "agencyID": "IT1", "name": "Aspetti della vita quotidiana - Famiglie" } questo è un esempio dove: 1) ci sono nel campo ITTER107 sia codici nuts che codici istat
se vuoi posso reperire esempi dove: 1) il codice per bolzano/treno è obsoleto (dovrebbe essere ITH) 2) il campo ITTER107_DESC è valorizzato in maniera errata
il mio obiettivo è ricavare la descrizione corretta, sia regione sia comune o zona
Ciao @priolap , ho scaricato il dataflow 82_87 a cui fai riferimento, che più o meno appare come sotto. In ITTER107 vedo la lista dei codici prevista dallo schema.
Rifaccio i passi della guida:
Ma temo di non esserti stato d'aiuto :(
sono io forse a essermi spiegata male, o forse non siete voi il target di questa domanda. Mi spiego meglio.. nel campo ITTER107, c'è una mescolanza di codici comunali ISTAT (dal tuo screenshot, ad esempio è il 2) e di codici nuts dell'UE (se scorri la tabella, appare ITD1); a ciò si aggiunge che i codici nuts non sono neppure aggiornati, dove quindi il nord-est è etichettato ancora come ITD, dovrebbe essere ITH.
Volendo ignorare i codici, nel campo ITTER107_DESC, che dovrebbe essere la corrispondenza regione/comune come appare in altre tabelle, si trovano invece descrizioni come "più di 2 mln di abitanti ecc"
sono mismatch del DB ISTAT?
Ciao @priolap, sono io probabilmente che non capisco, ma troveremo la quadra.
Quel campo per 82_87 contiene i valori distinti di sotto. Io estraggo i loro valori dalla codelist correlata: http://sdmx.istat.it/SDMXWS/rest/codelist/IT1/CL_ITTER107
E in questa ad esempio 2
è "centro area metropolitana"-
<structure:Code id="2" urn="urn:sdmx:org.sdmx.infomodel.codelist.Code=IT1:CL_ITTER107(5.6).2">
<common:Name xml:lang="it">centro area metropolitana</common:Name>
<common:Name xml:lang="en">metropolitan area - centre</common:Name>
<structure:Parent>
<Ref id="IT" />
</structure:Parent>
</structure:Code>
È un tipo di campo con livelli gerarchici differenti. Non contiene soltanto i Comuni. Il dettaglio gerarchico dipende dal dataflow.
Quando ad esempio ci sono i Comuni, e voglio estrarre soltanto i Comuni, io filtro tramite espressione regolare. Ogni livello gerarchico ha una sua struttura mappabile.
Dove trovi il field ITTER107_DESC
? Nei vari URI che ti ho indicato, non ne trovo traccia.
Sull'aggiornamento dati e disallineamenti, non devi chiedere a noi. Noi abbiamo scritto la guida.
grazie @aborruso,
mi è più chiaro il discorso. Allora io devo mappare con delle logiche i codici ISTAT e NUTS in autonomia (è un problema a monte), mentre mi chiedevo appunto cosa fossero i codici prettamente numerici (il numero 2 ad esempio).
come posso filtrare i dati, quando li scarico, in maniera tale da avere una granularità al massimo comunale? Io lavoro su python, però se mi mostri i comandi in altro linguaggio poi li riadatto
come posso filtrare i dati, quando li scarico, in maniera tale da avere una granularità al massimo comunale? Io lavoro su python, però se mi mostri i comandi in altro linguaggio poi li riadatto
Come accennavo sopra, uno dei modi è usare le regex: tutti i record che nel campo ITTER107
contengono soltanto 6 numeri, ovvero ^[0-9]{6}$
, saranno i Comuni.
E in Python (e in qualsiasi linguaggio) trovi come usare le regex.
Una volta che hai i Comuni, qui trovi una mappatura con i NUTS https://www.istat.it/storage/codici-unita-amministrative/Elenco-comuni-italiani.xlsx
allora penso che sia di lunghezza tre, perché da query io vedo il progressivo del comune (es. 108)
di fatto a me servono dati su granularità regionale, vi è modo per evitare di fare il giro dal comune? Intanto grazie mille
@priolap la granularità è fissata a monte. Via SDMX scarichi il dato grezzo e lo elabori.
Se vuoi cose "precotte", magari trovi già quello che ti serve in https://esploradati.istat.it/databrowser/
grazie per i chiarimenti, devo passare per API. Buon tutto e grazie ancora :-)
Se non ne riesci a uscire, per favore indicami i dettagli ("scarico questo xml con questo URL, da qui voglio estrarre ..., e vorrei poi aggregare, ..."). Se non mi dai qualcosa di riproducibile, ti annoierò ancora con esempi della guida :)
@priolap ho avuto il tuo stesso problema, allora ho creato un mega json con tutti i nuts e tutti gli istat codes per comuni con coordinate ecc ecc. Quelle che hanno le stesse coordinate le ho lasciate così perchè sono o dismesse o cose tipo distretto ecc.
Immagino ti sarà utile, anzi qualora notassi qualcosa da migliorare senza cambiare la struttura json, te ne sarei grato.
Json:
ciao @JikuRoby,
grazie per il JSON, ne ho costruito uno anche io meno granulare (a me non servono LAT/LONG ecc) ma è sempre molto utile averne uno più approfondito, grazie mille.
@aborruso ho trovato il modo di armonizzare, grazie!
Ciao @priolap ero sicuro che ci saresti riuscita.
Se il tuo lavoro produce qualche esito pubblico, mi piacerebbe essere informato.
Questa guida è stata creata per dare la possibilità di produrre "qualcosa" e quindi è un piacere poterne osservare qualche evidenza.
Un saluto a entrambi
@aborruso grazie,
questo lavoro è dentro il mio progetto dottorale quindi spero proprio di pubblicarlo :-)
ti terrò informato! Paola
ciao ragazzi,
leggendo la vostra guida il campo ITTER107 rappresenta il codice ISTAT del comune, scaricabile da qui: https://www.istat.it/it/archivio/6789
tuttavia facendo un controllo incrociato ho trovato come valori da diverse tabelle i codici NUTS https://it.wikipedia.org/wiki/Nomenclatura_delle_unit%C3%A0_territoriali_per_le_statistiche_dell%27Italia
faccio un esempio: vi è come valore IT108, corrispondente a Monza per il codice ISTAT, ma anche ITC1, corrispondente al NUTS code 2. Non riesco quindi a fare il corretto mapping, vorrei estrarre Regione dove è regionale, Comune dove è comune.
Potete aiutarmi? Grazie Paola