mirror of
https://github.com/inigoflores/ds-codigos-postales-ine-es.git
synced 2024-06-16 10:04:10 +02:00
Add dataset merge as a command
This commit is contained in:
parent
9fb8ab2996
commit
eb4dafb921
|
@ -9,10 +9,10 @@ class Config
|
||||||
const DATA_FOLDER ="data";
|
const DATA_FOLDER ="data";
|
||||||
const ARCHIVE_FOLDER = "archive";
|
const ARCHIVE_FOLDER = "archive";
|
||||||
const SOURCE_FILE = "caj_esp_0%d%d.zip";
|
const SOURCE_FILE = "caj_esp_0%d%d.zip";
|
||||||
const DEST_FILE = "codigos_postales_municipios";
|
const DEST_FILE = "codigos_postales_municipiosid";
|
||||||
const DEST_FILE_ENTIDADES = "codigos_postales_municipios_entidades";
|
const DEST_FILE_ENTIDADES = "codigos_postales_municipiosid_entidades";
|
||||||
const DEST_HISTORICAL_FILE = "codigos_postales_municipios_historical";
|
const DEST_HISTORICAL_FILE = "codigos_postales_municipiosid_historical";
|
||||||
const DEST_HISTORICAL_FILE_ENTIDADES = "codigos_postales_municipios_entidades_historical";
|
const DEST_HISTORICAL_FILE_ENTIDADES = "codigos_postales_municipiosid_entidades_historical";
|
||||||
|
|
||||||
//TRAMOS-NAL.F151231
|
//TRAMOS-NAL.F151231
|
||||||
|
|
||||||
|
@ -40,9 +40,69 @@ class Config
|
||||||
"resources" => [
|
"resources" => [
|
||||||
[
|
[
|
||||||
"name" => "ds_codigos_postales_municipios",
|
"name" => "ds_codigos_postales_municipios",
|
||||||
"title"=> "Codigos postales por municipio",
|
"title"=> "Codigos postales y municipios asociados",
|
||||||
"format"=> "csv",
|
"format"=> "csv",
|
||||||
"path"=> "data/codigos_postales_municipios.csv",
|
"path"=> "data/codigos_postales_municipios.csv",
|
||||||
|
"schema"=> [
|
||||||
|
"fields"=> [
|
||||||
|
[
|
||||||
|
"name" => "codigo_postal",
|
||||||
|
"type" => "number",
|
||||||
|
"description" => "Código Postal",
|
||||||
|
"pattern" => "[0-9]{5}"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"name" => "municipio_id",
|
||||||
|
"type" => "number",
|
||||||
|
"description" => "Código INE del municipio",
|
||||||
|
"pattern" => "[0-9]{5}"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"name" => "municipio_nombre",
|
||||||
|
"type" => "string",
|
||||||
|
"description" => "Nombre del municipio",
|
||||||
|
],
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"name" => "ds_codigos_postales_municipios_entidades",
|
||||||
|
"title"=> "Códigos postales y municipios y entidades singulares asociados",
|
||||||
|
"format"=> "csv",
|
||||||
|
"path"=> "data/codigos_postales_municipios_entidades.csv",
|
||||||
|
"schema"=> [
|
||||||
|
"fields"=> [
|
||||||
|
[
|
||||||
|
"name" => "codigo_postal",
|
||||||
|
"type" => "number",
|
||||||
|
"description" => "Código Postal",
|
||||||
|
"pattern" => "[0-9]{5}"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"name" => "municipio_id",
|
||||||
|
"type" => "number",
|
||||||
|
"description" => "Código INE del municipio",
|
||||||
|
"pattern" => "[0-9]{5}"
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"name" => "entidad_singular_nombre",
|
||||||
|
"type" => "string",
|
||||||
|
"description" => "Nombre entidad singular",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"name" => "municipio_nombre",
|
||||||
|
"type" => "string",
|
||||||
|
"description" => "Nombre del municipio",
|
||||||
|
],
|
||||||
|
|
||||||
|
]
|
||||||
|
]
|
||||||
|
],
|
||||||
|
[
|
||||||
|
"name" => "ds_codigos_postales_municipiosid",
|
||||||
|
"title"=> "Códigos postales y códigos INE de los municipios asociados",
|
||||||
|
"format"=> "csv",
|
||||||
|
"path"=> "data/codigos_postales_municipiosid.csv",
|
||||||
"schema"=> [
|
"schema"=> [
|
||||||
"fields"=> [
|
"fields"=> [
|
||||||
[
|
[
|
||||||
|
@ -61,10 +121,10 @@ class Config
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"name" => "ds_codigos_postales_municipios_entidades",
|
"name" => "ds_codigos_postales_municipiosid_entidades",
|
||||||
"title"=> "Codigos postales por municipio y entidad singular",
|
"title"=> "Códigos postales y códigos INE de municipios y entidades singulares asociados",
|
||||||
"format"=> "csv",
|
"format"=> "csv",
|
||||||
"path"=> "data/codigos_postales_municipios.csv",
|
"path"=> "data/codigos_postales_municipiosid_entidades.csv",
|
||||||
"schema"=> [
|
"schema"=> [
|
||||||
"fields"=> [
|
"fields"=> [
|
||||||
[
|
[
|
||||||
|
@ -80,7 +140,7 @@ class Config
|
||||||
"pattern" => "[0-9]{5}"
|
"pattern" => "[0-9]{5}"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"name" => "nombre_entidad_singular",
|
"name" => "entidad_singular_nombre",
|
||||||
"type" => "string",
|
"type" => "string",
|
||||||
"description" => "Nombre entidad singular",
|
"description" => "Nombre entidad singular",
|
||||||
],
|
],
|
||||||
|
@ -89,10 +149,10 @@ class Config
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"name" => "ds_codigos_postales_municipios_historical",
|
"name" => "ds_codigos_postales_municipiosid_historical",
|
||||||
"title"=> "Histórico de codigos postales por municipio (desde 2013)",
|
"title"=> "Histórico de códigos postales y códigos INE de municipios asociados (desde 2013)",
|
||||||
"format"=> "csv",
|
"format"=> "csv",
|
||||||
"path"=> "data/codigos_postales_municipios_historical.csv",
|
"path"=> "data/codigos_postales_municipiosid_historical.csv",
|
||||||
"schema"=> [
|
"schema"=> [
|
||||||
"fields"=> [
|
"fields"=> [
|
||||||
[
|
[
|
||||||
|
@ -121,10 +181,10 @@ class Config
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"name" => "ds_codigos_postales_municipios_entidades_historical",
|
"name" => "ds_codigos_postales_municipiosid_entidades_historical",
|
||||||
"title"=> "Histórico de codigos postales por municipio y entidades singulares(desde 2013)",
|
"title"=> "Histórico de códigos postales y códigos INE de municipios y entidades singulares asociados (desde 2013)",
|
||||||
"format"=> "csv",
|
"format"=> "csv",
|
||||||
"path"=> "data/codigos_postales_municipios_historical.csv",
|
"path"=> "data/codigos_postales_municipiosid_historical.csv",
|
||||||
"schema"=> [
|
"schema"=> [
|
||||||
"fields"=> [
|
"fields"=> [
|
||||||
[
|
[
|
||||||
|
@ -140,7 +200,7 @@ class Config
|
||||||
"pattern" => "[0-9]{5}"
|
"pattern" => "[0-9]{5}"
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
"name" => "nombre_entidad_singular",
|
"name" => "entidad_singular_nombre",
|
||||||
"type" => "string",
|
"type" => "string",
|
||||||
"description" => "Nombre entidad singular",
|
"description" => "Nombre entidad singular",
|
||||||
],
|
],
|
||||||
|
|
44
scripts/lib/MergeCommand.php
Executable file
44
scripts/lib/MergeCommand.php
Executable file
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require_once('Config.php');
|
||||||
|
|
||||||
|
use ConsoleKit\Widgets\ProgressBar;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Hace un merge con ds-organizacion-administrativa
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class MergeCommand extends ConsoleKit\Command
|
||||||
|
{
|
||||||
|
|
||||||
|
public function execute(array $args, array $options = array())
|
||||||
|
{
|
||||||
|
$box = new ConsoleKit\Widgets\Box($this->getConsole(), 'Haciendo merge con ds-organizacion-administrativagit');
|
||||||
|
$box->write();$this->getConsole()->writeln("");
|
||||||
|
|
||||||
|
shell_exec('
|
||||||
|
curl https://raw.githubusercontent.com/codeforspain/ds-organizacion-administrativa/master/data/municipios.csv \
|
||||||
|
| csvcut -c "municipio_id,nombre" \
|
||||||
|
| csvjoin -I -c "municipio_id" ../data/codigos_postales_municipiosid.csv - \
|
||||||
|
| csvcut -c "codigo_postal,municipio_id,nombre" \
|
||||||
|
> ../data/codigos_postales_municipios.csv
|
||||||
|
');
|
||||||
|
|
||||||
|
shell_exec("
|
||||||
|
sed -i 's/nombre/municipio_nombre/g' ../data/codigos_postales_municipios.csv
|
||||||
|
");
|
||||||
|
|
||||||
|
shell_exec('
|
||||||
|
curl https://raw.githubusercontent.com/codeforspain/ds-organizacion-administrativa/master/data/municipios.csv \
|
||||||
|
| csvcut -c \'municipio_id,nombre\' \
|
||||||
|
| csvjoin --snifflimit 0 -I -c "municipio_id" ../data/codigos_postales_municipiosid_entidades.csv - \
|
||||||
|
| csvcut -c "codigo_postal,entidad_singular_nombre,municipio_id,nombre" \
|
||||||
|
> ../data/codigos_postales_municipios_entidades.csv
|
||||||
|
');
|
||||||
|
|
||||||
|
shell_exec("
|
||||||
|
sed -i 's/,nombre/,municipio_nombre/g' ../data/codigos_postales_municipios_entidades.csv
|
||||||
|
");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
curl https://raw.githubusercontent.com/codeforspain/ds-organizacion-administrativa/master/data/municipios.csv \
|
|
||||||
| csvcut -c 'municipio_id,nombre' \
|
|
||||||
| csvjoin -I -c "municipio_id" ../data/codigos_postales_municipios.csv - \
|
|
||||||
| csvcut -c "codigo_postal,nombre_entidad_singular,municipio_id,nombre" \
|
|
||||||
> ../data/codigos_postales_municipios_join.csv
|
|
||||||
|
|
|
@ -20,6 +20,7 @@ if (sizeof($argv)==1) {
|
||||||
$console->run(['download']);
|
$console->run(['download']);
|
||||||
$console->run(['process']);
|
$console->run(['process']);
|
||||||
//$console->run(['convert-to-json']); // No generamos los archivos json, alguno sobrepasa los 100 Mb (limite Github)
|
//$console->run(['convert-to-json']); // No generamos los archivos json, alguno sobrepasa los 100 Mb (limite Github)
|
||||||
|
$console->run(['merge']);
|
||||||
$console->run(['update','--nojson']);
|
$console->run(['update','--nojson']);
|
||||||
} else {
|
} else {
|
||||||
$console->run();
|
$console->run();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user