Funciones para utilizar datos del DENUE en estudios de Uso de Suelo.
El DENUE es una fuente de información muy importante para construir bases de datos de Uso de Suelo observado en México. Contiene información básica sobre las unidades económicas clasiificadas de acuerdo al sistema SCIAN. Esta clave nos permite extraer de forma fácil diferentes tipos de unidades.
Este módulo permite operar sobre la base del DENUE para obtener datos que sirvan para modelar el uso de suelo.
La clase Denue es la interfaz directa para interactuar con la base de datos.
Clase para guardar una capa del DENUE para procesarla.
Lo primero que podemos hacer es crear una instancia de la clase a partir de un archivo con datos del DENUE. El módulo descargas provee funcionalidades para descargar estos archivos.
Por lo pronto vamos a trabajar con una base de ejemplo que contiene datos para la Zona Metropolitana de la Ciudad de México en el año 2022.
# Nos aseguramos de tener los datospth = descarga_denue(tipo='ejemplo')denue = Denue.desde_archivo(pth)denue.datos.head()
El archivo ya está descargado
ERROR 1: PROJ: proj_create_from_database: Open of /home/plablo/miniconda3/envs/landuse/share/proj failed
nom_estab
raz_social
codigo_act
nombre_act
per_ocu
tipoCenCom
cve_ent
cve_mun
cve_loc
ageb
manzana
index_right
OBJECTID
Shape_Leng
NOM_CIUDAD
Shape_Le_1
Shape_Area
CVE_SUN
SUN
geometry
0
CONSULTORIO DENTAL
None
621211
Consultorios dentales del sector privado
0 a 5 personas
None
15
033
0001
480A
002
53
54
630172.981156
Valle de México
630.172981
781912.110166
13
13.0
POINT (-99.06894 19.54062)
1
TIENDA NATURISTA EL ARTE DE LA NATURALEZA
None
464113
Comercio al por menor de productos naturistas,...
0 a 5 personas
None
09
007
0001
1814
027
53
54
630172.981156
Valle de México
630.172981
781912.110166
13
13.0
POINT (-99.06312 19.33782)
2
REPARADORA DE CALZADO LOS RAPIDOS
None
811430
Reparación de calzado y otros artículos de pie...
0 a 5 personas
None
09
016
0001
0162
013
53
54
630172.981156
Valle de México
630.172981
781912.110166
13
13.0
POINT (-99.18603 19.45710)
3
SIN NOMBRE
None
461130
Comercio al por menor de frutas y verduras fre...
0 a 5 personas
None
09
008
0001
0423
037
53
54
630172.981156
Valle de México
630.172981
781912.110166
13
13.0
POINT (-99.25436 19.30129)
4
ADMINISTRACION MERCADO CONCENTRACION VOCEADORES
GOBIERNO DE LA CIUDAD DE MEXICO
531311
Servicios de administración de bienes raíces
0 a 5 personas
MERCADO PUBLICO
09
007
0001
2371
001
53
54
630172.981156
Valle de México
630.172981
781912.110166
13
13.0
POINT (-99.03318 19.38744)
Filtrar por clave SCIAN
Lo primero que podemos hacer utilizando estos datos es filtrar las filas utilizando la clave SCIAN. Esta clave está compuesta por 6 caractéres que identifican de forma jerárquica sectores, subsectores y actividades económicas. La estructura completa de la clave se puede consultar aquí.
La clase Denue implementa el método filtra_scian que admite una lista de códigos SCIAN,la función regresa un objeto de la misma clase sólo con las filas que correspondan al filtro especificado.
Cada elemento de la lista de claves puede tener un largo arbitrario (menor a 6 caractéres) y el filtro regresará las filas que empiecen con esos caractéres.
Digamos que queremos encontrar los bancos, es decir, los lugares donde un ciudadano común y corriente puede ir a obtener diferentes tipos de servicios financieros. Estos establecimiento corresponden a la clave 522110, es decir: Instituciones de intermediación crediticia y financiera no bursátil:: Banca Múltiple
Ese fue el caso más sencillo, pero también podríamos localizar todos los lugares en los que podría trabajar un banquero, no sólo bancos de primer piso sino instituciones financieras en general.
También podemos agregar una columna Categoria a los datos y popularla con el valor que deseemos. Esto puede resultar útil para producir más adelante agregados de diferentes actividades.
En general las claves SCIAN no corresponden directamente con los usos de suelo que queremos usar en una investigación en específico. Por ejemplo, en diferentes tipos de estudios urbanos queremos obtener la cantidad de unidades que corresponden a cuestiones como oficinas, manufacturas y comercios al pormenor. Estas categorías no corresponden a claves SCIAN únicas sino que agrupan diferentes claves en una sola categoría de uso de suelo.
Para acomodar este flujo de trabajo, la clase Denue incorpora el método agrega_en_usos que toma un diccionario con el nombre del uso asociado a una lista de expresiones regulares que buscan las claves SCIAN que se quieren asociar a dicho uso.
El DENUE contiene los puntos de las actividades económicas y algunas variables asociadas. Una de las más importantes para estudios de uso de suelo es el personal ocupado en cada actividad, esta información aparece en el DENUE como rangos:
usos.datos.per_ocu.unique()
array(['0 a 5 personas', '6 a 10 personas', '51 a 100 personas',
'11 a 30 personas', '101 a 250 personas', '251 y más personas',
'31 a 50 personas'], dtype=object)
Una forma de asignar pesos que reflejen la cantidad de personas que trabajan en cada unidad económica es a través de un diccionario que relacione la columna per_ocu con el peso que le queremos dar. Para esto tenemos la función pesa_unidades
Diccionario con la relación per_ocu: peso asignado
columna
str
pesos
Columna en donde vamos a guardar los pesos
Returns
Denue
pesos = {'0 a 5 personas': 2,'6 a 10 personas': 8,'11 a 30 personas': 20,'31 a 50 personas': 40,'51 a 100 personas': 75,'101 a 250 personas': 175,'251 y más personas': 300 }usos = usos.pesa_unidades(pesos)usos.datos[['per_ocu', 'pesos']]