Skip to content

prepara_catastro.sh

cymerio edited this page Apr 11, 2012 · 4 revisions

Propósito

Este script sirve principalmente para 3 cosas:

  1. Automatizar la descarga de datos del Catastro (descarga desatendida).
  2. Descomprimir los archivos descargados en una estructura de directorios ordenada, separando provincias y municipios.
  3. Generar archivos config para cat2osm, nombrados cada uno a partir del municipio al que se refieren. Además detecta y descarga automáticamente la rejilla de proyección a usar (las Islas Baleares usan una distinta al resto de la península). También genera 2 configs adicionales por cada municipio, conteniendo respectivamente sólo información rústica o sólo urbana.

Ejecución

Al ejecutar el programa lo primero que hace es descargar la lista de códigos y nombres de provincias y municipios de la web del Catastro. Esto solo se hace una vez. Si no borramos los archivos descargados se leerán en la próxima ejecución y no hará falta volver a descargarlos.

Esto es necesario para detectar a qué municipio pertenece cada archivo mirando sólo el código. Un ejemplo: el archivo 05_17_R_AAAA-MM-DD.CAT.gz sería detectado como perteneciente al municipio de Aveinte (Ávila), ya que el código de Ávila es 5, y el código de Aveinte es 17, por lo tanto lo descomprimiría en files/AVILA/AVEINTE.

Deben de haber exactamente 48 provincias y 7594 municipios. Tenga en cuenta que el Catastro no incluye al País Vasco y Navarra.

Después de esto el usuario es presentado con un menú con 4 opciones:

Generar archivo CSV para descargar datos

Para descargar archivos del Catastro (CAT y Shapefiles) de forma desatendida, es necesario seguir los siguientes pasos:

  1. Descargar e instalar el complemento iMacros para Firefox. Es posible que funcione también con otro navegador, pero no está probado.
  2. Copiar los archivos descarga_cat.iim y descarga_shp.iim que encontrará en el directorio "scripts" de cat2osm al directorio donde iMacros leerá las macros. Por defecto en Linux se encuentra en "~/iMacros/Macros".
  3. En Firefox, vamos a Editar -> Preferencias -> Aplicaciones y en archivador Gzip y archivador Zip seleccionamos "Guardar Archivo" (en lugar de Preguntar siempre).
  4. Descargamos al menos un archivo CAT y un archivo Shapefile del Catastro por el procedimiento habitual. El navegador recordará que aceptamos enviar el certificado digital. También recordará las opciones que pongamos en la encuesta.
  5. En el programa "prepara_catastro.sh" seleccionamos la primera opción del menú si no lo hemos hecho ya: Generar archivo CSV para descargar datos . Se nos presenta un menú con los códigos de todas las provincias. Introduzca los códigos de las provincias que nos interesen separados por espacios y pulse ENTER. Por ejemplo, si nos interesa Castellón, Valencia y Alicante, escribiremos: 12 46 3[ENTER].
  6. Eso generará un archivo llamado 'catastro.csv' con los municipios de todas estas provincias. Piense seriamente si necesita descargar todos estos municipios. Si solo necesita descargar unos pocos, abra ese archivo con un editor de texto y elimine los necesarios.
  7. Copie 'catastro.csv' al directorio de Datasources de iMacros. Por defecto en Linux se encuentra en "~/iMacros/Datasources".
  8. En Firefox pulse el icono de iMacros para abrir el panel de iMacros.
  9. Seleccione 'descarga_cat.iim' si quiere descargar los archivos CAT, o 'descarga_shp.iim' si quiere descargar los archivos de Shapefiles.
  10. Vaya a la pestaña Ejecutar, y en el recuadro 'Max' escriba el número de municipios que contiene 'catastro.csv' (uno por línea). Si no lo sabe puede averiguarlo fácilmente con la orden wc -l catastro.csv.
  11. Ahora en Firefox pulse el botón Ejecutar (bucle). Al cabo de varios minutos se habrán descargado dos archivos (urbano y rústico) por cada municipio. Vaya al apartado 9 y repita el procedimiento para el otro tipo de archivo.

Descargar datos de esta manera puede saturar los servidores del Catastro si lo realiza mucha gente en cortos períodos de tiempo. Piense seriamente si de verdad necesita descargar tantos datos. Lo mejor sería coordinarse por provincias para que solo se descargue datos el que pretenda procesar archivos con 'cat2osm', y que suba estos archivos ya procesados a otra parte para que otros editen a partir de ellos.

Descomprimir y clasificar archivos descargados

Seleccione esta opción para descomprimir los archivos que nos descargamos en la primera fase del programa. El programa nos pedirá una ubicación donde se buscarán los archivos descargados, y una ubicación donde descomprimirlos.

Por ejemplo, supongamos que Firefox guardó los siguientes archivos en "~/Descargas" o en alguna de sus subcarpetas:

12_02_U_2012-01-22.CAT.gz
12_02_R_2012-01-20.CAT.gz
12_03_U_2012-01-22.CAT.gz
12_03_R_2012-01-20.CAT.gz
12_02_UA_2012-01-20_SHF.zip
12_02_RA_2012-01-20_SHF.zip
12_03_UA_2012-01-20_SHF.zip
12_03_RA_2012-01-20_SHF.zip

Le diremos al programa que busque los archivos en "~/Descargas" y que descomprima en "~/Programas/cat2osm/files". La estructura de directorios quedará como sigue:

