Refactor. Add Config. Modify columns. Add datapackage.json generator
This commit is contained in:
parent
19fb6b1fa0
commit
d522599ca1
184
README.md
184
README.md
|
@ -19,28 +19,27 @@ Este dataset es parte del proyecto abierto y colaborativo CodeForSpain. Puedes o
|
|||
- Descripción: http://www.ine.es/daco/daco42/codmun/codmun00i.htm
|
||||
- Datos procesados: [/data/municipios.json](data/municipios.json) | [/data/municipios.csv](data/municipios.csv)
|
||||
|
||||
|
||||
|
||||
La lista de municipios sufre modificaciones todos los años para reflejar tanto los nuevos municipios (segregados), los que han desaparecido (incorporaciones o fusiones) y los cambios en sus denominaciones oficiales.
|
||||
|
||||
|
||||
|
||||
### Formato de los datos
|
||||
|
||||
|
||||
Incluye los siguientes campos:
|
||||
|
||||
CPRO: Código INE de la provincia
|
||||
CMUN: Código INE del municipio en relación a la provincia
|
||||
DC: Dígito de control
|
||||
NOMBRE: Denominación oficial
|
||||
|
||||
municipio_id: Código INE del municipio
|
||||
provincia_id: Código INE de la provincia
|
||||
cmun: Código INE del municipio en relación a la provincia
|
||||
dc: Dígito de control
|
||||
nombre: Denominación oficial
|
||||
|
||||
Ejemplo en CSV:
|
||||
|
||||
| CPRO | CMUN | DC | NOMBRE |
|
||||
|------|------|----|------------------|
|
||||
| 01 | 001 | 4 | Alegría-Dulantzi |
|
||||
| 01 | 002 | 9 | Amurrio |
|
||||
| 01 | 049 | 3 | Añana |
|
||||
|municipio_id| provincia_id | cmun | dc | nombre |
|
||||
|------------|--------------|------|----|------------------|
|
||||
| 01001 | 01 | 001 | 4 | Alegría-Dulantzi |
|
||||
| 01002 | 01 | 002 | 9 | Amurrio |
|
||||
| 01049 | 01 | 049 | 3 | Añana |
|
||||
|
||||
|
||||
En JSON:
|
||||
|
@ -48,22 +47,25 @@ En JSON:
|
|||
|
||||
[
|
||||
{
|
||||
"CPRO": "01", // CÓDIGO DE LA PROVINCIA
|
||||
"CMUN": "001", // CÓDIGO DEL MUNICIPIO
|
||||
"DC": "4", // DIGITO DE CONTROL
|
||||
"NOMBRE": "Alegría-Dulantzi"" // DENOMINACIÓN DEL MUNICIPIO
|
||||
"municipio_id": "01001",
|
||||
"provincia_id": "01",
|
||||
"cmun": "001",
|
||||
"dc": "4",
|
||||
"nombre": "Alegría-Dulantzi""
|
||||
},
|
||||
{
|
||||
"CPRO": "01",
|
||||
"CMUN": "002",
|
||||
"DC": "9",
|
||||
"NOMBRE": "Amurrio"
|
||||
"municipio_id": "01002",
|
||||
"provincia_id": "01",
|
||||
"cmun": "002",
|
||||
"dc": "9",
|
||||
"nombre": "Amurrio"
|
||||
},
|
||||
{
|
||||
"CPRO": "01",
|
||||
"CMUN": "049",
|
||||
"DC": "3",
|
||||
"NOMBRE": "Añana"
|
||||
"municipio_id": "01049",
|
||||
"provincia_id": "01",
|
||||
"cmun": "049",
|
||||
"dc": "3",
|
||||
"nombre": "Añana"
|
||||
},
|
||||
|
||||
|
||||
|
@ -76,25 +78,28 @@ En JSON:
|
|||
- Descripción: http://www.ine.es/daco/daco42/codmun/codmun00i.htm
|
||||
- Datos procesados: [/data/municipios_historical.json](data/municipios_historical.json) | [/data/municipios_historical.csv](data/municipios_historical.csv)
|
||||
|
||||
|
||||
La lista de municipios sufre modificaciones todos los años para reflejar tanto los nuevos municipios (segregados), los que han desaparecido (incorporaciones o fusiones) y los cambios en sus denominaciones oficiales.
|
||||
|
||||
|
||||
### Formato de los datos
|
||||
|
||||
|
||||
Incluye los siguientes campos:
|
||||
|
||||
CPRO: Código INE de la provincia
|
||||
CMUN: Código INE del municipio en relación a la provincia
|
||||
DC: Dígito de control
|
||||
NOMBRE: Denominación oficial
|
||||
YEAR: Año del dato
|
||||
municipio_id: Código INE del municipio
|
||||
year: Año del dato
|
||||
provincia_id: Código INE de la provincia
|
||||
cmun: Código INE del municipio en relación a la provincia
|
||||
dc: Dígito de control
|
||||
nombre: Denominación oficial
|
||||
|
||||
|
||||
Ejemplo en CSV:
|
||||
|
||||
| CPRO | CMUN | DC | NOMBRE | YEAR |
|
||||
|------|------|----|--------------------------|-------|
|
||||
| 16 | 167 | 8 | Pozorrubio | 2013 |
|
||||
| 16 | 167 | 8 | Pozorrubio de Santiago | 2014 |
|
||||
|municipio_id| year | provincia_id | cmun | dc | nombre |
|
||||
|------------|-------|---------------|------|----|--------------------------|
|
||||
| 16167 | 2013 |16 | 167 | 8 | Pozorrubio |
|
||||
| 16167 | 2014 |16 | 167 | 8 | Pozorrubio de Santiago |
|
||||
|
||||
|
||||
|
||||
|
@ -108,41 +113,42 @@ Ejemplo en CSV:
|
|||
|
||||
Las modificaciones que se producen son solo en las denominaciones oficiales de las provincias.
|
||||
|
||||
### Formato de los datos
|
||||
|
||||
### Formato de los datos
|
||||
|
||||
Incluye los siguientes campos:
|
||||
|
||||
codigo: Código INE de la provincia
|
||||
nombre: Denominación oficial
|
||||
provincia_id: Código INE de la provincia
|
||||
nombre: Denominación oficial
|
||||
|
||||
|
||||
Ejemplo en CSV:
|
||||
|
||||
| codigo | nombre |
|
||||
|--------|------------------|
|
||||
| 02 | Albacete |
|
||||
| 03 | Alicante/Alacant |
|
||||
| 04 | Almería |
|
||||
| provincia_id | nombre |
|
||||
|--------------|------------------|
|
||||
| 02 | Albacete |
|
||||
| 03 | Alicante/Alacant |
|
||||
| 04 | Almería |
|
||||
|
||||
|
||||
En JSON:
|
||||
|
||||
[
|
||||
{
|
||||
"codigo": "02",
|
||||
"nombre": "Albacete"
|
||||
"provincia_id": "02",
|
||||
"nombre": "Albacete"
|
||||
},
|
||||
{
|
||||
"codigo": "03",
|
||||
"nombre": "Alicante\/Alacant"
|
||||
"provincia_id": "03",
|
||||
"nombre": "Alicante\/Alacant"
|
||||
},
|
||||
{
|
||||
"codigo": "04",
|
||||
"nombre": "Almería"
|
||||
"provincia_id": "04",
|
||||
"nombre": "Almería"
|
||||
},
|
||||
|
||||
|
||||
|
||||
## Comunidades Autonomas
|
||||
|
||||
- URL: http://www.ine.es/daco/daco42/codmun/cod_ccaa.htm
|
||||
|
@ -156,33 +162,33 @@ No ha sufrido modificaciones en los últimos años.
|
|||
|
||||
Incluye los siguientes campos:
|
||||
|
||||
codigo: Código INE de la autonomia
|
||||
nombre: Denominación oficial
|
||||
autonomia_id: Código INE de la autonomia
|
||||
nombre: Denominación oficial
|
||||
|
||||
|
||||
|
||||
Ejemplo en CSV:
|
||||
|
||||
| codigo | nombre |
|
||||
|--------|---------------------------|
|
||||
| 01 | Andalucía |
|
||||
| 02 | Aragón |
|
||||
| 03 | "Asturias, Principado de" |
|
||||
| autonomia_id | nombre |
|
||||
|--------------|---------------------------|
|
||||
| 01 | Andalucía |
|
||||
| 02 | Aragón |
|
||||
| 03 | "Asturias, Principado de" |
|
||||
|
||||
|
||||
En JSON:
|
||||
|
||||
[
|
||||
{
|
||||
"codigo":"01",
|
||||
"autonomia_id":"01",
|
||||
"nombre":"Andalucía"
|
||||
},
|
||||
{
|
||||
"codigo":"02",
|
||||
"autonomia_id":"02",
|
||||
"nombre":"Aragón"
|
||||
},
|
||||
{
|
||||
"codigo":"03",
|
||||
"autonomia_id":"03",
|
||||
"nombre":"Asturias, Principado de"
|
||||
},
|
||||
|
||||
|
@ -201,17 +207,17 @@ En JSON:
|
|||
|
||||
Incluye los siguientes campos:
|
||||
|
||||
CPRO: Código INE de la provincia
|
||||
CISLA: Código INE de la isla
|
||||
NOMBRE: Denominación oficial
|
||||
isla_id: Código INE de la isla
|
||||
provincia_id: Código INE de la provincia
|
||||
nombre: Denominación oficial
|
||||
|
||||
Ejemplo en CSV:
|
||||
|
||||
| CPRO | CISLA | NOMBRE |
|
||||
|------|-------|---------------|
|
||||
| 7 | 074 | Menorca |
|
||||
| 35 | 351 | Fuerteventura |
|
||||
| 38 | 383 | "Palma, La " |
|
||||
| isla_id | provincia_id | nombre |
|
||||
|---------|---------------|---------------|
|
||||
| 074 | 07 | Menorca |
|
||||
| 351 | 35 | Fuerteventura |
|
||||
| 383 | 38 | "Palma, La " |
|
||||
|
||||
|
||||
|
||||
|
@ -229,19 +235,21 @@ Ejemplo en CSV:
|
|||
|
||||
Incluye los siguientes campos:
|
||||
|
||||
CPRO: Código INE de la provincia
|
||||
CISLA: Código INE de la isla
|
||||
CMUN: Código INE del municipio en relación a la provincia
|
||||
DC: Dígito de control
|
||||
NOMBRE: Denominación oficial
|
||||
municipio_id: Código INE del municipio
|
||||
provincia_id: Código INE de la provincia
|
||||
isla_id: Código INE de la isla
|
||||
cmun: Código INE del municipio en relación a la provincia
|
||||
dc: Dígito de control
|
||||
nombre: Denominación oficial
|
||||
|
||||
|
||||
Ejemplo en CSV:
|
||||
|
||||
| CPRO | CISLA | CMUN | DC | NOMBRE |
|
||||
|------|-------|------|----|------------------------------|
|
||||
| 7 | 072 | 46 | 6 | "Sant Antoni de Portmany" |
|
||||
| 38 | 381 | 36 | 8 | "San Sebastián de la Gomera" |
|
||||
| 35 | 352 | 27 | 1 | Teror |
|
||||
| municipio_id | provincia_id | isla_id | cmun | dc | nombre |
|
||||
|--------------|---------------|---------|------|----|------------------------------|
|
||||
| 07046 | 07 | 072 | 046 | 6 | "Sant Antoni de Portmany" |
|
||||
| 38036 | 38 | 381 | 036 | 8 | "San Sebastián de la Gomera" |
|
||||
| 35027 | 35 | 352 | 027 | 1 | Teror |
|
||||
|
||||
|
||||
|
||||
|
@ -259,19 +267,21 @@ Existen datos desde 2008, aunque solo a partir de 2012 se incorpora el código I
|
|||
|
||||
Incluye los siguientes campos:
|
||||
|
||||
CPRO: Código INE de la provincia
|
||||
CISLA: Código INE de la isla
|
||||
CMUN: Código INE del municipio en relación a la provincia
|
||||
DC: Dígito de control
|
||||
NOMBRE: Denominación oficial
|
||||
YEAR: Año del dato
|
||||
municipio_id: Código INE del municipio
|
||||
year: Año del dato
|
||||
provincia_id: Código INE de la provincia
|
||||
isla_id: Código INE de la isla
|
||||
cmun: Código INE del municipio en relación a la provincia
|
||||
dc: Dígito de control
|
||||
nombre: Denominación oficial
|
||||
|
||||
|
||||
Ejemplo en CSV:
|
||||
|
||||
| CPRO | CISLA | CMUN | DC | NOMBRE | YEAR |
|
||||
|------|-------|------|----|----------------------|------|
|
||||
| 38 | 384 | 52 | 6 | Vilaflor | 2014 |
|
||||
| 38 | 384 | 52 | 6 | "Vilaflor de Chasna" | 2015 |
|
||||
| municipio_id | year | provincia_id | isla_id | cmun | dc | nombre |
|
||||
|--------------|------|---------------|---------|------|----|----------------------|
|
||||
| 38052 | 2014 | 38 | 384 | 052 | 6 | Vilaflor |
|
||||
| 38052 | 2015 | 38 | 384 | 052 | 6 | "Vilaflor de Chasna" |
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
codigo,nombre
|
||||
autonomia_id,nombre
|
||||
01,Andalucía
|
||||
02,Aragón
|
||||
03,"Asturias, Principado de"
|
||||
|
|
|
|
@ -1 +1 @@
|
|||
[{"codigo":"01","nombre":"Andalucía"},{"codigo":"02","nombre":"Aragón"},{"codigo":"03","nombre":"Asturias, Principado de"},{"codigo":"04","nombre":"Balears, Illes"},{"codigo":"05","nombre":"Canarias"},{"codigo":"06","nombre":"Cantabria"},{"codigo":"07","nombre":"Castilla y León"},{"codigo":"08","nombre":"Castilla - La Mancha"},{"codigo":"09","nombre":"Cataluña"},{"codigo":"10","nombre":"Comunitat Valenciana"},{"codigo":"11","nombre":"Extremadura"},{"codigo":"12","nombre":"Galicia"},{"codigo":"13","nombre":"Madrid, Comunidad de"},{"codigo":"14","nombre":"Murcia, Región de"},{"codigo":"15","nombre":"Navarra, Comunidad Foral de"},{"codigo":"16","nombre":"País Vasco"},{"codigo":"17","nombre":"Rioja, La"},{"codigo":"18","nombre":"Ceuta"},{"codigo":"19","nombre":"Melilla"}]
|
||||
[{"autonomia_id": "01", "nombre": "Andalucía"}, {"autonomia_id": "02", "nombre": "Aragón"}, {"autonomia_id": "03", "nombre": "Asturias, Principado de"}, {"autonomia_id": "04", "nombre": "Balears, Illes"}, {"autonomia_id": "05", "nombre": "Canarias"}, {"autonomia_id": "06", "nombre": "Cantabria"}, {"autonomia_id": "07", "nombre": "Castilla y León"}, {"autonomia_id": "08", "nombre": "Castilla - La Mancha"}, {"autonomia_id": "09", "nombre": "Cataluña"}, {"autonomia_id": "10", "nombre": "Comunitat Valenciana"}, {"autonomia_id": "11", "nombre": "Extremadura"}, {"autonomia_id": "12", "nombre": "Galicia"}, {"autonomia_id": "13", "nombre": "Madrid, Comunidad de"}, {"autonomia_id": "14", "nombre": "Murcia, Región de"}, {"autonomia_id": "15", "nombre": "Navarra, Comunidad Foral de"}, {"autonomia_id": "16", "nombre": "País Vasco"}, {"autonomia_id": "17", "nombre": "Rioja, La"}, {"autonomia_id": "18", "nombre": "Ceuta"}, {"autonomia_id": "19", "nombre": "Melilla"}]
|
|
@ -1,12 +1,12 @@
|
|||
CPRO,CISLA,NOMBRE
|
||||
7,071,Formentera
|
||||
7,072,Ibiza
|
||||
7,073,Mallorca
|
||||
7,074,Menorca
|
||||
35,351,Fuerteventura
|
||||
35,352,"Gran Canaria"
|
||||
35,353,Lanzarote
|
||||
38,381,"Gomera, La "
|
||||
38,382,"Hierro, El "
|
||||
38,383,"Palma, La "
|
||||
38,384,Tenerife
|
||||
isla_id,provincia_id,nombre
|
||||
071,07,Formentera
|
||||
072,07,Ibiza
|
||||
073,07,Mallorca
|
||||
074,07,Menorca
|
||||
351,35,Fuerteventura
|
||||
352,35,"Gran Canaria"
|
||||
353,35,Lanzarote
|
||||
381,38,"Gomera, La "
|
||||
382,38,"Hierro, El "
|
||||
383,38,"Palma, La "
|
||||
384,38,Tenerife
|
||||
|
|
|
|
@ -1 +1 @@
|
|||
{"071":{"CPRO":"7","CISLA":"071","NOMBRE":"Formentera"},"072":{"CPRO":"7","CISLA":"072","NOMBRE":"Ibiza"},"073":{"CPRO":"7","CISLA":"073","NOMBRE":"Mallorca"},"074":{"CPRO":"7","CISLA":"074","NOMBRE":"Menorca"},"351":{"CPRO":"35","CISLA":351,"NOMBRE":"Fuerteventura"},"352":{"CPRO":"35","CISLA":352,"NOMBRE":"Gran Canaria"},"353":{"CPRO":"35","CISLA":353,"NOMBRE":"Lanzarote"},"381":{"CPRO":"38","CISLA":381,"NOMBRE":"Gomera, La "},"382":{"CPRO":"38","CISLA":382,"NOMBRE":"Hierro, El "},"383":{"CPRO":"38","CISLA":383,"NOMBRE":"Palma, La "},"384":{"CPRO":"38","CISLA":384,"NOMBRE":"Tenerife"}}
|
||||
[{"isla_id": "071", "provincia_id": "07", "nombre": "Formentera"}, {"isla_id": "072", "provincia_id": "07", "nombre": "Ibiza"}, {"isla_id": "073", "provincia_id": "07", "nombre": "Mallorca"}, {"isla_id": "074", "provincia_id": "07", "nombre": "Menorca"}, {"isla_id": "351", "provincia_id": "35", "nombre": "Fuerteventura"}, {"isla_id": "352", "provincia_id": "35", "nombre": "Gran Canaria"}, {"isla_id": "353", "provincia_id": "35", "nombre": "Lanzarote"}, {"isla_id": "381", "provincia_id": "38", "nombre": "Gomera, La "}, {"isla_id": "382", "provincia_id": "38", "nombre": "Hierro, El "}, {"isla_id": "383", "provincia_id": "38", "nombre": "Palma, La "}, {"isla_id": "384", "provincia_id": "38", "nombre": "Tenerife"}]
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
16252
data/municipios.csv
16252
data/municipios.csv
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,156 +1,156 @@
|
|||
CPRO,CISLA,CMUN,DC,NOMBRE
|
||||
7,071,24,4,Formentera
|
||||
7,072,26,0,Eivissa
|
||||
7,072,46,6,"Sant Antoni de Portmany"
|
||||
7,072,50,4,"Sant Joan de Labritja"
|
||||
7,072,48,8,"Sant Josep de sa Talaia"
|
||||
7,072,54,7,"Santa Eulària des Riu"
|
||||
7,073,1,2,Alaró
|
||||
7,073,3,3,Alcúdia
|
||||
7,073,4,8,Algaida
|
||||
7,073,5,1,Andratx
|
||||
7,073,901,3,Ariany
|
||||
7,073,6,4,Artà
|
||||
7,073,7,0,Banyalbufar
|
||||
7,073,8,6,Binissalem
|
||||
7,073,9,9,Búger
|
||||
7,073,10,3,Bunyola
|
||||
7,073,11,0,Calvià
|
||||
7,073,12,5,Campanet
|
||||
7,073,13,1,Campos
|
||||
7,073,14,6,Capdepera
|
||||
7,073,16,2,Consell
|
||||
7,073,17,8,Costitx
|
||||
7,073,18,4,Deià
|
||||
7,073,19,7,Escorca
|
||||
7,073,20,1,Esporles
|
||||
7,073,21,8,Estellencs
|
||||
7,073,22,3,Felanitx
|
||||
7,073,25,7,Fornalutx
|
||||
7,073,27,6,Inca
|
||||
7,073,28,2,"Lloret de Vistalegre"
|
||||
7,073,29,5,Lloseta
|
||||
7,073,30,9,Llubí
|
||||
7,073,31,6,Llucmajor
|
||||
7,073,33,7,Manacor
|
||||
7,073,34,2,"Mancor de la Vall"
|
||||
7,073,35,5,"Maria de la Salut"
|
||||
7,073,36,8,Marratxí
|
||||
7,073,38,0,Montuïri
|
||||
7,073,39,3,Muro
|
||||
7,073,40,7,"Palma de Mallorca"
|
||||
7,073,41,4,Petra
|
||||
7,073,44,0,"Pobla, Sa"
|
||||
7,073,42,9,Pollença
|
||||
7,073,43,5,Porreres
|
||||
7,073,45,3,Puigpunyent
|
||||
7,073,59,8,"Salines, Ses"
|
||||
7,073,49,1,"Sant Joan"
|
||||
7,073,51,1,"Sant Llorenç des Cardassar"
|
||||
7,073,53,2,"Santa Eugènia"
|
||||
7,073,55,0,"Santa Margalida"
|
||||
7,073,56,3,"Santa María del Camí"
|
||||
7,073,57,9,Santanyí
|
||||
7,073,58,5,Selva
|
||||
7,073,47,2,Sencelles
|
||||
7,073,60,2,Sineu
|
||||
7,073,61,9,Sóller
|
||||
7,073,62,4,"Son Servera"
|
||||
7,073,63,0,Valldemossa
|
||||
7,073,65,8,"Vilafranca de Bonany"
|
||||
7,074,2,7,Alaior
|
||||
7,074,64,5,"Castell, Es"
|
||||
7,074,15,9,"Ciutadella de Menorca"
|
||||
7,074,23,9,Ferreries
|
||||
7,074,32,1,Maó-Mahón
|
||||
7,074,37,4,"Mercadal, Es"
|
||||
7,074,902,8,"Migjorn Gran, Es"
|
||||
7,074,52,6,"Sant Lluís"
|
||||
35,351,3,8,Antigua
|
||||
35,351,7,5,Betancuria
|
||||
35,351,14,1,"Oliva, La"
|
||||
35,351,15,4,Pájara
|
||||
35,351,17,3,"Puerto del Rosario"
|
||||
35,351,30,4,Tuineje
|
||||
35,352,1,7,Agaete
|
||||
35,352,2,2,Agüimes
|
||||
35,352,20,6,"Aldea de San Nicolás, La"
|
||||
35,352,5,6,Artenara
|
||||
35,352,6,9,Arucas
|
||||
35,352,8,1,Firgas
|
||||
35,352,9,4,Gáldar
|
||||
35,352,11,5,Ingenio
|
||||
35,352,12,0,Mogán
|
||||
35,352,13,6,Moya
|
||||
35,352,16,7,"Palmas de Gran Canaria, Las"
|
||||
35,352,19,2,"San Bartolomé de Tirajana"
|
||||
35,352,21,3,"Santa Brígida"
|
||||
35,352,22,8,"Santa Lucía de Tirajana"
|
||||
35,352,23,4,"Santa María de Guía de Gran Canaria"
|
||||
35,352,25,2,Tejeda
|
||||
35,352,26,5,Telde
|
||||
35,352,27,1,Teror
|
||||
35,352,32,6,Valleseco
|
||||
35,352,31,1,"Valsequillo de Gran Canaria"
|
||||
35,352,33,2,"Vega de San Mateo"
|
||||
35,353,4,3,Arrecife
|
||||
35,353,10,8,Haría
|
||||
35,353,18,9,"San Bartolomé"
|
||||
35,353,24,9,Teguise
|
||||
35,353,28,7,Tías
|
||||
35,353,29,0,Tinajo
|
||||
35,353,34,7,Yaiza
|
||||
38,381,2,7,Agulo
|
||||
38,381,3,3,Alajeró
|
||||
38,381,21,8,Hermigua
|
||||
38,381,36,8,"San Sebastián de la Gomera"
|
||||
38,381,49,1,"Valle Gran Rey"
|
||||
38,381,50,4,Vallehermoso
|
||||
38,382,13,1,Frontera
|
||||
38,382,901,3,"Pinar de El Hierro, El"
|
||||
38,382,48,8,Valverde
|
||||
38,383,7,0,Barlovento
|
||||
38,383,8,6,"Breña Alta"
|
||||
38,383,9,9,"Breña Baja"
|
||||
38,383,14,6,"Fuencaliente de la Palma"
|
||||
38,383,16,2,Garafía
|
||||
38,383,24,4,"Llanos de Aridane, Los"
|
||||
38,383,27,6,"Paso, El"
|
||||
38,383,29,5,Puntagorda
|
||||
38,383,30,9,Puntallana
|
||||
38,383,33,7,"San Andrés y Sauces"
|
||||
38,383,37,4,"Santa Cruz de la Palma"
|
||||
38,383,45,3,Tazacorte
|
||||
38,383,47,2,Tijarafe
|
||||
38,383,53,2,"Villa de Mazo"
|
||||
38,384,1,2,Adeje
|
||||
38,384,4,8,Arafo
|
||||
38,384,5,1,Arico
|
||||
38,384,6,4,Arona
|
||||
38,384,10,3,"Buenavista del Norte"
|
||||
38,384,11,0,Candelaria
|
||||
38,384,12,5,Fasnia
|
||||
38,384,15,9,Garachico
|
||||
38,384,17,8,"Granadilla de Abona"
|
||||
38,384,18,4,"Guancha, La"
|
||||
38,384,19,7,"Guía de Isora"
|
||||
38,384,20,1,Güímar
|
||||
38,384,22,3,"Icod de los Vinos"
|
||||
38,384,25,7,"Matanza de Acentejo, La"
|
||||
38,384,26,0,"Orotava, La"
|
||||
38,384,28,2,"Puerto de la Cruz"
|
||||
38,384,31,6,"Realejos, Los"
|
||||
38,384,32,1,"Rosario, El"
|
||||
38,384,23,9,"San Cristóbal de La Laguna"
|
||||
38,384,34,2,"San Juan de la Rambla"
|
||||
38,384,35,5,"San Miguel de Abona"
|
||||
38,384,38,0,"Santa Cruz de Tenerife"
|
||||
38,384,39,3,"Santa Úrsula"
|
||||
38,384,40,7,"Santiago del Teide"
|
||||
38,384,41,4,"Sauzal, El"
|
||||
38,384,42,9,"Silos, Los"
|
||||
38,384,43,5,Tacoronte
|
||||
38,384,44,0,"Tanque, El"
|
||||
38,384,46,6,Tegueste
|
||||
38,384,51,1,"Victoria de Acentejo, La"
|
||||
38,384,52,6,"Vilaflor de Chasna"
|
||||
municipio_id,isla_id,provincia_id,cmun,dc,nombre
|
||||
07024,071,07,024,4,Formentera
|
||||
07026,072,07,026,0,Eivissa
|
||||
07046,072,07,046,6,"Sant Antoni de Portmany"
|
||||
07050,072,07,050,4,"Sant Joan de Labritja"
|
||||
07048,072,07,048,8,"Sant Josep de sa Talaia"
|
||||
07054,072,07,054,7,"Santa Eulària des Riu"
|
||||
07001,073,07,001,2,Alaró
|
||||
07003,073,07,003,3,Alcúdia
|
||||
07004,073,07,004,8,Algaida
|
||||
07005,073,07,005,1,Andratx
|
||||
07901,073,07,901,3,Ariany
|
||||
07006,073,07,006,4,Artà
|
||||
07007,073,07,007,0,Banyalbufar
|
||||
07008,073,07,008,6,Binissalem
|
||||
07009,073,07,009,9,Búger
|
||||
07010,073,07,010,3,Bunyola
|
||||
07011,073,07,011,0,Calvià
|
||||
07012,073,07,012,5,Campanet
|
||||
07013,073,07,013,1,Campos
|
||||
07014,073,07,014,6,Capdepera
|
||||
07016,073,07,016,2,Consell
|
||||
07017,073,07,017,8,Costitx
|
||||
07018,073,07,018,4,Deià
|
||||
07019,073,07,019,7,Escorca
|
||||
07020,073,07,020,1,Esporles
|
||||
07021,073,07,021,8,Estellencs
|
||||
07022,073,07,022,3,Felanitx
|
||||
07025,073,07,025,7,Fornalutx
|
||||
07027,073,07,027,6,Inca
|
||||
07028,073,07,028,2,"Lloret de Vistalegre"
|
||||
07029,073,07,029,5,Lloseta
|
||||
07030,073,07,030,9,Llubí
|
||||
07031,073,07,031,6,Llucmajor
|
||||
07033,073,07,033,7,Manacor
|
||||
07034,073,07,034,2,"Mancor de la Vall"
|
||||
07035,073,07,035,5,"Maria de la Salut"
|
||||
07036,073,07,036,8,Marratxí
|
||||
07038,073,07,038,0,Montuïri
|
||||
07039,073,07,039,3,Muro
|
||||
07040,073,07,040,7,"Palma de Mallorca"
|
||||
07041,073,07,041,4,Petra
|
||||
07044,073,07,044,0,"Pobla, Sa"
|
||||
07042,073,07,042,9,Pollença
|
||||
07043,073,07,043,5,Porreres
|
||||
07045,073,07,045,3,Puigpunyent
|
||||
07059,073,07,059,8,"Salines, Ses"
|
||||
07049,073,07,049,1,"Sant Joan"
|
||||
07051,073,07,051,1,"Sant Llorenç des Cardassar"
|
||||
07053,073,07,053,2,"Santa Eugènia"
|
||||
07055,073,07,055,0,"Santa Margalida"
|
||||
07056,073,07,056,3,"Santa María del Camí"
|
||||
07057,073,07,057,9,Santanyí
|
||||
07058,073,07,058,5,Selva
|
||||
07047,073,07,047,2,Sencelles
|
||||
07060,073,07,060,2,Sineu
|
||||
07061,073,07,061,9,Sóller
|
||||
07062,073,07,062,4,"Son Servera"
|
||||
07063,073,07,063,0,Valldemossa
|
||||
07065,073,07,065,8,"Vilafranca de Bonany"
|
||||
07002,074,07,002,7,Alaior
|
||||
07064,074,07,064,5,"Castell, Es"
|
||||
07015,074,07,015,9,"Ciutadella de Menorca"
|
||||
07023,074,07,023,9,Ferreries
|
||||
07032,074,07,032,1,Maó-Mahón
|
||||
07037,074,07,037,4,"Mercadal, Es"
|
||||
07902,074,07,902,8,"Migjorn Gran, Es"
|
||||
07052,074,07,052,6,"Sant Lluís"
|
||||
35003,351,35,003,8,Antigua
|
||||
35007,351,35,007,5,Betancuria
|
||||
35014,351,35,014,1,"Oliva, La"
|
||||
35015,351,35,015,4,Pájara
|
||||
35017,351,35,017,3,"Puerto del Rosario"
|
||||
35030,351,35,030,4,Tuineje
|
||||
35001,352,35,001,7,Agaete
|
||||
35002,352,35,002,2,Agüimes
|
||||
35020,352,35,020,6,"Aldea de San Nicolás, La"
|
||||
35005,352,35,005,6,Artenara
|
||||
35006,352,35,006,9,Arucas
|
||||
35008,352,35,008,1,Firgas
|
||||
35009,352,35,009,4,Gáldar
|
||||
35011,352,35,011,5,Ingenio
|
||||
35012,352,35,012,0,Mogán
|
||||
35013,352,35,013,6,Moya
|
||||
35016,352,35,016,7,"Palmas de Gran Canaria, Las"
|
||||
35019,352,35,019,2,"San Bartolomé de Tirajana"
|
||||
35021,352,35,021,3,"Santa Brígida"
|
||||
35022,352,35,022,8,"Santa Lucía de Tirajana"
|
||||
35023,352,35,023,4,"Santa María de Guía de Gran Canaria"
|
||||
35025,352,35,025,2,Tejeda
|
||||
35026,352,35,026,5,Telde
|
||||
35027,352,35,027,1,Teror
|
||||
35032,352,35,032,6,Valleseco
|
||||
35031,352,35,031,1,"Valsequillo de Gran Canaria"
|
||||
35033,352,35,033,2,"Vega de San Mateo"
|
||||
35004,353,35,004,3,Arrecife
|
||||
35010,353,35,010,8,Haría
|
||||
35018,353,35,018,9,"San Bartolomé"
|
||||
35024,353,35,024,9,Teguise
|
||||
35028,353,35,028,7,Tías
|
||||
35029,353,35,029,0,Tinajo
|
||||
35034,353,35,034,7,Yaiza
|
||||
38002,381,38,002,7,Agulo
|
||||
38003,381,38,003,3,Alajeró
|
||||
38021,381,38,021,8,Hermigua
|
||||
38036,381,38,036,8,"San Sebastián de la Gomera"
|
||||
38049,381,38,049,1,"Valle Gran Rey"
|
||||
38050,381,38,050,4,Vallehermoso
|
||||
38013,382,38,013,1,Frontera
|
||||
38901,382,38,901,3,"Pinar de El Hierro, El"
|
||||
38048,382,38,048,8,Valverde
|
||||
38007,383,38,007,0,Barlovento
|
||||
38008,383,38,008,6,"Breña Alta"
|
||||
38009,383,38,009,9,"Breña Baja"
|
||||
38014,383,38,014,6,"Fuencaliente de la Palma"
|
||||
38016,383,38,016,2,Garafía
|
||||
38024,383,38,024,4,"Llanos de Aridane, Los"
|
||||
38027,383,38,027,6,"Paso, El"
|
||||
38029,383,38,029,5,Puntagorda
|
||||
38030,383,38,030,9,Puntallana
|
||||
38033,383,38,033,7,"San Andrés y Sauces"
|
||||
38037,383,38,037,4,"Santa Cruz de la Palma"
|
||||
38045,383,38,045,3,Tazacorte
|
||||
38047,383,38,047,2,Tijarafe
|
||||
38053,383,38,053,2,"Villa de Mazo"
|
||||
38001,384,38,001,2,Adeje
|
||||
38004,384,38,004,8,Arafo
|
||||
38005,384,38,005,1,Arico
|
||||
38006,384,38,006,4,Arona
|
||||
38010,384,38,010,3,"Buenavista del Norte"
|
||||
38011,384,38,011,0,Candelaria
|
||||
38012,384,38,012,5,Fasnia
|
||||
38015,384,38,015,9,Garachico
|
||||
38017,384,38,017,8,"Granadilla de Abona"
|
||||
38018,384,38,018,4,"Guancha, La"
|
||||
38019,384,38,019,7,"Guía de Isora"
|
||||
38020,384,38,020,1,Güímar
|
||||
38022,384,38,022,3,"Icod de los Vinos"
|
||||
38025,384,38,025,7,"Matanza de Acentejo, La"
|
||||
38026,384,38,026,0,"Orotava, La"
|
||||
38028,384,38,028,2,"Puerto de la Cruz"
|
||||
38031,384,38,031,6,"Realejos, Los"
|
||||
38032,384,38,032,1,"Rosario, El"
|
||||
38023,384,38,023,9,"San Cristóbal de La Laguna"
|
||||
38034,384,38,034,2,"San Juan de la Rambla"
|
||||
38035,384,38,035,5,"San Miguel de Abona"
|
||||
38038,384,38,038,0,"Santa Cruz de Tenerife"
|
||||
38039,384,38,039,3,"Santa Úrsula"
|
||||
38040,384,38,040,7,"Santiago del Teide"
|
||||
38041,384,38,041,4,"Sauzal, El"
|
||||
38042,384,38,042,9,"Silos, Los"
|
||||
38043,384,38,043,5,Tacoronte
|
||||
38044,384,38,044,0,"Tanque, El"
|
||||
38046,384,38,046,6,Tegueste
|
||||
38051,384,38,051,1,"Victoria de Acentejo, La"
|
||||
38052,384,38,052,6,"Vilaflor de Chasna"
|
||||
|
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,4 @@
|
|||
codigo,nombre
|
||||
provincia_id,nombre
|
||||
02,Albacete
|
||||
03,Alicante/Alacant
|
||||
04,Almería
|
||||
|
|
|
|
@ -1 +1 @@
|
|||
[{"codigo":"02","nombre":"Albacete"},{"codigo":"03","nombre":"Alicante\/Alacant"},{"codigo":"04","nombre":"Almería"},{"codigo":"01","nombre":"Araba\/Álava"},{"codigo":"33","nombre":"Asturias"},{"codigo":"05","nombre":"Ávila"},{"codigo":"06","nombre":"Badajoz"},{"codigo":"07","nombre":"Balears, Illes"},{"codigo":"08","nombre":"Barcelona"},{"codigo":"48","nombre":"Bizkaia"},{"codigo":"09","nombre":"Burgos"},{"codigo":"10","nombre":"Cáceres"},{"codigo":"11","nombre":"Cádiz"},{"codigo":"39","nombre":"Cantabria"},{"codigo":"12","nombre":"Castellón\/Castelló"},{"codigo":"13","nombre":"Ciudad Real"},{"codigo":"14","nombre":"Córdoba"},{"codigo":"15","nombre":"Coruña, A"},{"codigo":"16","nombre":"Cuenca"},{"codigo":"20","nombre":"Gipuzkoa"},{"codigo":"17","nombre":"Girona"},{"codigo":"18","nombre":"Granada"},{"codigo":"19","nombre":"Guadalajara"},{"codigo":"21","nombre":"Huelva"},{"codigo":"22","nombre":"Huesca"},{"codigo":"23","nombre":"Jaén"},{"codigo":"24","nombre":"León"},{"codigo":"25","nombre":"Lleida"},{"codigo":"27","nombre":"Lugo"},{"codigo":"28","nombre":"Madrid"},{"codigo":"29","nombre":"Málaga"},{"codigo":"30","nombre":"Murcia"},{"codigo":"31","nombre":"Navarra"},{"codigo":"32","nombre":"Ourense"},{"codigo":"34","nombre":"Palencia"},{"codigo":"35","nombre":"Palmas, Las"},{"codigo":"36","nombre":"Pontevedra"},{"codigo":"26","nombre":"Rioja, La"},{"codigo":"37","nombre":"Salamanca"},{"codigo":"38","nombre":"Santa Cruz de Tenerife"},{"codigo":"40","nombre":"Segovia"},{"codigo":"41","nombre":"Sevilla"},{"codigo":"42","nombre":"Soria"},{"codigo":"43","nombre":"Tarragona"},{"codigo":"44","nombre":"Teruel"},{"codigo":"45","nombre":"Toledo"},{"codigo":"46","nombre":"Valencia\/València"},{"codigo":"47","nombre":"Valladolid"},{"codigo":"49","nombre":"Zamora"},{"codigo":"50","nombre":"Zaragoza"},{"codigo":"51","nombre":"Ceuta"},{"codigo":"52","nombre":"Melilla"}]
|
||||
[{"provincia_id": "02", "nombre": "Albacete"}, {"provincia_id": "03", "nombre": "Alicante/Alacant"}, {"provincia_id": "04", "nombre": "Almería"}, {"provincia_id": "01", "nombre": "Araba/Álava"}, {"provincia_id": "33", "nombre": "Asturias"}, {"provincia_id": "05", "nombre": "Ávila"}, {"provincia_id": "06", "nombre": "Badajoz"}, {"provincia_id": "07", "nombre": "Balears, Illes"}, {"provincia_id": "08", "nombre": "Barcelona"}, {"provincia_id": "48", "nombre": "Bizkaia"}, {"provincia_id": "09", "nombre": "Burgos"}, {"provincia_id": "10", "nombre": "Cáceres"}, {"provincia_id": "11", "nombre": "Cádiz"}, {"provincia_id": "39", "nombre": "Cantabria"}, {"provincia_id": "12", "nombre": "Castellón/Castelló"}, {"provincia_id": "13", "nombre": "Ciudad Real"}, {"provincia_id": "14", "nombre": "Córdoba"}, {"provincia_id": "15", "nombre": "Coruña, A"}, {"provincia_id": "16", "nombre": "Cuenca"}, {"provincia_id": "20", "nombre": "Gipuzkoa"}, {"provincia_id": "17", "nombre": "Girona"}, {"provincia_id": "18", "nombre": "Granada"}, {"provincia_id": "19", "nombre": "Guadalajara"}, {"provincia_id": "21", "nombre": "Huelva"}, {"provincia_id": "22", "nombre": "Huesca"}, {"provincia_id": "23", "nombre": "Jaén"}, {"provincia_id": "24", "nombre": "León"}, {"provincia_id": "25", "nombre": "Lleida"}, {"provincia_id": "27", "nombre": "Lugo"}, {"provincia_id": "28", "nombre": "Madrid"}, {"provincia_id": "29", "nombre": "Málaga"}, {"provincia_id": "30", "nombre": "Murcia"}, {"provincia_id": "31", "nombre": "Navarra"}, {"provincia_id": "32", "nombre": "Ourense"}, {"provincia_id": "34", "nombre": "Palencia"}, {"provincia_id": "35", "nombre": "Palmas, Las"}, {"provincia_id": "36", "nombre": "Pontevedra"}, {"provincia_id": "26", "nombre": "Rioja, La"}, {"provincia_id": "37", "nombre": "Salamanca"}, {"provincia_id": "38", "nombre": "Santa Cruz de Tenerife"}, {"provincia_id": "40", "nombre": "Segovia"}, {"provincia_id": "41", "nombre": "Sevilla"}, {"provincia_id": "42", "nombre": "Soria"}, {"provincia_id": "43", "nombre": "Tarragona"}, {"provincia_id": "44", "nombre": "Teruel"}, {"provincia_id": "45", "nombre": "Toledo"}, {"provincia_id": "46", "nombre": "Valencia/València"}, {"provincia_id": "47", "nombre": "Valladolid"}, {"provincia_id": "49", "nombre": "Zamora"}, {"provincia_id": "50", "nombre": "Zaragoza"}, {"provincia_id": "51", "nombre": "Ceuta"}, {"provincia_id": "52", "nombre": "Melilla"}]
|
815
datapackage.json
815
datapackage.json
|
@ -1,264 +1,555 @@
|
|||
{
|
||||
"name": "ds-organizacion-administrativa",
|
||||
"title": "Organiazación Administrativa de España",
|
||||
"descriptions": "Listado de comunidades, provincias, municipios con su correspondiente código INE",
|
||||
"licenses" : [
|
||||
{
|
||||
"type": "odc-pddl",
|
||||
"url": "http://opendatacommons.org/licenses/pddl/"
|
||||
}
|
||||
],
|
||||
"author" : {
|
||||
"name": "Code for Spain",
|
||||
"web": "http://www.codeforspain.org"
|
||||
},
|
||||
"keywords": [ "Provincias", "Municipios", "Comunidades Autonomas"],
|
||||
"version": "0.0.1",
|
||||
"last_updated": "2016-04-20",
|
||||
"sources": [
|
||||
{
|
||||
"name": "Instituto Nacional de Estadistica",
|
||||
"web": "http://www.ine.es/jaxi/menu.do?type=pcaxis&path=/t20/e245/codmun&file=inebase"
|
||||
}
|
||||
],
|
||||
"resources": [
|
||||
{
|
||||
"name": "ds_oa_municipios",
|
||||
"title": "Municipios de España",
|
||||
"description": "Relacion de municipios de España por provincia, según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data/municipios.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "CPRO",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
|
||||
},
|
||||
{
|
||||
"name": "CMUN",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. CPRO contacatenado con CMUN resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "DC",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "NOMBRE",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
"name": "ds-organizacion-administrativa",
|
||||
"title": "Organización Administrativa de España",
|
||||
"descriptions": "Listado de comunidades, provincias, municipios, islas con su correspondiente código INE",
|
||||
"licenses": [
|
||||
{
|
||||
"type": "odc-pddl",
|
||||
"url": "http:\/\/opendatacommons.org\/licenses\/pddl\/"
|
||||
}
|
||||
],
|
||||
"author": {
|
||||
"name": "Code for Spain",
|
||||
"web": "http:\/\/www.codeforspain.org"
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_historical",
|
||||
"title": "Municipios de España (Histórico)",
|
||||
"description": "Relacion de municipios de España, por provincia y año, según el INE. Recoge modificaciones anuales.",
|
||||
"format": "csv",
|
||||
"path": "data/municipios_historical.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "CPRO",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
|
||||
},
|
||||
{
|
||||
"name": "CMUN",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. CPRO contacatenado con CMUN resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "DC",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "NOMBRE",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
},
|
||||
{
|
||||
"name": "YEAR",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_provincias",
|
||||
"title": "Provincias de España",
|
||||
"description": "Relacion de provincias de España según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data/provincias.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "codigo",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la provincia"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_autonomias",
|
||||
"title": "Comunidades Autonomas de España ",
|
||||
"description": "Relacion de comunidades autonomas de España, según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data/autonomias.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "codigo",
|
||||
"type": "number",
|
||||
"description": "Código INE de la comunidad autónoma",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la comunidad autónoma"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_islas",
|
||||
"title": "Municipios de España por Isla",
|
||||
"description": "Relacion de municipios que contiene cada Isla en al último año, según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data/municipios_islas.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "CPRO",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
|
||||
},
|
||||
{
|
||||
"name": "CISLA",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "CMUN",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. CPRO contacatenado con CMUN resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "DC",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "NOMBRE",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_islas_historical",
|
||||
"title": "Municipios de España por Isla (Histórico)",
|
||||
"description": "Relacion de municipios por isla y por año desde 2008, según el INE. Recoge modificaciones anuales.",
|
||||
"format": "csv",
|
||||
"path": "data/municipios_islas_historical.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "CPRO",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
|
||||
},
|
||||
{
|
||||
"name": "CISLA",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "CMUN",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. CPRO contacatenado con CMUN resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "DC",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "NOMBRE",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
},
|
||||
{
|
||||
"name": "YEAR",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_islas",
|
||||
"title": "Islas de España",
|
||||
"description": "Relacion de islas por provincia según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data/islas.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "CPRO",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
|
||||
},
|
||||
{
|
||||
"name": "CISLA",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "NOMBRE",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la isla"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
]
|
||||
}
|
||||
"keywords": [
|
||||
"Provincias",
|
||||
"Municipios",
|
||||
"Comunidades Autonomas",
|
||||
"Islas"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"name": "Instituto Nacional de Estadistica",
|
||||
"web": "http:\/\/www.ine.es\/jaxi\/menu.do?type=pcaxis&path=\/t20\/e245\/codmun&file=inebase"
|
||||
}
|
||||
],
|
||||
"resources": [
|
||||
{
|
||||
"name": "ds_oa_municipios",
|
||||
"title": "Municipios de España",
|
||||
"description": "Relacion de municipios de España por provincia, según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data\/municipios.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "year",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_historical",
|
||||
"title": "Municipios de España (Histórico)",
|
||||
"description": "Relacion de municipios de España, por provincia y año, según el INE. Recoge modificaciones anuales.",
|
||||
"format": "csv",
|
||||
"path": "data\/municipios_historical.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
},
|
||||
{
|
||||
"name": "year",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_provincias",
|
||||
"title": "Provincias de España",
|
||||
"description": "Relacion de provincias de España según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data\/provincias.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la provincia"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_autonomias",
|
||||
"title": "Comunidades Autonomas de España ",
|
||||
"description": "Relacion de comunidades autonomas de España, según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data\/autonomias.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "autonomia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la comunidad autónoma",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la comunidad autónoma"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_islas",
|
||||
"title": "Municipios de España por Isla",
|
||||
"description": "Relacion de municipios que contiene cada Isla en al último año, según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data\/municipios_islas.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "isla_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_islas_historical",
|
||||
"title": "Municipios de España por Isla (Histórico)",
|
||||
"description": "Relacion de municipios por isla y por año desde 2008, según el INE. Recoge modificaciones anuales.",
|
||||
"format": "csv",
|
||||
"path": "data\/municipios_islas_historical.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "year",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "isla_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_islas",
|
||||
"title": "Islas de España",
|
||||
"description": "Relacion de islas por provincia según el INE.",
|
||||
"format": "csv",
|
||||
"path": "data\/islas.csv",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "isla_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la isla"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios",
|
||||
"title": "Municipios de España",
|
||||
"description": "Relacion de municipios de España por provincia, según el INE.",
|
||||
"format": "json",
|
||||
"path": "data\/municipios.json",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "year",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_historical",
|
||||
"title": "Municipios de España (Histórico)",
|
||||
"description": "Relacion de municipios de España, por provincia y año, según el INE. Recoge modificaciones anuales.",
|
||||
"format": "json",
|
||||
"path": "data\/municipios_historical.json",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
},
|
||||
{
|
||||
"name": "year",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_provincias",
|
||||
"title": "Provincias de España",
|
||||
"description": "Relacion de provincias de España según el INE.",
|
||||
"format": "json",
|
||||
"path": "data\/provincias.json",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la provincia"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_autonomias",
|
||||
"title": "Comunidades Autonomas de España ",
|
||||
"description": "Relacion de comunidades autonomas de España, según el INE.",
|
||||
"format": "json",
|
||||
"path": "data\/autonomias.json",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "autonomia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la comunidad autónoma",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la comunidad autónoma"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_islas",
|
||||
"title": "Municipios de España por Isla",
|
||||
"description": "Relacion de municipios que contiene cada Isla en al último año, según el INE.",
|
||||
"format": "json",
|
||||
"path": "data\/municipios_islas.json",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "isla_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_municipios_islas_historical",
|
||||
"title": "Municipios de España por Isla (Histórico)",
|
||||
"description": "Relacion de municipios por isla y por año desde 2008, según el INE. Recoge modificaciones anuales.",
|
||||
"format": "json",
|
||||
"path": "data\/municipios_islas_historical.json",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "municipio_id",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio",
|
||||
"pattern": "[0-9]{5}"
|
||||
},
|
||||
{
|
||||
"name": "year",
|
||||
"type": "number",
|
||||
"pattern": "[0-9]{4}",
|
||||
"description": "Año del dato"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "isla_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "cmun",
|
||||
"type": "number",
|
||||
"description": "Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "dc",
|
||||
"type": "number",
|
||||
"description": "Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación",
|
||||
"pattern": "[0-9]{1}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial del municipio"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ds_oa_islas",
|
||||
"title": "Islas de España",
|
||||
"description": "Relacion de islas por provincia según el INE.",
|
||||
"format": "json",
|
||||
"path": "data\/islas.json",
|
||||
"schema": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "isla_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la isla",
|
||||
"pattern": "[0-9]{3}"
|
||||
},
|
||||
{
|
||||
"name": "provincia_id",
|
||||
"type": "number",
|
||||
"description": "Código INE de la provincia",
|
||||
"pattern": "[0-9]{2}"
|
||||
},
|
||||
{
|
||||
"name": "nombre",
|
||||
"type": "string",
|
||||
"description": "Denominación oficial de la isla"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"last_updated": "2016-05-01 ",
|
||||
"version": "0.0.7"
|
||||
}
|
|
@ -7,31 +7,50 @@ Si no los encuentra, los descarga.
|
|||
|
||||
## Modo de Uso
|
||||
|
||||
$ ./php script.php [COMMANDS [source]] [OPTIONS]
|
||||
$ ./php script.php [COMMAND SUBCOMMAND]] [OPTIONS]
|
||||
|
||||
Si se invoca sin argumentos, procesa todo.
|
||||
Si se invoca sin subcomandos o argumentos, executa:
|
||||
|
||||
1. download all
|
||||
2. process all
|
||||
3. update
|
||||
4. convert-to-json
|
||||
|
||||
|
||||
### Opciones
|
||||
|
||||
COMMANDS
|
||||
|
||||
download [source] Descarga los archivos fuente, pero no los procesa.
|
||||
download [SUBCOMMAND] Descarga los archivos fuente, pero no los procesa.
|
||||
Se puede especificar opcionalmente un suvcomando:
|
||||
|
||||
Toma como parámetro opcional uno o mas de los siguientes:
|
||||
|
||||
[autonomías, provincias, municipios, islas]
|
||||
source SOURCE Descarga únicamente SOURCE, que puede ser
|
||||
|
||||
[autonomias, provincias, municipios, islas]
|
||||
|
||||
all Descarga todas las fuentes (por defecto).
|
||||
|
||||
|
||||
OPTIONS
|
||||
|
||||
--force, -f Fuerza la descarga de los archivos fuente, aunque existan
|
||||
|
||||
|
||||
process [source] Procesa los archivos fuente, pero no los descarga.
|
||||
|
||||
Toma como parámetro opcional uno o mas de los siguientes:
|
||||
|
||||
[autonomías, provincias, municipios, islas]
|
||||
|
||||
OPTIONS
|
||||
|
||||
--force, -f Fuerza la descarga de los archivos fuente, aunque existan
|
||||
process [SUBCOMMAND] Procesa los archivos fuente, pero no los descarga.
|
||||
|
||||
source SOURCE Procesa únicamente SOURCE, que puede ser uno de los siguientes:
|
||||
|
||||
[autonomias, provincias, municipios, islas]
|
||||
|
||||
all Procesa todas las fuentes (por defecto).
|
||||
|
||||
|
||||
convert-to-json Convierte todo los archivos .csv en /data a .json.
|
||||
|
||||
|
||||
update Actualiza el archivo datapackage.json
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,341 @@
|
|||
<?php
|
||||
|
||||
class Config
|
||||
{
|
||||
|
||||
|
||||
const MUNCIPIOS_URL = "http://www.ine.es/daco/daco42/codmun/codmun%02d/%02dcodmun.xls";
|
||||
const PROVINCIAS_URL = "http://www.ine.es/daco/daco42/codmun/cod_provincia.htm";
|
||||
const AUTONOMIAS_URL = "http://www.ine.es/daco/daco42/codmun/cod_ccaa.htm";
|
||||
const ISLAS_URL = "http://www.ine.es/daco/daco42/codmun/codmun%02d/%02dcodislas%02d.xls";
|
||||
|
||||
const MUNCIPIOS_YEAR_START = 2004; // Hay datos desde 2001, pero necesitan tratamiento especial. To Do
|
||||
const ISLAS_YEAR_START = 2012; // hay datos desde 2008, pero no incluye el codigo de Isla. To Do
|
||||
const ISLAS_PROVINCIA_INE_CODES = "a:3:{i:0;i:7;i:1;i:35;i:2;i:38;}"; //PHP <5.6 compatible (no soporta arrays como constantes)
|
||||
|
||||
const DATA_FOLDER = "data";
|
||||
const ARCHIVE_FOLDER = "archive";
|
||||
|
||||
const PROVINCIAS_SOURCE_FILE = "cod_provincia.htm";
|
||||
const AUTONOMIAS_SOURCE_FILE = "cod_ccaa.htm";
|
||||
|
||||
const MUNICIPIOS_SOURCE_FILE = "%02dcodmun.xls";
|
||||
const ISLAS_SOURCE_FILE = "%02dcodislas%02d.xls";
|
||||
|
||||
const PROVINCIAS_DEST_FILE = "provincias";
|
||||
const AUTONOMIAS_DEST_FILE = "autonomias";
|
||||
const MUNICIPIOS_DEST_FILE = "municipios";
|
||||
const MUNICIPIOS_HISTORICAL_DEST_FILE = "municipios_historical";
|
||||
|
||||
const ISLAS_DEST_FILE = "islas";
|
||||
const MUNICIPIOS_ISLAS_HISTORICAL_DEST_FILE = "municipios_islas_historical";
|
||||
const MUNICIPIOS_ISLAS_DEST_FILE = "municipios_islas";
|
||||
|
||||
|
||||
|
||||
static $datapackage = [
|
||||
"name" => "ds-organizacion-administrativa",
|
||||
"title" => "Organización Administrativa de España",
|
||||
"descriptions" => "Listado de comunidades, provincias, municipios, islas con su correspondiente código INE",
|
||||
"licenses" => [
|
||||
[
|
||||
"type" => "odc-pddl",
|
||||
"url" => "http://opendatacommons.org/licenses/pddl/"
|
||||
]
|
||||
],
|
||||
"author" => [
|
||||
"name" => "Code for Spain",
|
||||
"web" => "http://www.codeforspain.org"
|
||||
],
|
||||
"keywords" => [ "Provincias", "Municipios", "Comunidades Autonomas", "Islas"],
|
||||
|
||||
"sources" => [
|
||||
[
|
||||
"name" => "Instituto Nacional de Estadistica",
|
||||
"web" => "http://www.ine.es/jaxi/menu.do?type=pcaxis&path=/t20/e245/codmun&file=inebase"
|
||||
]
|
||||
],
|
||||
"resources" =>[
|
||||
array(
|
||||
'name' => 'ds_oa_municipios',
|
||||
'title' => 'Municipios de España',
|
||||
'description' => 'Relacion de municipios de España por provincia, según el INE.',
|
||||
'format' => 'csv',
|
||||
'path' => 'data/municipios.csv',
|
||||
'schema' =>
|
||||
array (
|
||||
'fields' =>
|
||||
array (
|
||||
array (
|
||||
'name' => 'municipio_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio',
|
||||
'pattern' => '[0-9]{5}',
|
||||
),
|
||||
array (
|
||||
'name' => 'year',
|
||||
'type' => 'number',
|
||||
'pattern' => '[0-9]{4}',
|
||||
'description' => 'Año del dato',
|
||||
),
|
||||
array (
|
||||
'name' => 'provincia_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la provincia',
|
||||
'pattern' => '[0-9]{2}',
|
||||
),
|
||||
array (
|
||||
'name' => 'cmun',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio',
|
||||
'pattern' => '[0-9]{3}',
|
||||
),
|
||||
array (
|
||||
'name' => 'dc',
|
||||
'type' => 'number',
|
||||
'description' => 'Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación',
|
||||
'pattern' => '[0-9]{1}',
|
||||
),
|
||||
array (
|
||||
'name' => 'nombre',
|
||||
'type' => 'string',
|
||||
'description' => 'Denominación oficial del municipio',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
array (
|
||||
'name' => 'ds_oa_municipios_historical',
|
||||
'title' => 'Municipios de España (Histórico)',
|
||||
'description' => 'Relacion de municipios de España, por provincia y año, según el INE. Recoge modificaciones anuales.',
|
||||
'format' => 'csv',
|
||||
'path' => 'data/municipios_historical.csv',
|
||||
'schema' =>
|
||||
array (
|
||||
'fields' =>
|
||||
array (
|
||||
array (
|
||||
'name' => 'municipio_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio',
|
||||
'pattern' => '[0-9]{5}',
|
||||
),
|
||||
array (
|
||||
'name' => 'provincia_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la provincia',
|
||||
'pattern' => '[0-9]{2}',
|
||||
),
|
||||
array (
|
||||
'name' => 'cmun',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio',
|
||||
'pattern' => '[0-9]{3}',
|
||||
),
|
||||
array (
|
||||
'name' => 'dc',
|
||||
'type' => 'number',
|
||||
'description' => 'Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación',
|
||||
'pattern' => '[0-9]{1}',
|
||||
),
|
||||
array (
|
||||
'name' => 'nombre',
|
||||
'type' => 'string',
|
||||
'description' => 'Denominación oficial del municipio',
|
||||
),
|
||||
array (
|
||||
'name' => 'year',
|
||||
'type' => 'number',
|
||||
'pattern' => '[0-9]{4}',
|
||||
'description' => 'Año del dato',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
array (
|
||||
'name' => 'ds_oa_provincias',
|
||||
'title' => 'Provincias de España',
|
||||
'description' => 'Relacion de provincias de España según el INE.',
|
||||
'format' => 'csv',
|
||||
'path' => 'data/provincias.csv',
|
||||
'schema' =>
|
||||
array (
|
||||
'fields' =>
|
||||
array (
|
||||
array (
|
||||
'name' => 'provincia_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la provincia',
|
||||
'pattern' => '[0-9]{2}',
|
||||
),
|
||||
array (
|
||||
'name' => 'nombre',
|
||||
'type' => 'string',
|
||||
'description' => 'Denominación oficial de la provincia',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
array (
|
||||
'name' => 'ds_oa_autonomias',
|
||||
'title' => 'Comunidades Autonomas de España ',
|
||||
'description' => 'Relacion de comunidades autonomas de España, según el INE.',
|
||||
'format' => 'csv',
|
||||
'path' => 'data/autonomias.csv',
|
||||
'schema' =>
|
||||
array (
|
||||
'fields' =>
|
||||
array (
|
||||
array (
|
||||
'name' => 'autonomia_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la comunidad autónoma',
|
||||
'pattern' => '[0-9]{2}',
|
||||
),
|
||||
array (
|
||||
'name' => 'nombre',
|
||||
'type' => 'string',
|
||||
'description' => 'Denominación oficial de la comunidad autónoma',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
array (
|
||||
'name' => 'ds_oa_municipios_islas',
|
||||
'title' => 'Municipios de España por Isla',
|
||||
'description' => 'Relacion de municipios que contiene cada Isla en al último año, según el INE.',
|
||||
'format' => 'csv',
|
||||
'path' => 'data/municipios_islas.csv',
|
||||
'schema' =>
|
||||
array (
|
||||
'fields' =>
|
||||
array (
|
||||
array (
|
||||
'name' => 'municipio_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio',
|
||||
'pattern' => '[0-9]{5}',
|
||||
),
|
||||
array (
|
||||
'name' => 'provincia_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la provincia',
|
||||
'pattern' => '[0-9]{2}',
|
||||
),
|
||||
array (
|
||||
'name' => 'isla_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la isla',
|
||||
'pattern' => '[0-9]{3}',
|
||||
),
|
||||
array (
|
||||
'name' => 'cmun',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio',
|
||||
'pattern' => '[0-9]{3}',
|
||||
),
|
||||
array (
|
||||
'name' => 'dc',
|
||||
'type' => 'number',
|
||||
'description' => 'Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación',
|
||||
'pattern' => '[0-9]{1}',
|
||||
),
|
||||
array (
|
||||
'name' => 'nombre',
|
||||
'type' => 'string',
|
||||
'description' => 'Denominación oficial del municipio',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
array (
|
||||
'name' => 'ds_oa_municipios_islas_historical',
|
||||
'title' => 'Municipios de España por Isla (Histórico)',
|
||||
'description' => 'Relacion de municipios por isla y por año desde 2008, según el INE. Recoge modificaciones anuales.',
|
||||
'format' => 'csv',
|
||||
'path' => 'data/municipios_islas_historical.csv',
|
||||
'schema' =>
|
||||
array (
|
||||
'fields' =>
|
||||
array (
|
||||
array (
|
||||
'name' => 'municipio_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio',
|
||||
'pattern' => '[0-9]{5}',
|
||||
),
|
||||
array (
|
||||
'name' => 'year',
|
||||
'type' => 'number',
|
||||
'pattern' => '[0-9]{4}',
|
||||
'description' => 'Año del dato',
|
||||
),
|
||||
array (
|
||||
'name' => 'provincia_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la provincia',
|
||||
'pattern' => '[0-9]{2}',
|
||||
),
|
||||
array (
|
||||
'name' => 'isla_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la isla',
|
||||
'pattern' => '[0-9]{3}',
|
||||
),
|
||||
array (
|
||||
'name' => 'cmun',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE del municipio en relación a la provincia. provincia_id concatenado con cmun resulta en el codigo INE del municipio',
|
||||
'pattern' => '[0-9]{3}',
|
||||
),
|
||||
array (
|
||||
'name' => 'dc',
|
||||
'type' => 'number',
|
||||
'description' => 'Dígito de control que, asignado mediante una regla de cálculo, permite la detección de errores de grabación y codificación',
|
||||
'pattern' => '[0-9]{1}',
|
||||
),
|
||||
array (
|
||||
'name' => 'nombre',
|
||||
'type' => 'string',
|
||||
'description' => 'Denominación oficial del municipio',
|
||||
),
|
||||
|
||||
),
|
||||
),
|
||||
),
|
||||
array (
|
||||
'name' => 'ds_oa_islas',
|
||||
'title' => 'Islas de España',
|
||||
'description' => 'Relacion de islas por provincia según el INE.',
|
||||
'format' => 'csv',
|
||||
'path' => 'data/islas.csv',
|
||||
'schema' =>
|
||||
array (
|
||||
'fields' =>
|
||||
array (
|
||||
array (
|
||||
'name' => 'isla_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la isla',
|
||||
'pattern' => '[0-9]{3}',
|
||||
),
|
||||
array (
|
||||
'name' => 'provincia_id',
|
||||
'type' => 'number',
|
||||
'description' => 'Código INE de la provincia',
|
||||
'pattern' => '[0-9]{2}',
|
||||
),
|
||||
|
||||
array (
|
||||
'name' => 'nombre',
|
||||
'type' => 'string',
|
||||
'description' => 'Denominación oficial de la isla',
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
]
|
||||
];
|
||||
|
||||
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
/**
|
||||
* Si no existen, descarga los archivos fuente y los graba a disco
|
||||
*
|
||||
* @arg source fuente a procesar (OPCIONAL). Puede ser "municipios", "provincias", "autonomias" o "islas". Si no se especifica procesa todo.
|
||||
* @opt force fuerza la descarga de los ficheros fuente aunque ya existan
|
||||
*
|
||||
*/
|
||||
|
||||
use ConsoleKit\Widgets\ProgressBar;
|
||||
use ConsoleKit\Widgets\Box;
|
||||
|
||||
/**
|
||||
* Convierte todos los archivos .csv en /data a .json.
|
||||
*
|
||||
*/
|
||||
class ConvertToJsonCommand extends ConsoleKit\Command
|
||||
{
|
||||
|
||||
public function execute(array $args, array $options = array())
|
||||
{
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Converting to JSON');
|
||||
$box->write();$this->getConsole()->writeln("");
|
||||
|
||||
$files = glob(DATA_FOLDER . DS ."*.csv");
|
||||
$progress = new ProgressBar($this->getConsole(), sizeof($files));
|
||||
|
||||
foreach ($files as $csvFile) {
|
||||
$outputFile = DATA_FOLDER . DS . basename($csvFile,".csv") . ".json";
|
||||
exec("csvjson $csvFile > $outputFile");
|
||||
$progress->incr();
|
||||
}
|
||||
|
||||
$progress->stop();
|
||||
}
|
||||
|
||||
}
|
|
@ -2,44 +2,50 @@
|
|||
/**
|
||||
* Si no existen, descarga los archivos fuente y los graba a disco
|
||||
*
|
||||
* @arg source fuente a procesar (OPCIONAL). Puede ser "municipios", "provincias", "autonomias" o "islas". Si no se especifica procesa todo.
|
||||
* @opt force fuerza la descarga de los ficheros fuente aunque ya existan
|
||||
*
|
||||
*/
|
||||
class DownloadCommand extends ConsoleKit\Command
|
||||
{
|
||||
|
||||
/**
|
||||
* Overriding para que invoque all por defecto.
|
||||
*/
|
||||
public function execute(array $args, array $options = array())
|
||||
{
|
||||
is_dir(DATA_FOLDER) || mkdir(DATA_FOLDER);
|
||||
is_dir(ARCHIVE_FOLDER) || mkdir(ARCHIVE_FOLDER);
|
||||
|
||||
if (empty($args)) {
|
||||
foreach (get_class_methods($this) as $method) {
|
||||
if (strpos($method, 'download')!==false) {
|
||||
$this->$method($options);
|
||||
}
|
||||
}
|
||||
//si se invoca sin sucomando, ejecuta todo
|
||||
if (!count($args)) {
|
||||
$args=['all'];
|
||||
}
|
||||
|
||||
foreach ($args as $arg){
|
||||
$downloadMethod = "download". ucfirst($arg);
|
||||
|
||||
if (!method_exists($this,$downloadMethod)) {
|
||||
die("Argumento invalido {$arg}");
|
||||
}
|
||||
$this->$downloadMethod($options);
|
||||
}
|
||||
|
||||
|
||||
//$this->writeln('hello world!', ConsoleKit\Colors::GREEN);
|
||||
return parent::execute($args, $options);
|
||||
}
|
||||
|
||||
|
||||
private function downloadMunicipios($options)
|
||||
/**
|
||||
* Descarga todas los archivos fuente
|
||||
*
|
||||
* @opt force fuerza la descarga de los ficheros fuente aunque ya existan
|
||||
*/
|
||||
public function executeAll(array $args, array $options = array())
|
||||
{
|
||||
for ($i = MUNCIPIOS_YEAR_START % 2000;$i <= date('y');$i++){
|
||||
|
||||
$url=sprintf(MUNCIPIOS_URL,$i,$i);
|
||||
foreach (get_class_methods($this) as $method) {
|
||||
if (strpos($method, 'execute') !== false && $method != 'executeAll' && $method != 'execute') {
|
||||
$this->$method($args,$options);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Descarga los archivos fuente de los municipios
|
||||
*
|
||||
* @opt force fuerza la descarga de los ficheros fuente aunque ya existan
|
||||
*/
|
||||
public function executeMunicipios(array $args, array $options = array())
|
||||
{
|
||||
for ($i = Config::MUNCIPIOS_YEAR_START % 2000;$i <= date('y');$i++){
|
||||
|
||||
$url=sprintf(Config::MUNCIPIOS_URL,$i,$i);
|
||||
if ($i>=16) $url.="x"; //xlsx a partir de 2016.
|
||||
$fileName = end(explode('/', $url));
|
||||
|
||||
|
@ -51,31 +57,45 @@ class DownloadCommand extends ConsoleKit\Command
|
|||
}
|
||||
|
||||
|
||||
private function downloadProvincias($options)
|
||||
/**
|
||||
* Descarga el archivo fuente de las provincias
|
||||
*
|
||||
* @opt force fuerza la descarga de los ficheros fuente aunque ya existan
|
||||
*/
|
||||
public function executeProvincias(array $args, array $options = array())
|
||||
{
|
||||
if (!file_exists(ARCHIVE_FOLDER . DS . PROVINCIAS_SOURCE_FILE) || isset($options['force']) || isset($options['f'])){
|
||||
file_put_contents(ARCHIVE_FOLDER . DS . PROVINCIAS_SOURCE_FILE, fopen(PROVINCIAS_URL, 'r'));
|
||||
if (!file_exists(ARCHIVE_FOLDER . DS . Config::PROVINCIAS_SOURCE_FILE) || isset($options['force']) || isset($options['f'])){
|
||||
file_put_contents(ARCHIVE_FOLDER . DS . Config::PROVINCIAS_SOURCE_FILE, fopen(Config::PROVINCIAS_URL, 'r'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function downloadAutonomias($options)
|
||||
/**
|
||||
* Descarga el archivo fuente de las autonomías
|
||||
*
|
||||
* @opt force fuerza la descarga de los ficheros fuente aunque ya existan
|
||||
*/
|
||||
public function executeAutonomias(array $args, array $options = array())
|
||||
{
|
||||
if (!file_exists(ARCHIVE_FOLDER . DS . AUTONOMIAS_SOURCE_FILE) || isset($options['force']) || isset($options['f'])){
|
||||
file_put_contents(ARCHIVE_FOLDER . DS . AUTONOMIAS_SOURCE_FILE, fopen(AUTONOMIAS_URL, 'r'));
|
||||
if (!file_exists(ARCHIVE_FOLDER . DS . Config::AUTONOMIAS_SOURCE_FILE) || isset($options['force']) || isset($options['f'])){
|
||||
file_put_contents(ARCHIVE_FOLDER . DS . Config::AUTONOMIAS_SOURCE_FILE, fopen(Config::AUTONOMIAS_URL, 'r'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function downloadIslas($options)
|
||||
/**
|
||||
* Descarga los archivos fuente de las islas
|
||||
*
|
||||
* @opt force fuerza la descarga de los ficheros fuente aunque ya existan
|
||||
*/
|
||||
public function executeIslas(array $args, array $options = array())
|
||||
{
|
||||
|
||||
foreach (unserialize(ISLAS_PROVINCIA_INE_CODES) as $provincia) {
|
||||
for ($i = ISLAS_YEAR_START % 2000; $i <= date('y'); $i++) {
|
||||
foreach (unserialize(Config::ISLAS_PROVINCIA_INE_CODES) as $provincia) {
|
||||
for ($i = Config::ISLAS_YEAR_START % 2000; $i <= date('y'); $i++) {
|
||||
|
||||
$url = sprintf(ISLAS_URL, $i, $i, $provincia);
|
||||
$url = sprintf(Config::ISLAS_URL, $i, $i, $provincia);
|
||||
$fileName = end(explode('/', $url));
|
||||
|
||||
if (!file_exists(ARCHIVE_FOLDER . DS . $fileName) || isset($options['d']) || isset($options['f'])) {
|
||||
|
|
|
@ -2,153 +2,117 @@
|
|||
|
||||
use Sunra\PhpSimple\HtmlDomParser;
|
||||
|
||||
use ConsoleKit\Widgets\ProgressBar;
|
||||
use ConsoleKit\Widgets\Box;
|
||||
|
||||
/**
|
||||
* Procesa los archivos fuente y graba a disco los datos en CSV y JSON
|
||||
*
|
||||
* @arg source fuente a procesar (OPCIONAL). Puede ser "municipios", "provincias", "autonomias" o "islas". Si no se especifica procesa todo.
|
||||
* Procesa los archivos fuente y graba a disco los datos en CSV
|
||||
*
|
||||
*/
|
||||
class ProcessCommand extends ConsoleKit\Command
|
||||
{
|
||||
|
||||
/**
|
||||
* Overriding para que invoque all por defecto.
|
||||
*/
|
||||
public function execute(array $args, array $options = array())
|
||||
{
|
||||
|
||||
if (empty($args)) {
|
||||
foreach (get_class_methods($this) as $method) {
|
||||
if (strpos($method, 'process')!==false) {
|
||||
$this->$method($options);
|
||||
}
|
||||
}
|
||||
//si se invoca sin sucomando, ejecuta todo
|
||||
if (!count($args)) {
|
||||
$args=['all'];
|
||||
}
|
||||
|
||||
foreach ($args as $arg){
|
||||
$processMethod = "process". ucfirst($arg);
|
||||
return parent::execute($args, $options);
|
||||
}
|
||||
|
||||
if (!method_exists($this,$processMethod)) {
|
||||
die("Argumento invalido {$arg}");
|
||||
|
||||
/**
|
||||
* Procesa todos los archivos fuente y genera los .csv
|
||||
*
|
||||
*/
|
||||
public function executeAll(array $args, array $options = array())
|
||||
{
|
||||
|
||||
foreach (get_class_methods($this) as $method) {
|
||||
if (strpos($method, 'execute') !== false && $method != 'executeAll' && $method != 'execute') {
|
||||
$this->$method($options);
|
||||
}
|
||||
$this->$processMethod($options);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Procesa el último año de de los archivos fuente de municipios y genera municipios.csv
|
||||
*
|
||||
*/
|
||||
public function executeMunicipiosLast(array $args, array $options = array())
|
||||
{
|
||||
$columns = ['municipio_id', 'provincia_id', 'cmun', 'dc', 'nombre'];
|
||||
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Municipios Last Year');
|
||||
$box->write();
|
||||
$this->getConsole()->writeln("");
|
||||
|
||||
$file = fopen(DATA_FOLDER . DS . Config::MUNICIPIOS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, $columns);
|
||||
$this->parseMunicipioYearToFile(date('y'), $file, false);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Procesa el último año de de los archivos fuente de municipios y genera municipios-historical.csv
|
||||
*
|
||||
*/
|
||||
public function executeMunicipios(array $args, array $options = array())
|
||||
{
|
||||
|
||||
$columns = ['municipio_id', 'year', 'provincia_id', 'cmun', 'dc', 'nombre'];
|
||||
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Municipios Historical');
|
||||
$box->write();
|
||||
$this->getConsole()->writeln("");
|
||||
|
||||
$file = fopen(DATA_FOLDER . DS . Config::MUNICIPIOS_HISTORICAL_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, $columns);
|
||||
|
||||
for ($year = Config::MUNCIPIOS_YEAR_START % 2000; $year <= date('y'); $year++) {
|
||||
$this->parseMunicipioYearToFile($year, $file);
|
||||
}
|
||||
|
||||
|
||||
//$this->writeln('hello world!', ConsoleKit\Colors::GREEN);
|
||||
|
||||
}
|
||||
|
||||
|
||||
private function processMunicipios($options)
|
||||
/**
|
||||
* Procesa el archivo fuente de provincias y genera provincias.csv
|
||||
*
|
||||
*/
|
||||
public function executeProvincias(array $args, array $options = array())
|
||||
{
|
||||
$municipiosTotal = [];
|
||||
for ($year = MUNCIPIOS_YEAR_START % 2000; $year <= date('y'); $year++) {
|
||||
|
||||
$fileName = sprintf(MUNICIPIOS_SOURCE_FILE, $year);
|
||||
if ($year >= 16) $fileName .= "x"; //xlsx a partir de 2016.
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Provincias');
|
||||
$box->write();
|
||||
$this->getConsole()->writeln("");
|
||||
|
||||
// Procesamos documento xlsx
|
||||
$sourceFilename = ARCHIVE_FOLDER . DS . $fileName;
|
||||
$excelReader = PHPExcel_IOFactory::createReader(PHPExcel_IOFactory::identify($sourceFilename));
|
||||
$excelReader->setLoadAllSheets();
|
||||
$excelObj = $excelReader->load($sourceFilename);
|
||||
$municipiosRaw = $excelObj->getActiveSheet()->toArray(null, true, true, true);
|
||||
$html = iconv("ISO-8859-15", "UTF-8",
|
||||
file_get_contents(ARCHIVE_FOLDER . DS . Config::PROVINCIAS_SOURCE_FILE));
|
||||
$dom = HtmlDomParser::str_get_html($html);
|
||||
|
||||
// Eliminamos las dos primeras filas
|
||||
array_shift($municipiosRaw); //solo la primera para 2004
|
||||
if ($year > 4) array_shift($municipiosRaw); //la segunda también para > 2004
|
||||
$provincias = [];
|
||||
|
||||
$municipiosWithYear = array_map(function ($row) use ($year) {
|
||||
|
||||
if ($year <= 10) { //Antes de 2011: CMUN + DC concatenados. Separamos.
|
||||
$output = [
|
||||
'CPRO' => $row['A'], //str_pad($row['A'],2,"0",STR_PAD_LEFT),
|
||||
'CMUN' => (int)($row['B'] / 10),
|
||||
'DC' => $row['B'] % 10,
|
||||
'NOMBRE' => $row['C'],
|
||||
'YEAR' => 2000 + $year
|
||||
];
|
||||
} else {
|
||||
$output = [
|
||||
'CPRO' => $row['A'], //str_pad($row['A'],2,"0",STR_PAD_LEFT),
|
||||
'CMUN' => $row['B'], //str_pad($row['B'],3,"0",STR_PAD_LEFT)
|
||||
'DC' => $row['C'],
|
||||
'NOMBRE' => $row['D'],
|
||||
'YEAR' => 2000 + $year
|
||||
];
|
||||
}
|
||||
return $output;
|
||||
|
||||
}, array_values($municipiosRaw));
|
||||
|
||||
$municipiosTotal = array_merge($municipiosTotal, $municipiosWithYear);
|
||||
}
|
||||
|
||||
// Generamos array con el ultimo año
|
||||
$municipiosLastYear = array_map(function ($row) {
|
||||
return [
|
||||
'CPRO' => $row['A'], //str_pad($row['A'],2,"0",STR_PAD_LEFT),
|
||||
'CMUN' => $row['B'],
|
||||
'DC' => $row['C'],
|
||||
'NOMBRE' => $row['D'],
|
||||
];
|
||||
|
||||
}, array_values($municipiosRaw));
|
||||
|
||||
|
||||
// Grabamos a disco - To DO: Refactorizar a función/clase
|
||||
|
||||
// Grabamos Ficheros CSV
|
||||
|
||||
// Último Año
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, array_keys($municipiosLastYear[0]));
|
||||
foreach ($municipiosLastYear as $municipio) {
|
||||
fputcsv($file, $municipio);
|
||||
}
|
||||
|
||||
// Todos los años
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_HISTORICAL_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, array_keys($municipiosTotal[0]));
|
||||
foreach ($municipiosTotal as $municipio) {
|
||||
fputcsv($file, $municipio);
|
||||
}
|
||||
|
||||
// Grabamos Ficheros JSON
|
||||
|
||||
// Último Año
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_DEST_FILE . ".json", 'w+');
|
||||
fwrite($file, json_encode($municipiosLastYear, JSON_UNESCAPED_UNICODE));
|
||||
fclose($file);
|
||||
|
||||
// Todos los años
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_HISTORICAL_DEST_FILE . ".json", 'w+');
|
||||
fwrite($file, json_encode($municipiosTotal, JSON_UNESCAPED_UNICODE));
|
||||
fclose($file);
|
||||
}
|
||||
|
||||
|
||||
private function processProvincias($options)
|
||||
{
|
||||
$html=iconv("ISO-8859-15", "UTF-8", file_get_contents(ARCHIVE_FOLDER . DS . PROVINCIAS_SOURCE_FILE));
|
||||
$dom = HtmlDomParser::str_get_html( $html );
|
||||
|
||||
$provincias=[];
|
||||
foreach($dom->find('table[summary$=quetacion]') as $table) {
|
||||
foreach($table->find('tr[!valign]') as $row){
|
||||
foreach ($dom->find('table[summary$=quetacion]') as $table) {
|
||||
foreach ($table->find('tr[!valign]') as $row) {
|
||||
$provincias[] = [
|
||||
'codigo' => trim($row->children(0)->innertext),
|
||||
'provincia_id' => trim($row->children(0)->innertext),
|
||||
'nombre' => html_entity_decode(trim($row->children(1)->innertext)),
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
// Grabamos a disco - To DO: Refactorizar a función/clase
|
||||
|
||||
// Grabamos JSON
|
||||
$file = fopen(DATA_FOLDER . DS . PROVINCIAS_DEST_FILE .".json",'w+');
|
||||
fwrite($file, json_encode($provincias,JSON_UNESCAPED_UNICODE) );
|
||||
fclose($file);
|
||||
|
||||
// Grabamos CSV
|
||||
$file = fopen(DATA_FOLDER . DS . PROVINCIAS_DEST_FILE . ".csv",'w+');
|
||||
$file = fopen(DATA_FOLDER . DS . Config::PROVINCIAS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, array_keys($provincias[0]));
|
||||
foreach ($provincias as $provincia) {
|
||||
fputcsv($file, $provincia);
|
||||
|
@ -157,34 +121,36 @@ class ProcessCommand extends ConsoleKit\Command
|
|||
}
|
||||
|
||||
|
||||
private function processAutonomias($options)
|
||||
|
||||
/**
|
||||
* Procesa el archivo fuente de autonomias y genera autonomias.csv
|
||||
*
|
||||
*/
|
||||
public function executeAutonomias(array $args, array $options = array())
|
||||
{
|
||||
$html=iconv("ISO-8859-15", "UTF-8", file_get_contents(ARCHIVE_FOLDER . DS . AUTONOMIAS_SOURCE_FILE));
|
||||
|
||||
$dom = HtmlDomParser::str_get_html( $html );
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Autonomias');
|
||||
$box->write();
|
||||
$this->getConsole()->writeln("");
|
||||
|
||||
$autonomias=[];
|
||||
$html = iconv("ISO-8859-15", "UTF-8", file_get_contents(ARCHIVE_FOLDER . DS . Config::AUTONOMIAS_SOURCE_FILE));
|
||||
|
||||
$table=$dom->find('table',0);
|
||||
$rows = array_slice($table->find('tr'),1);
|
||||
$dom = HtmlDomParser::str_get_html($html);
|
||||
|
||||
foreach($rows as $row){
|
||||
$autonomias = [];
|
||||
|
||||
$table = $dom->find('table', 0);
|
||||
$rows = array_slice($table->find('tr'), 1);
|
||||
|
||||
foreach ($rows as $row) {
|
||||
$autonomias[] = [
|
||||
'codigo' => trim($row->children(0)->innertext),
|
||||
'autonomia_id' => trim($row->children(0)->innertext),
|
||||
'nombre' => html_entity_decode(trim($row->children(1)->innertext)),
|
||||
];
|
||||
};
|
||||
|
||||
// Grabamos a disco - To DO: Refactorizar a función/clase
|
||||
|
||||
// Grabamos JSON
|
||||
$file = fopen(DATA_FOLDER . DS . AUTONOMIAS_DEST_FILE .".json",'w+');
|
||||
fwrite($file, json_encode($autonomias,JSON_UNESCAPED_UNICODE) );
|
||||
fclose($file);
|
||||
|
||||
|
||||
// Grabamos CSV
|
||||
$file = fopen(DATA_FOLDER . DS . AUTONOMIAS_DEST_FILE .".csv",'w+');
|
||||
$file = fopen(DATA_FOLDER . DS . Config::AUTONOMIAS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, array_keys($autonomias[0]));
|
||||
|
||||
foreach ($autonomias as $autonomia) {
|
||||
|
@ -193,128 +159,221 @@ class ProcessCommand extends ConsoleKit\Command
|
|||
fclose($file);
|
||||
}
|
||||
|
||||
/*
|
||||
* Procesa los archivos fuente de islas y genera:
|
||||
|
||||
/**
|
||||
* Procesa los archivos fuente de islas y genera municipios_islas_historical.csv
|
||||
*
|
||||
* - islas(.csv/.json)
|
||||
* - municipios_islas(.csv/.json)
|
||||
* - municipios_islas_historical(.csv/.json)
|
||||
*/
|
||||
public function executeMunicipiosIslas(array $args, array $options = array())
|
||||
{
|
||||
|
||||
$columns = ['municipio_id', 'year', 'isla_id', 'provincia_id', 'cmun', 'dc', 'nombre'];
|
||||
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Municipios Islas Historical');
|
||||
$box->write();
|
||||
$this->getConsole()->writeln("");
|
||||
|
||||
$file = fopen(DATA_FOLDER . DS . Config::MUNICIPIOS_ISLAS_HISTORICAL_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, $columns);
|
||||
|
||||
|
||||
for ($year = Config::ISLAS_YEAR_START % 2000; $year <= date('y'); $year++) {
|
||||
$this->parseIslaYearToFile($year, $file);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Procesa el último año de los archivos fuente de islas y genera municipios_islas.csv
|
||||
*
|
||||
* @param $options opciones CLI
|
||||
*
|
||||
*/
|
||||
private function processIslas($options){
|
||||
public function executeMunicipiosIslasLast(array $args, array $options = array())
|
||||
{
|
||||
|
||||
$islasTotal = [];
|
||||
$columns = ['municipio_id', 'isla_id', 'provincia_id', 'cmun', 'dc', 'nombre'];
|
||||
|
||||
for ($year = ISLAS_YEAR_START % 2000; $year <= date('y'); $year++) {
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Municipios Islas');
|
||||
$box->write(); $this->getConsole()->writeln("");
|
||||
|
||||
// Agrupamos los datos de los tres archivos en un solo array
|
||||
$islasRaw = [];
|
||||
foreach (unserialize(ISLAS_PROVINCIA_INE_CODES) as $isla) {
|
||||
$fileName = sprintf(ISLAS_SOURCE_FILE, $year, $isla);
|
||||
$sourceFilename = ARCHIVE_FOLDER . DS . $fileName;
|
||||
$excelReader = PHPExcel_IOFactory::createReader(PHPExcel_IOFactory::identify($sourceFilename));
|
||||
$file = fopen(DATA_FOLDER . DS . Config::MUNICIPIOS_ISLAS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, $columns);
|
||||
|
||||
$excelReader->setLoadAllSheets();
|
||||
$excelObj = $excelReader->load($sourceFilename);
|
||||
$islaRaw = $excelObj->getActiveSheet()->toArray(null, true, true, true);
|
||||
$this->parseIslaYearToFile(date('y'), $file, false);
|
||||
|
||||
//quitamos las tres primeras files
|
||||
for ($i=0;$i==3;$i++) {
|
||||
if (!is_numeric($islaRaw[$i]['A'])) {
|
||||
unset($islaRaw);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Procesa el último año de los archivos fuente de islas y genera islas.csv
|
||||
*
|
||||
*/
|
||||
public function executeIslas(array $args, array $options = array()){
|
||||
$columns = ['isla_id', 'provincia_id', 'nombre'];
|
||||
|
||||
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Islas');
|
||||
$box->write(); $this->getConsole()->writeln("");
|
||||
|
||||
$file = fopen(DATA_FOLDER . DS . Config::ISLAS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, $columns);
|
||||
|
||||
$this->parseIslaYearToFile(date('y'), $file, false, true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Procesa los archivos fuente de las islas del año especificado y anexa los datos al archivo .csv
|
||||
*
|
||||
* @param $year int año a procesar
|
||||
* @param $file resource archivo abierto
|
||||
* @param $includeYear boolean determina si se incluye el campo year. Por defecto true
|
||||
* @param $group boolean determina si se agrupan los resultados por isla_id. Por defecto false
|
||||
*
|
||||
*/
|
||||
private function parseIslaYearToFile($year, $file, $includeYear = true, $group = false){
|
||||
|
||||
// Agrupamos los datos de los tres archivos en un solo array
|
||||
$islasRaw = [];
|
||||
foreach (unserialize(Config::ISLAS_PROVINCIA_INE_CODES) as $isla) {
|
||||
$fileName = sprintf(Config::ISLAS_SOURCE_FILE, $year, $isla);
|
||||
$sourceFilename = ARCHIVE_FOLDER . DS . $fileName;
|
||||
$excelReader = PHPExcel_IOFactory::createReader(PHPExcel_IOFactory::identify($sourceFilename));
|
||||
|
||||
$excelReader->setLoadAllSheets();
|
||||
$excelObj = $excelReader->load($sourceFilename);
|
||||
$islaRaw = $excelObj->getActiveSheet()->toArray(null, true, true, true);
|
||||
|
||||
|
||||
//quitamos las tres primeras files
|
||||
for ($i = 0; $i == 3; $i++) {
|
||||
if (!is_numeric($islaRaw[$i]['A'])) {
|
||||
unset($islaRaw);
|
||||
}
|
||||
$islaRaw=array_slice($islaRaw,3);
|
||||
$islasRaw = array_merge($islasRaw,$islaRaw);
|
||||
|
||||
}
|
||||
|
||||
// quitamos lineas en blanco (p.e datos para 2012)
|
||||
$islasRaw = array_filter($islasRaw,function($row) {
|
||||
return !empty($row['A']);
|
||||
});
|
||||
// Generamos hash con los atributos correctos para el histórico
|
||||
$islasWithYear = array_map(function ($row) use ($year) {
|
||||
$output = [
|
||||
'CPRO' => $row['A'],
|
||||
'CISLA' => $row['B'],
|
||||
'CMUN' => $row['D'],
|
||||
'DC' => $row['E'],
|
||||
'NOMBRE' => $row['F'],
|
||||
'YEAR' => 2000 + $year
|
||||
];
|
||||
return $output;
|
||||
|
||||
}, array_values($islasRaw));
|
||||
|
||||
$islasTotal = array_merge($islasTotal, $islasWithYear);
|
||||
$islaRaw = array_slice($islaRaw, 3);
|
||||
$islasRaw = array_merge($islasRaw, $islaRaw);
|
||||
|
||||
}
|
||||
|
||||
// Generamos hash con los atributos correctos para el último año.
|
||||
$islasLastYear = array_map(function ($row) {
|
||||
return [
|
||||
'CPRO' => $row['A'],
|
||||
'CISLA' => $row['B'],
|
||||
'CMUN' => $row['D'],
|
||||
'DC' => $row['E'],
|
||||
'NOMBRE' => $row['F'],
|
||||
// quitamos lineas en blanco (p.e datos para 2012)
|
||||
$islasRaw = array_filter($islasRaw, function ($row) {
|
||||
return !empty($row['A']);
|
||||
});
|
||||
|
||||
$progress = new ProgressBar($this->getConsole(), sizeof($islasRaw));
|
||||
|
||||
// Generamos hash con los atributos correctos para el histórico
|
||||
$islas = array_map(function ($row) use ($year, $progress, $includeYear) {
|
||||
|
||||
$provinciaId = str_pad($row['A'], 2, "0", STR_PAD_LEFT);
|
||||
$municipioId = str_pad($row['D'], 3, "0", STR_PAD_LEFT);
|
||||
$islaId = str_pad($row['B'], 3, "0", STR_PAD_LEFT);
|
||||
|
||||
$output = [
|
||||
'municipio_id' => $provinciaId . $municipioId,
|
||||
'year' => 2000 + $year,
|
||||
'isla_id' => $islaId,
|
||||
'provincia_id' => $provinciaId,
|
||||
'cmun' => $municipioId,
|
||||
'dc' => $row['E'],
|
||||
'nombre' => $row['F'],
|
||||
];
|
||||
|
||||
if (!$includeYear) {
|
||||
unset($output['year']);
|
||||
}
|
||||
|
||||
$progress->incr();
|
||||
return $output;
|
||||
|
||||
}, array_values($islasRaw));
|
||||
|
||||
// Agrupamos islas y generamos hash con atributos correctos
|
||||
$islas = array_reduce($islasRaw, function ($result, $row) {
|
||||
$result[$row['B']] = [
|
||||
'CPRO' => $row['A'],
|
||||
'CISLA' => $row['B'],
|
||||
'NOMBRE' => $row['C']];
|
||||
return $result;
|
||||
}, array());
|
||||
|
||||
// Grabamos a disco - To DO: Refactorizar a función/clase
|
||||
|
||||
// Grabamos Ficheros CSV
|
||||
|
||||
// Último Año
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_ISLAS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, array_keys(reset($islasLastYear)));
|
||||
foreach ($islasLastYear as $municipio) {
|
||||
fputcsv($file, $municipio);
|
||||
if ($group) {
|
||||
// Agrupamos islas y generamos hash con atributos correctos
|
||||
$islas = array_reduce($islasRaw, function ($result, $row) {
|
||||
$result[$row['B']] = [
|
||||
'isla_id' => str_pad($row['B'], 3, "0", STR_PAD_LEFT),
|
||||
'provincia_id' => str_pad($row['A'], 2, "0", STR_PAD_LEFT),
|
||||
'nombre' => $row['C']];
|
||||
return $result;
|
||||
}, array());
|
||||
}
|
||||
|
||||
// Todos los años
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_ISLAS_HISTORICAL_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, array_keys(reset($islasTotal)));
|
||||
foreach ($islasTotal as $municipio) {
|
||||
fputcsv($file, $municipio);
|
||||
}
|
||||
|
||||
// Solo Islas
|
||||
$file = fopen(DATA_FOLDER . DS . ISLAS_DEST_FILE . ".csv", 'w+');
|
||||
fputcsv($file, array_keys(reset($islas)));
|
||||
foreach ($islas as $isla) {
|
||||
fputcsv($file, $isla);
|
||||
}
|
||||
|
||||
// Grabamos Ficheros JSON
|
||||
$progress->stop();
|
||||
|
||||
// Último Año
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_ISLAS_DEST_FILE . ".json", 'w+');
|
||||
fwrite($file, json_encode($islasLastYear, JSON_UNESCAPED_UNICODE));
|
||||
fclose($file);
|
||||
|
||||
// Todos los años
|
||||
$file = fopen(DATA_FOLDER . DS . MUNICIPIOS_ISLAS_HISTORICAL_DEST_FILE . ".json", 'w+');
|
||||
fwrite($file, json_encode($islasTotal, JSON_UNESCAPED_UNICODE));
|
||||
fclose($file);
|
||||
|
||||
// Solo islas
|
||||
$file = fopen(DATA_FOLDER . DS . ISLAS_DEST_FILE . ".json", 'w+');
|
||||
fwrite($file, json_encode($islas, JSON_UNESCAPED_UNICODE));
|
||||
fclose($file);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Procesa los archivos fuente de las municipios del año especificado y anexa los datos al archivo .csv
|
||||
*
|
||||
* @param $year int año a procesar
|
||||
* @param $file resource archivo abierto
|
||||
* @param $includeYear boolean determina si se incluye el campo year. Por defecto true
|
||||
*
|
||||
*/
|
||||
private function parseMunicipioYearToFile($year,$file, $includeYear = true){
|
||||
$fileName = sprintf(Config::MUNICIPIOS_SOURCE_FILE, $year);
|
||||
if ($year >= 16) $fileName .= "x"; //xlsx a partir de 2016.
|
||||
|
||||
// Procesamos documento xlsx
|
||||
$sourceFilename = ARCHIVE_FOLDER . DS . $fileName;
|
||||
$excelReader = PHPExcel_IOFactory::createReader(PHPExcel_IOFactory::identify($sourceFilename));
|
||||
$excelReader->setLoadAllSheets();
|
||||
$excelObj = $excelReader->load($sourceFilename);
|
||||
$municipiosRaw = $excelObj->getActiveSheet()->toArray(null, true, true, true);
|
||||
|
||||
$progress = new ProgressBar($this->getConsole(), sizeof($municipiosRaw));
|
||||
|
||||
// Eliminamos las dos primeras filas
|
||||
array_shift($municipiosRaw); //solo la primera para 2004
|
||||
if ($year > 4) array_shift($municipiosRaw); //la segunda también para > 2004
|
||||
|
||||
$municipiosWithYear = array_map(function ($row) use ($year,$progress,$includeYear) {
|
||||
|
||||
if ($year <= 10) { //Antes de 2011: CMUN + DC concatenados. Separamos.
|
||||
$provinciaId = str_pad($row['A'],2,"0",STR_PAD_LEFT);
|
||||
$municipioId = str_pad((int) ($row['B']/10),3,"0",STR_PAD_LEFT);
|
||||
$output = [
|
||||
'municipio_id' => $provinciaId . $municipioId,
|
||||
'year' => 2000 + $year,
|
||||
'provincia_id' => $provinciaId,
|
||||
'cmun' => $municipioId,
|
||||
'dc' => $row['B'] % 10,
|
||||
'nombre' => $row['C'],
|
||||
];
|
||||
} else {
|
||||
$provinciaId = str_pad($row['A'],2,"0",STR_PAD_LEFT);
|
||||
$municipioId = str_pad($row['B'],3,"0",STR_PAD_LEFT);
|
||||
$output = [
|
||||
'municipio_id' => $provinciaId . $municipioId,
|
||||
'year' => 2000 + $year,
|
||||
'provincia_id' => $provinciaId,
|
||||
'cmun' => $municipioId,
|
||||
'dc' => $row['C'],
|
||||
'nombre' => $row['D'],
|
||||
];
|
||||
}
|
||||
|
||||
if (!$includeYear) {
|
||||
unset($output['year']);
|
||||
}
|
||||
$progress->incr();
|
||||
|
||||
return $output;
|
||||
|
||||
}, array_values($municipiosRaw));
|
||||
|
||||
foreach ($municipiosWithYear as $municipio) {
|
||||
fputcsv($file, $municipio);
|
||||
}
|
||||
|
||||
$progress->stop();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
|
||||
require_once('Config.php');
|
||||
|
||||
use ConsoleKit\Widgets\ProgressBar;
|
||||
|
||||
/**
|
||||
* Actualiza datapackage.json
|
||||
*
|
||||
*/
|
||||
class UpdateCommand extends ConsoleKit\Command
|
||||
{
|
||||
|
||||
/**
|
||||
* Actualiza datapackage.json
|
||||
*
|
||||
*/
|
||||
public function execute(array $args, array $options = array())
|
||||
{
|
||||
$datapackageNew = Config::$datapackage;
|
||||
|
||||
$datapackageNew['last_updated']=date('Y-m-d ');
|
||||
|
||||
|
||||
foreach ( Config::$datapackage['resources'] as $resource){
|
||||
$resource['format'] = 'json';
|
||||
$resource['path'] = array_shift(explode('.',$resource['path'])) . ".json";
|
||||
$datapackageNew['resources'][]=$resource;
|
||||
}
|
||||
|
||||
|
||||
//Nueva version
|
||||
if (file_exists(BASE_PATH . DS . "datapackage.json")) {
|
||||
$datapackageOld = json_decode(file_get_contents(BASE_PATH . DS . "datapackage.json"));
|
||||
if (!empty($datapackageOld->version)) {
|
||||
$datapackageNew['version'] = $datapackageOld->version;
|
||||
$datapackageNew['version']++;
|
||||
} else {
|
||||
$datapackageNew['version']="0.0.1";
|
||||
}
|
||||
}
|
||||
|
||||
file_put_contents(BASE_PATH . DS . "datapackage.json", json_encode($datapackageNew,JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,45 +1,28 @@
|
|||
<?php
|
||||
|
||||
require_once "vendor/autoload.php";
|
||||
require_once('lib/Config.php');
|
||||
|
||||
define('DS','/');
|
||||
|
||||
define ("MUNCIPIOS_URL","http://www.ine.es/daco/daco42/codmun/codmun%02d/%02dcodmun.xls");
|
||||
define ("PROVINCIAS_URL","http://www.ine.es/daco/daco42/codmun/cod_provincia.htm");
|
||||
define ("AUTONOMIAS_URL","http://www.ine.es/daco/daco42/codmun/cod_ccaa.htm");
|
||||
define ("ISLAS_URL","http://www.ine.es/daco/daco42/codmun/codmun%02d/%02dcodislas%02d.xls");
|
||||
define ('BASE_PATH', dirname(__DIR__));
|
||||
define ('DATA_FOLDER',BASE_PATH . DS . Config::DATA_FOLDER );
|
||||
define ('ARCHIVE_FOLDER',BASE_PATH . DS . Config::ARCHIVE_FOLDER );
|
||||
|
||||
define ("MUNCIPIOS_YEAR_START",2004); // Hay datos desde 2001, pero necesitan tratamiento especial. To Do
|
||||
define ("ISLAS_YEAR_START",2012); // hay datos desde 2008, pero no incluye el codigo de Isla. To Do
|
||||
define ("ISLAS_PROVINCIA_INE_CODES",serialize([07,35,38])); //PHP <5.6 compatible (no soporta arrays como constantes)
|
||||
|
||||
define ("DATA_FOLDER","../data");
|
||||
define ("ARCHIVE_FOLDER","../archive");
|
||||
|
||||
define ("PROVINCIAS_SOURCE_FILE","cod_provincia.htm");
|
||||
define ("AUTONOMIAS_SOURCE_FILE","cod_ccaa.htm");
|
||||
|
||||
define ("MUNICIPIOS_SOURCE_FILE","%02dcodmun.xls");
|
||||
define ("ISLAS_SOURCE_FILE","%02dcodislas%02d.xls");
|
||||
|
||||
define ("PROVINCIAS_DEST_FILE","provincias");
|
||||
define ("AUTONOMIAS_DEST_FILE","autonomias");
|
||||
define ("MUNICIPIOS_DEST_FILE","municipios");
|
||||
define ("MUNICIPIOS_HISTORICAL_DEST_FILE","municipios_historical");
|
||||
|
||||
define ("ISLAS_DEST_FILE","islas");
|
||||
define ("MUNICIPIOS_ISLAS_HISTORICAL_DEST_FILE","municipios_islas_historical");
|
||||
define ("MUNICIPIOS_ISLAS_DEST_FILE","municipios_islas");
|
||||
// Comprobamos si los directorios están creados. Si no lo están, los creamos
|
||||
is_dir(DATA_FOLDER) || mkdir(DATA_FOLDER);
|
||||
is_dir(ARCHIVE_FOLDER) || mkdir(ARCHIVE_FOLDER);
|
||||
|
||||
|
||||
// Main
|
||||
|
||||
// Inicializamos consola
|
||||
$console = new ConsoleKit\Console();
|
||||
$console->addCommandsFromDir("lib",null,true);
|
||||
|
||||
if (sizeof($argv)==1) {
|
||||
$console->run(['download']);
|
||||
$console->run(['process']);
|
||||
$console->run(['update']);
|
||||
$console->run(['convert-to-json']);
|
||||
} else {
|
||||
$console->run();
|
||||
}
|
||||
|
|
|
@ -163,7 +163,7 @@ class ProgressBar extends AbstractWidget
|
|||
if ($this->showRemainingTime) {
|
||||
$speed = (time() - $this->startTime) / $this->value;
|
||||
$remaining = number_format(round($speed * ($this->total - $this->value), 2), 2);
|
||||
$output .= "$remaining sec remaining";
|
||||
$output .= " $remaining sec remaining";
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
|
Loading…
Reference in New Issue