This commit is contained in:
Pablo Castellano 2019-04-28 19:22:08 +02:00
parent c3a9f56b47
commit 7f4f234fe0
4 changed files with 89 additions and 89 deletions

128
README.md
View File

@ -1,6 +1,6 @@
# ds-codigos-postales-ine-es
Dataset que proporciona un listado de todos los códigos postales de España asociados al código INE del municipio al que pertenecen.
Dataset que proporciona un listado de todos los códigos postales de España asociados al código INE del municipio al que pertenecen.
Usa como fuente el Callejero del Censo Electoral (INE).
@ -8,48 +8,48 @@ Usa como fuente el Callejero del Censo Electoral (INE).
- Fuente: [Callejero del Censo Electoral (INE)](http://www.ine.es/ss/Satellite?L=es_ES&c=Page&cid=1254735624326&p=1254735624326&pagename=ProductosYServicios%2FPYSLayout)
- URL: `http://www.ine.es/prodyser/callejero/caj_esp/caj_esp_[MM][YYYY].zip` donde `MM` es el mes (01 ó 07) y la cadena `YYYY` es el último año
- Tipo: Texto de ancho fijo comprimido (.zip)
- Datos procesados: [/data/codigos_postales_municipios.csv](data/codigos_postales_municipios.csv)
- Datos procesados: [/data/codigos_postales_municipios.csv](data/codigos_postales_municipios.csv)
### Formato de los datos
Ejemplo en CSV:
| codigo_postal | municipio_id | nombre_entidad_singular |
|---------------|--------------|---------------------------|
| 28100 | 28006 | ALCOBENDAS |
| 28108 | 28006 | ALCOBENDAS |
| 28109 | 28006 | ALCOBENDAS |
| 28110 | 28009 | "DEHESA NUEVA" |
| 28120 | 28045 | "PUEBLAS (LAS)" |
| 28124 | 28124 | "ROBLEDILLO DE LA JARA" |
| 28130 | 28162 | MIRAVAL |
| 28140 | 28059 | ADOBERAS |
| 28150 | 28164 | "MIRADOR (EL)" |
| 28160 | 28145 | "MORALEJA (LA)" |
| 28170 | 28163 | "COTO DE SAN BENITO" |
| 28180 | 28151 | "TOMILLARES (LOS)" |
| 28189 | 28153 | "SOTO (EL)" |
| 28190 | 28118 | "PUEBLA DE LA SIERRA" |
| 28191 | 28117 | "PRADENA DEL RINCON" |
| 28192 | 28021 | "DEHESA BOYAL" |
| 28193 | 28039 | "CERCADOS (LOS)" |
| 28194 | 28124 | "VILLAR (EL)" |
| 28195 | 28902 | "SERRADA DE LA FUENTE" |
| 28196 | 28902 | "PRESA DE PUENTES VIEJAS" |
| 28200 | 28131 | "JURISDICCION (LA)" |
| 28210 | 28160 | VALDEMORILLO |
| 28211 | 28054 | PERALEJO |
| 28212 | 28095 | "BARRANCOS (LOS)" |
| codigo_postal | municipio_id | nombre_entidad_singular |
|---------------|--------------|---------------------------|
| 28100 | 28006 | ALCOBENDAS |
| 28108 | 28006 | ALCOBENDAS |
| 28109 | 28006 | ALCOBENDAS |
| 28110 | 28009 | "DEHESA NUEVA" |
| 28120 | 28045 | "PUEBLAS (LAS)" |
| 28124 | 28124 | "ROBLEDILLO DE LA JARA" |
| 28130 | 28162 | MIRAVAL |
| 28140 | 28059 | ADOBERAS |
| 28150 | 28164 | "MIRADOR (EL)" |
| 28160 | 28145 | "MORALEJA (LA)" |
| 28170 | 28163 | "COTO DE SAN BENITO" |
| 28180 | 28151 | "TOMILLARES (LOS)" |
| 28189 | 28153 | "SOTO (EL)" |
| 28190 | 28118 | "PUEBLA DE LA SIERRA" |
| 28191 | 28117 | "PRADENA DEL RINCON" |
| 28192 | 28021 | "DEHESA BOYAL" |
| 28193 | 28039 | "CERCADOS (LOS)" |
| 28194 | 28124 | "VILLAR (EL)" |
| 28195 | 28902 | "SERRADA DE LA FUENTE" |
| 28196 | 28902 | "PRESA DE PUENTES VIEJAS" |
| 28200 | 28131 | "JURISDICCION (LA)" |
| 28210 | 28160 | VALDEMORILLO |
| 28211 | 28054 | PERALEJO |
| 28212 | 28095 | "BARRANCOS (LOS)" |
## Codigos Postales por Municipio (Histórico)
- Fuente: [Callejero del Censo Electoral (INE)](http://www.ine.es/ss/Satellite?L=es_ES&c=Page&cid=1254735624326&p=1254735624326&pagename=ProductosYServicios%2FPYSLayout)
- URL: `http://www.ine.es/prodyser/callejero/caj_esp/caj_esp_[MM][YYYY].zip` donde `MM` es el mes (01 ó 07) y la cadena `YYYY` es el año, (desde 2013 hasta la actualidad))
- Tipo: Texto de ancho fijo comprimido (.zip)
- Datos procesados: [/data/codigos_postales_municipios_historical.csv](data/codigos_postales_municipios_historical.csv)
- Datos procesados: [/data/codigos_postales_municipios_historical.csv](data/codigos_postales_municipios_historical.csv)
### Formato de los datos
@ -58,58 +58,58 @@ Ejemplo en CSV:
Ejemplo en CSV:
| codigo_postal | municipio_id | nombre_entidad_singular | year | month |
|---------------|--------------|-------------------------|------|-------|
|---------------|--------------|-------------------------|------|-------|
| 29610 | 29076 | OJEN | 2013 | 07 |
| 29610 | 29076 | OJEN | 2014 | 01 |
| 29612 | 29076 | OJEN | 2014 | 01 |
En el ejemplo se aprecia como en 2014 aparece un nuevo código postal para el municipio de Ojén.
En el ejemplo se aprecia como en 2014 aparece un nuevo código postal para el municipio de Ojén.
## Script
El script se puede encontrar en [/scripts/ine](/scripts/ine).
El script se puede encontrar en [/scripts/](/scripts/).
## Merge con ds-organizacion-administrativa
Para obtener el nombre de municipio asociado al codigo INE se puede hacer un merge con `ds-organizacion-administrativa/ds-oa-municipios` mediante `csvjoin`:
$ `curl https://raw.githubusercontent.com/codeforspain/ds-organizacion-administrativa/master/data/municipios.csv |
csvcut -c 'municipio_id,nombre' |csvjoin -c "municipio_id" codigos_postales_municipios.csv - |
$ `curl https://raw.githubusercontent.com/codeforspain/ds-organizacion-administrativa/master/data/municipios.csv |
csvcut -c 'municipio_id,nombre' |csvjoin -c "municipio_id" codigos_postales_municipios.csv - |
csvcut -C "municipio_id,nombre_entidad_singular" >codigos_postales_municipios_join.csv`
Este comando devuelve [codigos_postales_municipios_join.csv](data/codigos_postales_municipios_join.csv). Ejemplo:
| codigo_postal | nombre_entidad_singular | municipio_id | nombre |
|---------------|-------------------------|--------------|----------------------------|
| 28100 | ALCOBENDAS | 28006 | Alcobendas |
| 28108 | ALCOBENDAS | 28006 | Alcobendas |
| 28109 | ALCOBENDAS | 28006 | Alcobendas |
| 28110 | DEHESA NUEVA | 28009 | Algete |
| 28120 | PUEBLAS (LAS) | 28045 | Colmenar Viejo |
| 28124 | ROBLEDILLO DE LA JARA | 28124 | Robledillo de la Jara |
| 28130 | MIRAVAL | 28162 | Valdeolmos-Alalpardo |
| 28140 | ADOBERAS | 28059 | Fuente el Saz de Jarama |
| 28150 | MIRADOR (EL) | 28164 | Valdetorres de Jarama |
| 28160 | MORALEJA (LA) | 28145 | Talamanca de Jarama |
| 28170 | COTO DE SAN BENITO | 28163 | Valdepiélagos |
| 28180 | TOMILLARES (LOS) | 28151 | Torrelaguna |
| 28189 | SOTO (EL) | 28153 | Torremocha de Jarama |
| 28190 | PUEBLA DE LA SIERRA | 28118 | Puebla de la Sierra |
| 28191 | PRADENA DEL RINCON | 28117 | Prádena del Rincón |
| 28192 | DEHESA BOYAL | 28021 | "Berrueco, El" |
| 28193 | CERCADOS (LOS) | 28039 | Cervera de Buitrago |
| 28194 | VILLAR (EL) | 28124 | Robledillo de la Jara |
| 28195 | SERRADA DE LA FUENTE | 28902 | Puentes Viejas |
| 28196 | PRESA DE PUENTES VIEJAS | 28902 | Puentes Viejas |
| 28200 | JURISDICCION (LA) | 28131 | San Lorenzo de El Escorial |
| 28210 | VALDEMORILLO | 28160 | Valdemorillo |
| 28211 | PERALEJO | 28054 | "Escorial, El" |
| 28212 | BARRANCOS (LOS) | 28095 | Navalagamella |
| codigo_postal | nombre_entidad_singular | municipio_id | nombre |
|---------------|-------------------------|--------------|----------------------------|
| 28100 | ALCOBENDAS | 28006 | Alcobendas |
| 28108 | ALCOBENDAS | 28006 | Alcobendas |
| 28109 | ALCOBENDAS | 28006 | Alcobendas |
| 28110 | DEHESA NUEVA | 28009 | Algete |
| 28120 | PUEBLAS (LAS) | 28045 | Colmenar Viejo |
| 28124 | ROBLEDILLO DE LA JARA | 28124 | Robledillo de la Jara |
| 28130 | MIRAVAL | 28162 | Valdeolmos-Alalpardo |
| 28140 | ADOBERAS | 28059 | Fuente el Saz de Jarama |
| 28150 | MIRADOR (EL) | 28164 | Valdetorres de Jarama |
| 28160 | MORALEJA (LA) | 28145 | Talamanca de Jarama |
| 28170 | COTO DE SAN BENITO | 28163 | Valdepiélagos |
| 28180 | TOMILLARES (LOS) | 28151 | Torrelaguna |
| 28189 | SOTO (EL) | 28153 | Torremocha de Jarama |
| 28190 | PUEBLA DE LA SIERRA | 28118 | Puebla de la Sierra |
| 28191 | PRADENA DEL RINCON | 28117 | Prádena del Rincón |
| 28192 | DEHESA BOYAL | 28021 | "Berrueco, El" |
| 28193 | CERCADOS (LOS) | 28039 | Cervera de Buitrago |
| 28194 | VILLAR (EL) | 28124 | Robledillo de la Jara |
| 28195 | SERRADA DE LA FUENTE | 28902 | Puentes Viejas |
| 28196 | PRESA DE PUENTES VIEJAS | 28902 | Puentes Viejas |
| 28200 | JURISDICCION (LA) | 28131 | San Lorenzo de El Escorial |
| 28210 | VALDEMORILLO | 28160 | Valdemorillo |
| 28211 | PERALEJO | 28054 | "Escorial, El" |
| 28212 | BARRANCOS (LOS) | 28095 | Navalagamella |

View File

@ -12,7 +12,7 @@ Si no los encuentra, los descarga.
Si se invoca sin subcomandos o argumentos, executa:
1. download all
2. process all
2. process all
3. update
4. convert-to-json
@ -20,25 +20,25 @@ Si se invoca sin subcomandos o argumentos, executa:
### Opciones
COMMANDS
download [SUBCOMMAND] Descarga los archivos fuente, pero no los procesa.
download [SUBCOMMAND] Descarga los archivos fuente, pero no los procesa.
Se puede especificar opcionalmente un subcomando:
year YEAR MONTH Descarga únicamente el periodo YEAR MONTH (Month es 1 ó 7)
all Descarga todos los años
OPTIONS
--force, -f Fuerza la descarga de los archivos fuente, aunque existan
--force, -f Fuerza la descarga de los archivos fuente, aunque existan
process [SUBCOMMAND] Procesa los archivos fuente, y crea los archivos CSV/JSON.
Se puede especificar opcionalmente un subcomando:
year YEAR Procesa únicamente el año YEAR
year last Procesa únicamente el último año
historical Procesa todos los años y general histórico.
@ -46,12 +46,12 @@ Si se invoca sin subcomandos o argumentos, executa:
convert-to-json Convierte todos los archivos .csv almacenados en /data a .json.
update Actualiza el archivo datapackage.json
## Requisitos
@ -63,15 +63,15 @@ Si se invoca sin subcomandos o argumentos, executa:
Para poder generar los archivos en `.json`, hay que tener instalado [csvkit](https://csvkit.readthedocs.org/en/540/index.html). Para este script se ha usado la version 1.0.0.
Se instala mediante:
$ sudo pip install csvkit
Así mismo, `pip` tiene que estar instalado. En Ubuntu esto se hace mediante:
$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv
$ sudo apt-get install python-pip python-dev build-essential
$ sudo pip install --upgrade pip
$ sudo pip install --upgrade virtualenv

View File

@ -29,4 +29,4 @@ class ConvertToJsonCommand extends ConsoleKit\Command
$progress->stop();
}
}
}

View File

@ -162,4 +162,4 @@ class ProcessCommand extends ConsoleKit\Command
}
}
}