Giter VIP home page Giter VIP logo

comuni-json's Introduction

comuni-json

Database non ufficiale dei comuni italiani, con informazioni ISTAT e CAP.

Il file JSON con tutti i 7904 comuni è comuni.json.

La lista dei comuni è aggiornata al 01/01/2020. Comprende i nuovi comuni 2020, con CAP "aggiornati" a dicembre 2019.

I CAP dei nuovi comuni sono provvisori fino a quando Poste Italiane non li aggiorna.

Vedi la sezione Aggiornamenti per le ultime modifiche.

❗ Attenzione

La completezza e correttezza dei CAP non può essere garantita, perché Poste Italiane non rilascia pubblicamente la lista completa dei CAP. Ne consegue che questi dati non sono adatti per usi professionali o che richiedono garanzie di affidabilità (si consiglia per questi casi di considerare i servizi a pagamento "Professional" di Poste).

Descrizione campi

  • Nome (campo nome)
  • Codice ISTAT (campo codice)
  • Zona/Ripartizione geografica (campo zona con sottocampi nome e codice)
  • Regione (campo regione con sottocampi nome e codice)
  • Provincia (campo provincia con sottocampi nome e codice). Contiene il nome e il codice storico della provincia anche in caso di provincia abolita. Vedere la discussione in #22
  • Sigla automobilistica (campo sigla)
  • Codice catastale (campo codiceCatastale)
  • Codice di Avviamento Postale (campo cap). Sia in caso di comuni con CAP singolo che comuni multi-CAP, il campo è un array che specifica tutti i CAP per il comune
  • Popolazione (campo popolazione). Il valore si riferisce alla popolazione relativa al censimento 2011

Tutti i campi sono di tipo stringa, ad eccezione di popolazione che è numerico.

Rappresentazioni di esempio

CAP singolo

{
    "nome": "Terranova dei Passerini",
    "codice": "098057",
    "zona": {
        "nome": "Nord-ovest",
        "codice": "1"
    },
    "regione": {
        "codice": "03",
        "nome": "Lombardia"
    },
    "provincia": {
        "codice": "098",
        "nome": "Lodi"
    },
    "sigla": "LO",
    "codiceCatastale": "L125",
    "cap": ["26827"],
    "popolazione": 906
}

Multi-CAP

{
    "nome": "Torino",
    "codice": "001272",
    "zona": {
        "nome": "Nord-ovest",
        "codice": "1"
    },
    "regione": {
        "codice": "01",
        "nome": "Piemonte"
    },
    "cm": {
        "codice": "201",
        "nome": "Torino"
    },
    "provincia": {
        "codice": "001",
        "nome": ""
    },
    "sigla": "TO",
    "codiceCatastale": "L219",
    "cap": [
        "10121",
        "10122",
        "10123",
        "10124",
        "10125",
        "10126",
        "10127",
        "10128",
        "10129",
        "10130",
        "10131",
        "10132",
        "10133",
        "10134",
        "10135",
        "10136",
        "10137",
        "10138",
        "10139",
        "10140",
        "10141",
        "10142",
        "10143",
        "10144",
        "10145",
        "10146",
        "10147",
        "10148",
        "10149",
        "10150",
        "10151",
        "10152",
        "10153",
        "10154",
        "10155",
        "10156"
    ],
    "popolazione": 872367
}

Fonti

Il database è basato su dati ISTAT ed è integrato con i dati sui CAP pubblicati da ANCI (Associazione Nazionale Comuni Italiani). Sono state effettuate correzioni manuali per aggiungere le zone postali dei comuni multi-CAP (fonte 1, fonte 2) e per allinearsi con gli aggiornamenti dei CAP effettuati in seguito alle fusioni del 2016, 2017, 2018 e 2019.

Aggiornamenti

I dati sono aggiornati al 01/01/2020 (PDF Istat).

Sono state apportate correzioni manuali in seguito agli aggiornamenti dei CAP comunicati da Poste Italiane il 18/04/2016, il 21/11/2016, l'08/05/2017, nel mese di novembre 2017, marzo 2018, novembre 2018 (1 e 2), il 17/06/2019 e il 9/12/2019.