/home/usuario/Programas/cat2osm/files/CASTELLO/AIN/12_02_R_2012-01-20.CAT
/home/usuario/Programas/cat2osm/files/CASTELLO/AIN/12_02_U_2012-01-22.CAT
/home/usuario/Programas/cat2osm/files/CASTELLO/AIN/12_02_RA_2012-01-20_SHF/ALTIPUN
/home/usuario/Programas/cat2osm/files/CASTELLO/AIN/12_02_RA_2012-01-20_SHF/CARVIA
...
/home/usuario/Programas/cat2osm/files/CASTELLO/AIN/12_02_UA_2012-01-20_SHF/ALTIPUN
/home/usuario/Programas/cat2osm/files/CASTELLO/AIN/12_02_UA_2012-01-20_SHF/CARVIA
...
/home/usuario/Programas/cat2osm/files/CASTELLO/ALBOCASSER/12_03_R_2012-01-20.CAT
/home/usuario/Programas/cat2osm/files/CASTELLO/ALBOCASSER/12_03_U_2012-01-22.CAT
/home/usuario/Programas/cat2osm/files/CASTELLO/ALBOCASSER/12_03_RA_2012-01-20_SHF/ALTIPUN
/home/usuario/Programas/cat2osm/files/CASTELLO/ALBOCASSER/12_03_RA_2012-01-20_SHF/CARVIA
...
/home/usuario/Programas/cat2osm/files/CASTELLO/ALBOCASSER/12_03_UA_2012-01-20_SHF/ALTIPUN
/home/usuario/Programas/cat2osm/files/CASTELLO/ALBOCASSER/12_03_UA_2012-01-20_SHF/CARVIA
...

Si alguno de esos archivos ya existe se sobreescribirá. Los archivos originales no se modificarán. Los archivos originales pueden estar dentro de subdirectorios (por ejemplo, los CAT por un lado y los Shapefiles por otro, u ordenados por provincias, etc) y aún así el programa los encontrará, porque la búsqueda es recursiva.

Generar archivos config

Seleccione esta opción para generar los archivos config que cat2osm necesita. Lo primero que se le pedirá será un prefijo para el nombre de los archivos a generar. Por defecto este prefijo será 'config', de forma que los archivos tendrán este nombre 'configMUNICIPIO.config'. De ese modo puede generar varios conjuntos de archivos de configuración con distintos prefijos para diferenciarlos.

Si necesita cambiar también el sufijo puede editar el programa y cambiarlo a mano, pero no debería ser necesario.

Después se le pedirá el directorio donde buscar los archivos descomprimidos. Por defecto será o bien el directorio donde hicimos la descompresión anteriormente (si la hicimos), o bien el directorio "./files".

Luego se le pedirá dónde desea que se guarden los archivos "config", por defecto "./config".

A continuación se pedirá información sobre lo que contendrán los archivos config:

  • Directorio donde cat2osm guardará los resultados: es el directorio donde cat2osm guardará los archivos OSM, por defecto "./result"
  • Fichero de la rejilla de la península: es el fichero que necesita cat2osm para hacer las reproyecciones de los municipios localizados en la península. Por defecto intenta buscar "./peninsula.gsb" o "./PENR2009.gsb", y si no se encuentra se intenta descargar (recomendado).
  • Fichero de la rejilla de las Islas Baleares: es el fichero que necesita cat2osm para hacer las reproyecciones de los municipios localizados en las Islas Baleares. Por defecto intenta buscar "./baleares.gsb" o "./BALR2009.gsb", y si no se encuentra se intenta descargar (recomendado).
  • Filtrado por fechas: cat2osm solo exportará la información que se encuentre dada de alta entre estas fechas (fecha de inicio y fecha fin) y que aún continúe vigente. Debe estar en el formato AAAAMMDD, por ejemplo "20120201" para 1 de febrero de 2012. No pasa nada si nos salimos de rango. Por defecto no se hace filtrado, con lo que se exportará la información entre la fecha 0 y 99999999.
  • Filtrado por fechas (construcciones): cat2osm solo exportará los edificios construídos entre estas fechas (fecha de inicio y fecha fin). El formato es igual al de la opción anterior. Por defecto no se hace filtrado.
  • Tipo de registro de Catastro a usar (por defecto todos).
  • Imprimir ShapeIds (por defecto NO). Esta opción solo es útil para depuración. Imprime la lista de shapes que componen (o utilizan) cada vía o relación.

Se generarán 3 ficheros por cada municipio. Un archivo de configuración normal, otro para generar solo la parte rústica (sufijo "-R.config")y otro para generar solo la parte urbana (sufijo "-U.config").

Ejemplo: para el municipio de Alquerías del Niño Perdido (Castellón) se generará:

configALQUERIAS DEL NIÑO PERDIDO.config  
configALQUERIAS DEL NIÑO PERDIDO-R.config  
configALQUERIAS DEL NIÑO PERDIDO-U.config

Si falta un CAT rústico o un Shapefile rústico, los configs que se generen no contendrán datos rústicos. Lo mismo para la información urbana.

Por ejemplo, si en el municipio anterior se encuentran Shapefiles urbanos y rústicos, pero solo se encuentra el CAT urbano (falta el CAT rústico), el primer config tendrá las líneas que hacen referencia a información rústica precedidas del símbolo "#" (comentario). Cat2osm no podrá leer los datos rústicos y solo generará un OSM con datos urbanos.
El archivo con sufijo "-R.config" tendrá todas las líneas que hacen referencia a ficheros CAT o Shapefiles comentadas, y cat2osm no generará nada.
El archivo con sufijo "-U.config" tendrá comentadas solo las líneas que hacen referencia a ficheros CAT o Shapefiles rústicos. Cat2osm generará información urbana únicamente, igual que con el primer config.

Salir

Seleccione esta opción para salir del programa, o salga del programa en cualquier momento presionando Control+C