Skip to content

Commit bc4763b

Browse files
committed
chore: update documentation
1 parent adf30f1 commit bc4763b

File tree

5 files changed

+78
-16
lines changed

5 files changed

+78
-16
lines changed

CHANGELOG.md

+39-1
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,42 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
7-
7+
8+
9+
## [Unreleased]
10+
11+
### Added
12+
13+
- deploy to https://www.confini-amministrativi.it/
14+
- homepage with interactive map and OpenAPI specs
15+
- new resource formats: GeoParquet, SVG, PNG, JPG, WEBP
16+
- JSON-HAL resources (index.json)
17+
- interactive maps (index.html)
18+
- subdivision resources
19+
- reprojection to [EPSG:4326](https://epsg.io/?q=4326)
20+
- releases 20220101, 20230101
21+
22+
### Changed
23+
24+
- new API path: `/v1/YYYYMMDD/.../DIVISION.FILE_FORMAT` (BREAKING CHANGE!)
25+
- full incremental execution (no generation if destination file exists)
26+
- new and simpler Dockerfile
27+
- update documentation
28+
29+
## [1.1] - 2021-04-21
30+
31+
### Added
32+
33+
- deploy to http://dev.ondata.it/confini-amministrativi-istat/
34+
- new ANPR permalink
35+
36+
## [1.0] - 2021-04-19
37+
38+
### Added
39+
40+
- static API with path `/v1/YYYYMMDD/FILE_FORMAT/DIVISION/`
41+
42+
43+
[unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.1...HEAD
44+
[1.1]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.0...v1.1
45+
[1.0]: https://github.com/olivierlacan/keep-a-changelog/releases/tag/v1.0

README.md

+32-12
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,63 @@
11
# OnData - Confini amministrativi italiani
22

3+
[![Made with ♥ by OnData](https://img.shields.io/badge/Made_with_%E2%99%A5_by-OnData-EB593C.svg)](https://www.ondata.it)
4+
[![v2](https://img.shields.io/badge/Release-v2-green.svg)](https://github.com/ondata/confini-amministrativi-istat/releases/tag/v2)
5+
36
[![Data and open data on forum.italia.it](https://img.shields.io/badge/Forum-Dati%20e%20open%20data-blue.svg)](https://forum.italia.it/c/dati)
47
[![Confini Amministrativi ISTAT on forum.italia.it](https://img.shields.io/badge/Thread-%5BCall%20for%20ideas%5D%20Confini%20amministrativi%20ISTAT-blue.svg)](https://forum.italia.it/t/call-for-ideas-confini-amministrativi-istat/12224)
58

6-
Collezione di utilities per facilitare il riuso dei dati [ISTAT](https://www.istat.it/it/archivio/222527) e [ANPR](https://www.anpr.interno.it/) sui confini amministrativi italiani (versione generalizzata).
9+
[![Thanks to ISTAT](https://img.shields.io/badge/Thanks_to-ISTAT-d22630.svg)](https://www.istat.it)
10+
[![Thanks to ANPR](https://img.shields.io/badge/Thanks_to-ANPR-0066cc.svg)](https://www.istat.it)
11+
[![Thanks to OntoPiA](https://img.shields.io/badge/Thanks_to-OntoPiA-0066cc.svg)](https://schema.gov.it)
12+
13+
Collezione di dati e utilities per facilitare il riuso dei dati [ISTAT](https://www.istat.it/it/archivio/222527) e [ANPR](https://www.anpr.interno.it/) sui confini amministrativi italiani (versione generalizzata meno dettagliata).
14+
715
Per approfondimenti e discussione è aperto un [thread dedicato su Forum Italia](https://forum.italia.it/t/call-for-ideas-confini-amministrativi-istat/12224).
816

17+
Sito ufficiale: https://www.confini-amministrativi.it.
18+
919
## Contenuto del repository
1020

11-
Nel file `sources.json` ci sono i link a tutti gli shapefile rilasciati da ISTAT dal 2001 elencati in [questa tabella](https://www.istat.it/it/archivio/222527), il link all'[archivio dei comuni di ANPR](https://www.anpr.interno.it/portale/anpr-archivio-comuni.csv) e le risorse Linked Open Data del [progetto OntoPiA](https://www.agid.gov.it/it/dati/vocabolari-controllati).
21+
Nel file `sources.json` ci sono i link a tutti gli shapefile rilasciati da ISTAT dal 1991 elencati in [questa tabella](https://www.istat.it/it/archivio/222527), il link all'[archivio storico dei comuni di ANPR](https://www.anpr.interno.it/portale/anpr-archivio-comuni.csv) e le risorse Linked Open Data del [progetto OntoPiA](https://schema.gov.it/).
1222

1323
Lo script `main.py` scarica gli archivi zip dal sito ISTAT, li decomprime e li elabora in cartelle nominate con la data di rilascio: `dist/api/v2/it/YYYYMMDD/`. Scarica anche il file di ANPR e lo arricchisce con i dati ISTAT contenuti negli shapefile.
1424

1525
Al momento sono supportati i seguenti formati di output:
1626

1727
* [ESRI shapefile (ZIP)](https://it.wikipedia.org/wiki/Shapefile), il formato originario in cui l'ISTAT pubblica i dati ufficiali, ma con le geometrie corrette, la normalizzazione del charset a UTF-8 e la proiezione a [EPSG:4326](https://epsg.io/?q=4326).
18-
* [Comma-separated values (CSV)](https://it.wikipedia.org/wiki/Comma-separated_values) con la tabella dei dati arricchiti dei territori (UTF-8, virgola come separato, doppie virgolette come delimintatori di stringa, new line come separatore di riga)
28+
* [Comma-separated values (CSV)](https://it.wikipedia.org/wiki/Comma-separated_values) con la tabella dei dati arricchiti dei territori (UTF-8, virgola come separatore, doppie virgolette come delimitatori di stringa, new line come separatore di riga)
1929
* [JavaScript Object Notation (JSON)](https://it.wikipedia.org/wiki/JavaScript_Object_Notation) con gli stessi dati del CSV
2030
* [GeoJSON](https://it.wikipedia.org/wiki/GeoJSON) con gli stessi dati dello shapefile
2131
* [TopoJSON](https://it.wikipedia.org/wiki/GeoJSON#TopoJSON) con gli stessi dati dello shapefile
2232
* [GeoPackage](https://en.wikipedia.org/wiki/GeoPackage) con gli stessi dati dello shapefile
2333
* [GeoParquet](https://geoparquet.org/) con gli stessi dati dello shapefile
2434
* [Geobuf](https://github.com/cubao/geobuf-cpp) con gli stessi dati dello shapefile
35+
* [SVG](https://developer.mozilla.org/en-US/docs/Web/SVG) con i contorni in grafica vettoriale dello shapefile (linee nere e bianche, sfondo trasparente)
36+
* [PNG](https://en.wikipedia.org/wiki/PNG) con i contorni in grafica raster dello shapefile (linee nere e bianche, sfondo trasparente)
37+
* [WEBP](https://en.wikipedia.org/wiki/WebP) con i contorni in grafica raster dello shapefile (linee nere e bianche, sfondo trasparente)
38+
* [JPEG](https://en.wikipedia.org/wiki/JPEG) con i contorni in grafica raster dello shapefile (linee nere su sfondo bianco e bianche su sfondo nero)
2539

2640
Il file di ANPR è quello originale arricchito delle denominazioni e dell'indicazione degli shapefile in cui i comuni sono presenti.
2741

2842
> Avvertenza: nel repository è incluso solo il codice sorgente dell'applicazione e non i file generati.
2943
30-
## Design e stack tecnologici
44+
## Design e stack tecnologico
3145

3246
L'obiettivo di questo progetto è automatizzare completamente la generazione di risorse geografiche italiane utili in diversi ambiti di mapping e GIS a partire dai dati storici ufficiali rilasciati da ISTAT e ANPR. I task includono il download, l'omogeneizzazione di codifiche e formati, la correzione di errori di geometrie, la generazione di raggruppamenti di territori a tutti i livelli (es. i comuni di una regione), la conversione in diversi formati geografici e la generazione di mappe interattive per una fruizione semplificata di ognuno di essi.
3347

34-
La struttura dell'albero di cartelle di output è conforme allo standard [REST delle Web API](https://en.wikipedia.org/wiki/REST), per cui il risultato finale è effettivamente una API statica, descritta mediante lo [standard OpenAPI](./dist/api/v2/openapi.v2.yml). Tutte le risorse disponibili sono automaticamente raggiungibili grazie alla presenza di file `index.json` in ogni cartella conformi alla specifica [Hypertext Application Language (HAL)](https://en.wikipedia.org/wiki/Hypertext_Application_Language).
48+
La struttura dell'albero di cartelle di output è conforme allo standard [REST delle Web API](https://en.wikipedia.org/wiki/REST), per cui il risultato finale è effettivamente una API statica, descritta mediante lo [standard OpenAPI](./dist/api/v2/openapi.v2.yml).
49+
50+
Tutte le risorse disponibili sono automaticamente raggiungibili grazie alla presenza di file `index.json` in ogni cartella conformi alla specifica [Hypertext Application Language (HAL)](https://en.wikipedia.org/wiki/Hypertext_Application_Language).
51+
52+
Tutte le cartelle mostrano una preview dei dati geografici che contengono in una mappa interattiva gestita da [LeafletJS](https://leafletjs.com).
3553

3654
Lo script di generazione è scritto in Python (v3.11) e le sue dipendenze dirette sono elencate nel file `requirements.txt`.
55+
3756
Oltre a queste si richiede che alcune librerie siano installate nel sistema,
3857
in particolare [GDAL](https://gdal.org/index.html) e [SQLite](https://www.sqlite.org/index.html)
3958
con l'estensione [Spatialite](https://www.gaia-gis.it/fossil/libspatialite/index).
4059

41-
Per semplificare la portabilità dello script è possibile (e conveniente) eseguirlo in un container Docker.
60+
Per semplificare la portabilità dello script è possibile (e conveniente) eseguirlo in un container Docker, per cui è fornito un Dockerfile con cui fare la build dell'immagine.
4261

4362
## Come eseguire l'applicazione
4463

@@ -54,10 +73,9 @@ Entra nella cartella appena creata: `cd confini-amministrativi-istat/`.
5473
L'utility `run.sh` contiene degli shortcut per gestire più facilmente l'immagine docker dell'applicazione (in ambiente windows si raccomanda l'uso di [Git Bash](https://gitforwindows.org/)).
5574
Per l'elenco di tutti i comandi supportati: `bash run.sh help`.
5675

57-
Effettua la build delle immagini: `bash run.sh build`.
76+
Effettua la build delle immagini: `bash run.sh build` (usa `rebuild` per non fare uso della cache).
5877

59-
Esegui il container per ogni tipologia di confine amministrativo e per tutte le versioni con `bash run.sh generate`
60-
oppure indicando la singola versione di interesse con `bash run.sh generate YYYYMMDD`.
78+
Esegui il container per ogni tipologia di confine amministrativo e per tutte le versioni con `bash run.sh generate` oppure indicando la singola versione di interesse con `bash run.sh generate YYYYMMDD`.
6179

6280
> Avvertenza: l'esecuzione può richiedere alcune ore o anche molte nel caso dell'elaborazione di tutte le versioni.
6381
@@ -82,11 +100,13 @@ Per specificare una singola versione di interesse: `SOURCE_NAME=YYYYMMDD python
82100

83101
Il file `dist/api/v2/openapi.v2.yml` contiene le specifiche conformi allo standard [OpenAPI v3.1](https://www.openapis.org/).
84102

85-
Con `bash run.sh serve` puoi navigare la documentazione in maniera interattiva sia dalla homepage (http://localhost:8080),
86-
sia come pagina standalone (http://localhost:8080/api/v2/).
103+
Con `bash run.sh serve` puoi navigare la documentazione in maniera interattiva sia dalla homepage (http://localhost:8080), sia come pagina standalone (http://localhost:8080/api/v2/).
87104

88105
### Homepage
89106

107+
L'homepage del sito offre una preview dei dati su mappa interattiva (solo desktop) e la possibiltà di scaricare la risorsa scelta mediante form.
108+
Contiene anche la documentazione completa dell'API e la possibilità di navigarla interattivamente grazie a [Swagger UI](https://swagger.io/tools/swagger-ui/).
109+
90110
Per il codice sorgente dell'homepage si rimanda al [README dedicato](src/app/README.md).
91111

92112
## Sviluppo
@@ -105,7 +125,7 @@ Ringraziamo il [Team per la Trasformazione Digitale](https://teamdigitale.govern
105125

106126
Un ringraziamento anche a [Datafactor Agrigento](https://www.datafactor.it/) per il supporto e il prezioso contributo di finalizzazione del file di configurazione `sources.json`.
107127

108-
Ringraziamo anche [Dataninja srl](https://www.dataninja.it) per il [lavoro pionieristico](https://github.com/dataninja/geo-shapes) sul tema, [Density Design](https://densitydesign.org/) che con [RAWGraphs](http://rawgraphs.io/) ha fatto emergere per la prima volta l'[esigenza di un'API](https://groups.google.com/g/densitydesign-raw/c/-MIAUtSjkzk) e [SparkFabrik srl](https://www.sparkfabrik.com/) per aver reso possibile la finalizzazione del progetto.
128+
Ringraziamo anche [Dataninja srl](https://www.dataninja.it) per il [lavoro pionieristico](https://github.com/dataninja/geo-shapes) sul tema, [Density Design](https://densitydesign.org/) che con [RAWGraphs](http://rawgraphs.io/) ha fatto emergere per la prima volta l'[esigenza di un'API](https://groups.google.com/g/densitydesign-raw/c/-MIAUtSjkzk) di questo tipo e [SparkFabrik srl](https://www.sparkfabrik.com/) per aver reso possibile la finalizzazione del progetto.
109129

110130
## Licenza
111131

0 commit comments

Comments
 (0)