2 Tratamiento archivos .CAT

DESCRIBIR QUÉ ES UN ARCHIVO .CAT. AÑADIR CONTEXTO. PENDIENTE

Importamos el archivo “CAT”. Indicando que es una tabla sin cabecera y no importamos de momento la primera fila, que viene con metadata del archivo. La información de este archivo es correspondiente a la ciudad de Gijón.

Importamos también los ficheros con los nombres de las variables (pendiente de acabar, la importación de momento se ejecuta uno a uno; siguiente bloque de código).

De momento lo haremos uno a uno.

Echamos un vistazo al formato de la tabla creada

## [1] "01G52       GIJ<d3>N                      20200424120302CCATDESCRIPCION DE BIENES (20-11-2009)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
## [2] "11                     52024  4851101TP8245S      33ASTURIAS                 024024GIJON                                                                 00210CL   CLAUDIO ALVARGONZALEZ    0014 0000 00000                                     3320100000000000000000000                              000000047100027060002706000000000004580284694750482495565                                                                                                                                                                                                                                                                                                                          EPSG:25830"
## [3] "13                     52024UR4851101TP8245S0001  33ASTURIAS                 024024GIJON                                                                 00210CL   CLAUDIO ALVARGONZALEZ    0014 0000 00000                                                                                            1964E000000000000"                                                                                                                                                                                                                                                                                                                                                                            
## [4] "13                     52024UR4851101TP8245S0002  33ASTURIAS                 024024GIJON                                                                 00210CL   CLAUDIO ALVARGONZALEZ    0014 0000 00000                                                                                            1964E000000000000"                                                                                                                                                                                                                                                                                                                                                                            
## [5] "13                     52024UR4851101TP8245S0003  33ASTURIAS                 024024GIJON                                                                 00210CL   CLAUDIO ALVARGONZALEZ    0014 0000 00000                                                                                            1964E000000000000"                                                                                                                                                                                                                                                                                                                                                                            
## [6] "13                     52024UR4851101TP8245S0004  33ASTURIAS                 024024GIJON                                                                 00210CL   CLAUDIO ALVARGONZALEZ    0014 0000 00000                                                                                            1964E000000000000"

Creamos una columna con los dos primeros caracteres de cada registro, que en principio tienen que servirnos para identificar el tipo de entidad de información.

Echamos un vistazo al contenido de la variable “1_tipo_reg”. Como vemos divide correctamente todos los registros por tipo de registro.

##     01     11     13     14     15     16     17     90 
##      1  24922  57563 346781 234079  27992  18046      1

Inmuebles

A continuación vemos una descripción gráfica del fichero .CAT. Fuente: Fuente: https://www.idee.es/resources/presentaciones/JIIDE18/JIIDE2018_StatsCATDGC_UPV_RafaSierra.pdf

Vamos a tratar los registros “Tipo 15”, que corresponden a los inmuebles.

Creamos una tabla con los registros “Tipo 15” utilizando los nombres de las variables importados anteriormente.

Para dar formato a la tabla seguiremos el documento que el Catastro tiene publicado en su página web Descripción del fichero .CAT.

## # A tibble: 10 x 2
##    X1                                                               `1_tipo_reg`
##    <chr>                                                            <fct>       
##  1 15                     52024UR6143805TP8264S0039PH10331521     ~ 15          
##  2 15                     52024UR4425608TP8242S0012DX10376932     ~ 15          
##  3 15                     52024UR3545018TP8234S0088KG10430533     ~ 15          
##  4 15                     52024UR2734502TP8223S0008EU10408520     ~ 15          
##  5 15                     52024UR2343114TP8224S0046KR10453640     ~ 15          
##  6 15                     52024UR5334407TP8253S0004LG10304062     ~ 15          
##  7 15                     52024UR4537007TP8243N0072DR10399548     ~ 15          
##  8 15                     52024UR2141104TP8224S0152DP10412785     ~ 15          
##  9 15                     52024UR5543609TP8254S0001PY10311343     ~ 15          
## 10 15                     52024UR5049509TP8244N0001UJ10295902     ~ 15

En el siguiente código aplico las instrucciones del anterior documento para crear las variables con su contenido correcto.

(Se podría crear una función que hiciese esto de forma automática y generalizable para el resto de tablas del archivo .CAT, ya que en el mismo nombre de cada variable está indicada la posición inicial de cada caracter. Así que para dar referencias a la funcion str_sub solo se necesita el número por el que empieza el nombre de la variable y el número menos 1 del nombre de la siguiente variable. Queda pendiente.)

inmuebles <- inmuebles %>% mutate(`24_cd` = str_sub(X1, 24, 25),
                           `26_cmc` = str_sub(X1, 26, 28),
                           `29_cn` = str_sub(X1, 29, 30),
                           `31_pc` = str_sub(X1, 31, 44),
                           `45_car` = str_sub(X1, 45, 48),
                           `49_cc1` = str_sub(X1, 49, 49),
                           `50_cc2` = str_sub(X1, 50, 50),
                           `51_nfbi` = str_sub(X1, 51, 58),
                           `59_iia` = str_sub(X1, 59, 73),
                           `74_nfv` = str_sub(X1, 74, 92),
                           `93_cp` = str_sub(X1, 93, 94),
                           `95_np` = str_sub(X1, 95, 119),
                           `120_cmc` = str_sub(X1, 120, 122),
                           `123_cm` = str_sub(X1, 123, 125),
                           `126_nm` = str_sub(X1, 126, 165),
                           `166_nem` = str_sub(X1, 166, 195),
                           `196_cv` = str_sub(X1, 196, 200),
                           `201_tv` = str_sub(X1, 201, 205),
                           `206_nv` = str_sub(X1, 206, 230),
                           `231_pnp` = str_sub(X1, 231, 234),
                           `235_plp` = str_sub(X1, 235, 235),
                           `236_snp` = str_sub(X1, 236, 239),
                           `240_slp` = str_sub(X1, 240, 240),
                           `241_km` = str_sub(X1, 241, 245),
                           `246_bl` = str_sub(X1, 246, 249),
                           `250_es` = str_sub(X1, 250, 251),
                           `252_pt` = str_sub(X1, 252, 254),
                           `255_pu` = str_sub(X1, 255, 257),
                           `258_td` = str_sub(X1, 258, 282),
                           `283_dp` = str_sub(X1, 283, 287),
                           `288_dm` = str_sub(X1, 288, 289),
                           `290_cma` = str_sub(X1, 290, 292),
                           `293_czc` = str_sub(X1, 293, 294),
                           `295_cpo` = str_sub(X1, 295, 297),
                           `298_cpa` = str_sub(X1, 298, 302),
                           `303_cpaj` = str_sub(X1, 303, 307),
                           `308_npa` = str_sub(X1, 308, 337),
                           `368_noe` = str_sub(X1, 368, 371),
                           `372_ant` = str_sub(X1, 372, 375),
                           `428_grbice/coduso` = str_sub(X1, 428, 428),
                           `442_sfc` = str_sub(X1, 442, 451),
                           `452_sfs` = str_sub(X1, 452, 461),
                           `462_cpt` = str_sub(X1, 462, 470)) %>%
                            select(-X1)

       
# Convierto todas las variables que están en formato string a factor
inmuebles <- inmuebles %>% mutate_if(is.character,as.factor)

Hacemos un ranking de calles de Gijón por número de inmuebles.

Otras referencias:

http://www.catastro.minhap.es/documentos/formatos_intercambio/catastro_fin_cat_2006.pdf

http://congresoage.unizar.es/eBook/trabajos/031_Mora-Garcia.pdf