Collezione di utilities per facilitare il riuso dei dati ISTAT e ANPR sui confini amministrativi italiani. Per approfondimenti e discussione è aperto un thread dedicato su Forum Italia.
Work in progress, al momento l'output completo è pubblicato in versione di prova su dev.ondata.it/confini-amministrativi-istat/v1.
Nel file sources.json
ci sono i link a tutti gli shapefile rilasciati da ISTAT dal 2001 elencati in questa tabella
e il link all'archivio dei comuni di ANPR.
Lo script main.py
scarica gli archivi zip dal sito ISTAT, li decomprime e li elabora in cartelle nominate con la data di rilascio: v1/YYYYMMDD/
.
Scarica anche il file di ANPR e lo arricchisce con i dati ISTAT contenuti negli shapefile.
Al momento sono supportati i seguenti formati di output:
- ESRI shapefile nella cartella
shp/
(formato originale) - Comma-separated values nella cartella
csv/
- Javascript Object Notation nella cartella
json/
- Geojson nella cartella
geojson/
- Geopackage nella cartella
geopkg/
- Topojson nella cartella
topojson/
Geobuf nella cartellageobuf/
Il file di ANPR è quello originale arricchito delle denominazioni e dell'indicazione degli shapefile in cui i comuni sono presenti.
Avvertenza: al momento è inserita nel repository solo la cartella di output risultante dall'esecuzione dell'applicazione relativa al file ISTAT più recente.
Si consiglia caldamente di usare la versione dockerizzata.
Avvertenza: al momento la conversione in geobuf è commentata perché va in errore
Modalità consigliata
Clona questo repository con Git: git clone https://github.com/teamdigitale/confini-amministrativi-istat.git
.
Entra nella cartella appena creata: cd confini-amministrativi-istat/
.
Effettua la build delle immagini: docker build -t ondata-conf-amm-istat .
(puoi usare lo script pipenv run build
).
Esegui il container per ogni tipologia di confine amministrativo e per tutte le versioni (docker run -v $PWD:/app ondata-conf-amm-istat:latest
) oppure indicando la singola versione di interesse: docker run -e SOURCE_NAME=YYYYMMDD -v $PWD:/app ondata-conf-amm-istat:latest
.
Puoi usare l'utility bash generate.sh [YYYYMMDD]
.
Avvertenza: l'esecuzione può richiedere diversi minuti, o anche ore nel caso dell'elaborazione di tutte le versioni.
Modalità altamente sconsigliata, le dipendenze indirette sono molte e si reggono su un equilibrio precario tra le versioni di ogni libreria.
Clona questo repository con Git: git clone https://github.com/teamdigitale/confini-amministrativi-istat.git
.
Entra nella cartella appena creata: cd confini-amministrativi-istat/
.
Il file requirements.txt
elenca tutte le dipendenze necessarie a eseguire l'applicazione.
Si consiglia di operare sempre in un ambiente isolato creando un apposito virtual environment.
Con pipenv è sufficiente entrare nel virtualenv con pipenv shell
e la prima volta installare le dipendenze con pipenv install
.
E' necessario avere installato nel sistema (al di fuori dell'ambiente python) sqlite3, l'estensione spatialite ed averla attivata come riportato qui: https://www.cafe-encounter.net/p3244/installing-and-using-sqlite-extensions-on-macos-and-maybe-windows-linux-too
Infine, per eseguire l'applicazione ed elaborare tutte le versioni: python main.py
. Per specificare una singola versione di interesse: SOURCE_NAME=YYYYMMDD python main.py
.
Ogni contributo è benvenuto, puoi aprire una issue oppure proporre una pull request, così come partecipare alla discussione su Forum Italia.
Ringraziamo il Team per la Trasformazione Digitale per aver ospitato questo progetto nella sua primissima fase di ideazione e realizzazione.
Un ringraziamento anche a Datafactor Agrigento per il supporto e il prezioso contributo di finalizzazione del file di configurazione sources.json
.
L'uso di questo software è concesso sotto licenza GNU Affero General Public License.