Ciao a tutti,
quella delle modalità di rilascio dei confini amministrativi italiani è un’annosa questione ampiamente dibattuta, ma mai risolta. Vorrei fare insieme a voi un punto della situazione ora che il 2019 sta volgendo al termine. Chi ha già chiaro il contesto può saltare all’ultimo paragrafo dedicato alla proposta.
La situazione ufficiale
Con il termine “confini amministrativi” si intende l’insieme delle ripartizioni geografiche (nord, centro, sud, ecc.), le regioni, le province, le città metropolitane e i comuni italiani. Per ognuna di esse l’ISTAT assegna un identificativo unico (codice istat) e ne rilascia i confini geografici (shapefile). Tiene anche traccia di tutte le loro variazioni nel tempo e ne aggiorna regolarmente i dati, mantenendone uno storico dettagliato dal 1991.
Tutte queste informazioni sono rilasciate sotto forma di file statici in formato csv (tabella), xls (tabella), shp (file geografico) spesso in archivi zip, da enti diversi (es. Agenzia delle Entrate, Ministero dell’Interno per ANPR, ISTAT).
Il codice ISTAT non è l’unico che identifica le unità territoriali, per esempio c’è quello catastale dei comuni (es. dall’Agenzia delle Entrate) oppure le sigle automobilistiche dell’ACI assegnate alle province. Ogni unità territoriale poi fa capo a un’istituzione locale, normalmente identificata da un codice iPA. Il codice ISTAT è però l’unico che permette di associare dati ai confini amministrativi e quindi costruire mappe tematiche dell’Italia.
I limiti attuali
Benché tutto in open data, e quindi riutilizzabile, le modalità di accesso a queste informazioni hanno sempre reso difficile, se non impossibile, una loro efficace ed efficiente integrazione in un qualsiasi progetto che ne abbia bisogno. Gli esempi classici di applicazione sono due:
- costruire un form (es. di iscrizione) aggiornato in cui selezionare regione → provincia → comune
- associare un’area geografica al nome di un comune presente in una base dati qualsiasi per poter costruire una mappa tematica
Alcuni spunti di discussione da questa community hanno evidenziato molti limiti delle modalità di rilascio attuali e fornito molti suggerimenti su come migliorare la situazione:
- nel thread “Servizi Rest Geografici” del 27 marzo 2017 si auspica la creazione di web service geografici basati sui dati ISTAT e non solo
- il thread “API per l’elenco dei comuni italiani” del 4 ottobre 2017 proseguito fino a oggi
- il thread “Feature request: dataset miliari, certificati, aggiornati, linkati e accessibili via API” del 3 dicembre 2018
Ecco una selezione, sicuramente parziale, di alcuni progetti indipendenti che nel passato hanno affrontato il tema di una gestione più efficace di questi dati:
- Wikidata
- Repository matteocontrini/comuni-json su Github
- Pacchetto italia su npm
- Modulo django-comuni-italiani su pip
- Repository enrichman/gomuni su Github
- Repository Dataninja/geo-shapes su Github
Anche se non indipendente, perché facente parte del lavoro sui Linked Open Data della PDND, segnalo anche i vocabolari controllati delle classificazioni territoriali.
Segnalate pure in questo thread altri esempi, anche se relativi a esperienze concluse o abbandonate, in modo da mettere a fattor comune l’esperienza fatta in questi anni.
Nota: al tema dei confini amministrativi si collegano anche quelli relativi ai numeri civici e ai CAP, che però sono affetti da ulteriori problemi che esulano da questa discussione. Per approfondire consulta questi thread: numeri civici e CAP.
La proposta
Raccogliamo in un unico luogo (questo thread per cominciare) tutta l’esperienza fatta finora su questo tema e mettiamo nero su bianco requisiti e specifiche di prodotti o servizi che possano superare i limiti tutt’ora in essere. Alcune soluzioni immaginabili potranno essere implementate mediante un processo partecipativo (es. sviluppo su Github), altre potranno essere da stimolo alle istituzioni che hanno la titolarità, e quindi la responsabilità diretta, di questi dati.
Ecco qualche esempio da cui partire e che si può approfondire e dettagliare ulteriormente:
- definizione di un sistema di versionamento coerente e chiaro (es. cartelle, tag o branch su Github)
- pubblicazione dei dati ufficiali in rappresentazioni e formati utili per specifiche esigenze
- applicazioni e servizi
- map builder (es. seleziona i territori che ti interessano e scarica solo quelli)
- semplici API per l’interrogazione e la ricerca (es. codice istat → nome, codice istat → coordinate del centroide, codice istat → confini geografici, codice istat regione → elenco comuni, ecc.)
- API o applicazioni / script / utility più complesse (es. nome comune → codice/i istat, servizi di riconciliazione, di join con logica fuzzy, coordinate geografiche → comune che le contiene per servizi di geolocalizzazione, ecc.)
- …