I CAP per i comuni istituiti (per fusione o incorporamento) a gennaio 2020, e febbraio e maggio 2017 non sono stati comunicati da Poste Italiane. Sono invece presenti i nuovi CAP per i comuni istituiti all'inizio del 2017 e durante il 2018. A dicembre 2019 sono stati corretti alcuni CAP della Sardegna (#34).

Il 26/10/2018 è stato aggiunto il campo popolazione.

ATTENZIONE: nell'aggiornamento del 16/02/2019 è stato rimosso il campo cm (vedi #22 per la discussione).

comuni-json's People

Contributors

matteocontrini avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

comuni-json's Issues

Formato JSON per campo CAP

Per una corretta formattazione del documento Comuni.json il campo CAP dovrebbe essere rappresentato in qualsiasi caso come array di stringhe

vecchi comuni

Alle volte avere i codici dei vecchi comuni è dannatamente comodo (verifica codici fiscali, tempi di transizione per i CAP, etc.)

Che ne pensi di creare un altro file "vecchi.json" (ok a scelta nomi faccio schifo) così da tenere un db storico della cosa?
La struttura del json praticamente identica; pensavo ad aggiungere un paio di campi:

{
    "nome": "Terranova dei Passerini",
    "codice": "098057",
    "zona": {
        "nome": "Nord-ovest",
        "codice": "1"
    },
    "regione": {
        "codice": "03",
        "nome": "Lombardia"
    },
    "cm": {
        "codice": "",
        "nome": ""
    },
    "provincia": {
        "codice": "098",
        "nome": "Lodi"
    },
    "sigla": "LO",
    "codiceCatastale": "L125",
    "cap": ["26827"],
    "fuso": "L133"
    "cessato": "2018-10-01"
}

Con il campo cessato valorizzato con la data e il campo fuso (se valorizzato) con il codice del comune dove è andato a confluire. Se qualche comune fosse semplicemente scomparso allora il campo "fuso" sarebbe stringa vuota.

Saluti,
Matteo

script per esportare in sql?

sarebbe utile, anche solo a livello di documentazione, pubblicare uno script php per importare i dati in un database

Fusioni 20 febbraio 2019

Ci sono state altre due fusioni di comuni ieri 20 gennaio 2019.

Aggiorno i dati fra pochi minuti assieme ad altri piccoli fix di cose che mi erano sfuggite nella riscrittura degli script di aggiornamento.

Question/request: sigla codice fiscale

Non ho avuto modo di guardare le fonti dei dati per vedere se sono inclusi, ma lo chiedo uguale: ci sarebbe modo di aggiungere un campo con la sigla che serve per generare il codice fiscale?

Molte delle tabelle/fonti che ho incontrato finora mancano di quel parametro, a parte qualcuna, ma comunque non hanno aggiornamenti frequenti. Fatemi sapere cosa ne pensate, e se è una richiesta valida.

CAP 20060

Buongiorno

Vorrei sapere perche' il CAP 20060 e' attribuito a piu' comuni nel milanese.

Grazie

Alberto

Info su sorgente dati

Ciao,

potresti inserire qualche riferimento nel README di come hai generato il JSON, così da avere un qualcosa che certifichi l'autorevolezza di questi dati, a parte la tua parola?

chiave "sigla"

  1. La chiave "sigla" IMHO era piu' sensato inserirla all'interno della chiave "provincia" (assieme alle alte 2: "codice" e "nome").

OPPURE

  1. la chiave "sigla" era piu sensato chiamarla "sigla-provincia", ma a questo punto risulta piu' sensato quanto detto al primo punto.

Domanda fattibilità: scraping da altro sito

Ciao @matteocontrini , volevo un tuo parere sullo scraping da un "sito famoso" molto ricco di dati aggiornati italiani (non faccio nomi qui).
Ho realizzato con Scrapy diversi script per "prelevare" qualsiasi dato da suddetto sito, nel formato a me più consono, e finora li ho usati nei miei DB personali.
Quanto sarebbe etico usarli per mantenere repository pubblici come il tuo?

