Download the PHP package informaticadoslago/censo-vias without Composer

On this page you can find all versions of the php package informaticadoslago/censo-vias. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package censo-vias

informaticadoslago/censo-vias

Importa el callejero del Censo Electoral del INE a las tablas de vías y tipos de vía de una aplicación Laravel ya existente.

Lee el fichero VIAS (ancho fijo, ISO-8859-1) y, opcionalmente, el TiposVia.csv, y vuelca su contenido mediante upsert por clave natural: las filas que ya existen se localizan por su clave (no por id), se actualizan en su misma fila si algo cambió y conservan su id; las nuevas se insertan. Nunca duplica, nunca vacía y nunca borra, de modo que las relaciones que tu aplicación ya tenga contra esas tablas no se rompen.

Compatible con Laravel 10, 11, 12 y 13 y PHP 8.3+.


Qué hace, en detalle

  1. Tipos de vía. Recorre el fichero VIAS recopilando los códigos de tipo (TVIA) presentes. Por cada uno:

    • si ya existe en tu tabla de tipos (comparando el código sin espacios), reutiliza su id y no lo toca (salvo --update-names);
    • si no existe, lo inserta usando la descripción de TiposVia.csv si se aporta (p.ej. KALE → KALEA), o el propio código en su defecto.
  2. Vías. Cachea en memoria los municipios (CPRO|CMUN → id) y las vías existentes por su clave natural (municipio_id|codigo) con una firma de sus campos. Después recorre el fichero:

    • vía existente y sin cambios → no hace nada;
    • vía existente con cambios → UPDATE de esa fila (mismo id);
    • vía nueva → INSERT (por lotes).

    Las vías que están en tu base de datos pero ya no aparecen en el censo se dejan intactas (no se borran).


⚠️ Requisitos: tablas que tu aplicación debe tener

Este paquete NO crea ni migra ninguna tabla. Se limita a rellenar tablas que ya deben existir en tu aplicación. Necesita cuatro:

Tabla Uso del paquete Para qué
tiposdevias lectura + escritura Tipos de vía (destino).
vias lectura + escritura Vías (destino).
municipios solo lectura Resolver municipio_id a partir de CPRO+CMUN.
provincias solo lectura Enlazar el CPRO del fichero con el municipio.

Todos los nombres de tabla y de columna son configurables en config/censo-vias.php; abajo se documenta el esquema por defecto.

tiposdevias (destino)

Clave natural: la columna codigo1.

Columna Tipo Notas
id bigint unsigned PK Autoincremental. Se conserva en filas existentes.
codigo1 varchar(5) Código del tipo de vía (TVIA), p.ej. CALLE, KALE.
codigo2 varchar(2) Código legado de 2 letras. En altas se rellena con el valor extra_defaults (XX por defecto).
nombre varchar(50) Descripción del tipo (de TiposVia.csv).
created_at timestamp nullable Solo si tipos.timestamps = true.
updated_at timestamp nullable "

vias (destino)

Clave natural: municipio_id + codigo.

Columna Tipo Notas
id bigint unsigned PK Autoincremental. Se conserva en filas existentes.
municipio_id bigint unsigned FK → municipios.id. Resuelto de CPRO+CMUN.
codigo varchar(5) Código de vía (CVIA), p.ej. 01001.
tipodevia_id bigint unsigned FK → tiposdevias.id.
posiciontvia tinyint En altas se rellena con extra_defaults (0).
nombre varchar(50) Nombre de la vía (NVIA).
nombrecorto varchar(25) Nombre corto (NVIAC).
created_at timestamp nullable Solo si vias.timestamps = true.
updated_at timestamp nullable "

municipios y provincias (solo lectura)

El paquete solo lee las columnas necesarias para resolver el municipio:

El callejero del censo no incluye el nombre del municipio ni de la provincia, así que esas tablas debes poblarlas por otra vía (la lista oficial de municipios del INE). Este paquete no las modifica.

Migraciones de ejemplo

Si partes de una aplicación sin estas tablas, estas migraciones crean el esquema por defecto:


Instalación

El service provider se registra solo (package discovery); no hay que añadir nada más al composer.json.

Si el paquete aún no está en Packagist y lo instalas directamente desde su repositorio git, añade antes el repositorio a tu composer.json:


Configuración

La config se fusiona automáticamente (config('censo-vias.*') funciona sin publicar nada). Publícala solo si necesitas adaptar nombres de tabla/columna:

En config/censo-vias.php defines: codificación, posiciones de los campos del fichero VIAS, mapeo de columnas de tiposdevias y vias, y cómo resolver el municipio a partir de provincias + municipios.


Uso

Opción Descripción
--tipos= Ruta a TiposVia.csv (descripciones de los tipos).
--chunk=2000 Nº de vías por lote de inserción.
--update-names Actualiza también el nombre de los tipos ya existentes.
--dry No escribe nada; solo informa de lo que haría.

Ejemplo

Salida:

Sin municipio cuenta las vías cuyo CPRO|CMUN no existe en tu tabla municipios (códigos especiales del INE); se informan y se omiten.

Notas sobre el formato del INE


Licencia

MIT © Alberto Lago Rodríguez (Informática dos Lago).


All versions of censo-vias with dependencies

PHP Build Version
Package Version
Requires php Version ^8.3
ext-mbstring Version *
illuminate/console Version ^10.0|^11.0|^12.0|^13.0
illuminate/support Version ^10.0|^11.0|^12.0|^13.0
illuminate/database Version ^10.0|^11.0|^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package informaticadoslago/censo-vias contains the following files

Loading the files please wait ...