Grazie e buon lavoro ;)

Paolo

Aggiungere mail pec

Innanzitutto volevo congratularmi per il lavoro. Ad ogni modo, mi chiedevo se fosse possibile aggiungere per ogni comune la relativa mail certificata.

CAP Vimodrone

Solo per informazione, a partire dal 25 maggio p.v. il Comune di Vimodrone cambierà il proprio codice di avviamento postale, da 20090 diventerà 20055, il vecchio codice rimarrà valido ancora per un anno.

Probabilmente con il prossimo giro di aggiornamenti dovrebbe sistemarsi

Grazie

Aggiungere Travis CI

Ad ogni commit Travis dovrebbe:

  • Eseguire npm run validate
  • Fare una build della cartella data, per escludere altri problemi nei file di origine
  • Confrontare la build generata con il file comuni.json, in modo da essere certi che la versione "compilata" rifletta i dati nella cartella data

verifica dati

ciao utilizzando il tuo database mi è capitato di notare che il comune valdaone (registrato gennaio 2015) è inserito con il cap 38080 - il dato corretto sarebbe invece 38091

Cap di Verona mancante --> 37100

Ciao Matteo, intanto complimenti per il progetto, utile ed interessante.
Tra le mie integrazioni ho notato che manca il cap generico per Verona --> 37100 . Posso fare una pull request per aggiungerlo alla lista?

PS per caso ci sono altri cap generici mancanti? Giusto se ne sei a conoscenza.. grazie mille.

Giovanni

manca cap 52040

Ciao,
ti dò del tu perchè sento una sorta di vicinanza nei nostri nomi (mi chiamo Matteo Contri) :-)

Ti segnalo che manca il cap 52040, del quale posso darti informazioni soltanto parziali; sicuramente riguarda la provincia di Arezzo (52100) e so per certo che viene dovrebbe essere utilizzato per la località Bagnoro.
Cercando su internet appare anche per vari comuni limitrofi, tipo: Cortona, Monte San Savino (anche se hanno il loro specifico perciò non ho capito se racchiude un'intera zona o meno).

Non so sei hai fonti attendibili su cui cercare.

Grazie per l'ottimo lavoro

Pensato ad una struttura più ad albero?

Ciao,
Non sarebbe più logico e forse più fruibile una versione ad albero tipo:

{"Zone":[
 {"codice":"1","nome":"Nord-ovest", "regioni":[
  {"codice":"01","nome":"Piemonte", "provincie":[
   {"codice":"001","nome":"Torino", "sigla":"TO", "comuni":[
    {"codice":"001001", "nome":"Agliè", "codiceCatastale":"A074","cap":["10011"],"popolazione":2644},
     ...]}
    ...]},
  {"codice":"02","nome":"Valle d'Aosta/Vallée d'Aoste", ...},
  ...]},
 {"codice":"2","nome":"Nord-est", ....},
 ...]
}

PS. grazie infinite per lo sforzo, queste informazioni in formato elettronico dovrebbe fornirle direttamente lo stato...

[Consiglio] Cosa usare come chiave primaria per i comuni?

Ciao, chiedo scusa se uso questo spazio per un consiglio ma penso potrebbe essere di interesse comune per i vostri utenti.

In un progetto che ho avviato recentemente uso come chiave per la tabella comuni, e foreign key nella tabella persone, il codice ISTAT. Ho purtroppo scoperto solo oggi che questo può cambiare.

Dalla vostra esperienza, vi sembra intelligente usare il codice catastale (o meglio nazionale) come chiave primaria?
Questo sia per tracciare i comuni (un eventuale duplicato non sarebbe una tragedia), ma soprattutto per evitare di perdere le foreign key relazionate al cambiare dei comuni?

Non ho trovato nessuna garanzia sul fatto che questo codice non cambi, ma non credo ci sia stato mai nessun caso in cui è cambiato.

Denominazione in altra lingua

Nell'elenco dei comuni dell'ISTAT sono presenti alcuni comuni hanno la denominazione in più lingue, ad esempio:

  • San Floriano del Collio/Občina Števerjan
  • Senale-San Felice/Unsere Liebe Frau im Walde-St. Felix

potrebbe essere utile avere questa informazione in un campo nel file json comuni.

formato json non corretto

Ciao @matteocontrini sto usando il tuo repository per un progetto, grazie prima di tutto per averlo messo su github, volevo dirti che il formato json è errato e non viene parsato correttamente, è solo una piccola cosa, basta mettere tutto entro parentesi quadre.

[Doc] esempio di estrazione in csv

Ciao Matteo, per importare i dati dei comuni in mysql ho trasformato i dati da json a csv; da shell linux ho usato:

jq -r '.[] | . as $comune | [$comune.nome, $comune.codice, $comune.codiceCatastale, $comune.sigla, $comune.regione.nome, ($comune.cap | join("-"))] | @csv' comuni.json > comuni.csv

Penso possa essere utile ad altri sviluppatori riportare questo esempio nel README.
Grazie del repo, un saluto

Variazioni CAP comuni provincia Oristano novembre 2017

Ciao,

ho notato che non vi risultano le variazioni di CAP per alcuni comuni della provincia di Oristano del 27 novembre 2017. Sono quelli indicati in questo articolo, che per semplicità vi riassumo:

Bosa: "09089",
Flussio: "09090",
Magomadas: "09090",
Montresta: "09090",
Laconi: "09090",
Modolo: "09090",
Sagama: "09090",
Suni: "09090",
Tinnura: "09090"

Non ho trovato altre fonti più ufficiali di questa (ho visto che a voi risulta un documento delle Poste per la provincia del Sud Sardegna dello stesso periodo), ma a tuttitalia e nonsolocap risultano.

Grazie per il lavoro fantastico!

cap 40056

Il cap 40056 dovrebbe essere aggiunto ai cap del Comune di Valsamoggia.

Multicap?

Buonasera. Ottima repository, ma avrei una domanda:
Che release dovrei scaricare per avere ancora l'elenco multicap?
Mi par di capire che da un po' di tempo non esiste più il "multicap"..

Grazie

Fusioni 1° gennaio 2019

Il 1° gennaio sono entrate in vigore 23 nuove fusioni. Aggiornerò il prima possibile con CAP provvisori.

Promemoria per maggio 2019: rimuovere CAP in vigore nella fase di transizione

Dal 19 novembre 2018 entrano in vigore i nuovi CAP (#17), ma restano in vigore i precedenti per 6 mesi. Togliere i CAP indicati di seguito il 18 maggio 2019.

Comuni fusi

  • Fiumicello Villa Vicentina
    • ISTAT 030190
    • togliere CAP 33050
  • Treppo Ligosullo
    • ISTAT 030191
    • togliere CAP 33020
  • Corigliano-Rossano
    • ISTAT 078157
    • togliere CAP 87067
  • Barbarano Mossano
    • ISTAT 024124
    • togliere CAP 36021 e 36024
  • Borgo Veneto
    • ISTAT 028107
    • togliere CAP 35040

Altre variazioni:

  • Barano d'Ischia
    • ISTAT 063007
    • togliere CAP 80070
  • Serrara Fontana
    • ISTAT 063078
    • togliere CAP 80070
  • Ventotene
    • ISTAT 059033
    • togliere CAP 04020
  • Isole Tremiti
    • ISTAT 071026
    • togliere CAP 71040
  • Lampedusa e Linosa
    • ISTAT 084020
    • togliere CAP 92010
  • Ustica
    • ISTAT 082075
    • togliere CAP 90010
  • Pula
    • ISTAT 092050
    • togliere CAP 09010
  • Uta
    • ISTAT 092090
    • togliere CAP 09010
  • Villa San Pietro
    • ISTAT 092099
    • togliere CAP 09010
  • Elmas
    • ISTAT 092108
    • togliere CAP 09030
  • Maracalagonis
    • ISTAT 092037
    • togliere CAP 09040
  • Settimo San Pietro
    • ISTAT 092075
    • togliere CAP 09040

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.