Capítulo 9 Indicador cartografiado por manzana

El siguiente texto ejemplifica la ejecución del código seleccionando la variable que se quiere estudiar

’— title: “Indicador cartografiado por manzana”

author: “Claudia Guerrero S”

date: “6/04/2021”

output: html_document: df_print: paged pdf_document: default

params:

’# Render Function: #

estilo: label: “Estilo” value: jenks input: select choices: [pretty,equal,quantile,sd,kmeans,jenks,fisher]

indicad: label: “Indicador” value: Indenv65 input: select choices: [Indenv65,Indenv60,Relapoyopot,Reladepdem65,Reldepdem60]

entidad: label: “Entidad Federativa” value: Coahuila de Zaragoza input: select choices: [Aguascalientes,Baja California,Baja California Sur,Campeche,Coahuila de Zaragoza,Colima,Chiapas,Chihuahua,Ciudad de México,Durango,Guanajuato,Guerrero,Hidalgo,Jalisco,México,Michoacán de Ocampo,Morelos,Nayarit,Nuevo León,Oaxaca,Puebla,Querétaro,Quintana Roo,San Luis Potosí,Sinaloa,Sonora,Tabasco,Tamaulipas,Tlaxcala,Veracruz de Ignacio de la Llave,Yucatán,Zacatecas]

municipio: label: “Municipio” value: “Torreón”

editor_options: markdown: wrap: 72 ’—

9.1 Importación de datos cartográficos

https://www.inegi.org.mx/contenidos/productos/prod_serv/contenidos/espanol/bvinegi/productos/geografia/marcogeo/889463807469_s.zip

Censo de Población y Vivienda 2020 2020 2.65 GB https://inegi.org.mx/contenidos/productos//prod_serv/contenidos/espanol/bvinegi/productos/geografia/marcogeo/889463807469_s.zip Ficha de información https://inegi.org.mx/app/biblioteca/ficha.html?upc=889463807469

Se descarga y se descomprime localmente Se crea una carpeta para los datos geográficos

#La ruta para el mapa de México se toma del Marcogeostadístico nacional

rutam<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos/Marcogeoestadisticonacional/mg_sep2019_integrado/conjunto_de_datos"
rutamc<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos/Censo2020/"

geoentidades<-read.csv(paste0(rutamc,"marcogeoentidad.csv"),header=TRUE, sep=",",encoding="UTF-8")

municipios<-read.csv(paste0(rutamc,"municipios.csv"),header=TRUE, sep=",",encoding="latin")
municipios <-subset(municipios,municipios$NOM_ENT %in% c(params$entidad))
municipios <-subset(municipios,municipios$NOM_MUN %in% c(params$municipio))
titulmun<-municipios$NOM_MUN
nummun<-municipios$MUN
 
   
rutamc<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos/Censo2020/889463807469_s"


codent<-substr(geoentidades$NUM_ENT,1,2)
codent<-sprintf("%02d%s", as.numeric(gsub("[^0-9]+", "", codent)), gsub("[0-9]+", "", codent))


geoentidades$COD_ENT<-codent
geoentidades <-subset(geoentidades,geoentidades$NOM_ENT %in% c(params$entidad))
codent<-geoentidades$COD_ENT


rutamc<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos/Censo2020/889463807469_s/"
filename<-geoentidades$ARCHENT

filemun<-paste0(geoentidades$COD_ENT,"mun")
fileloc<-paste0(geoentidades$COD_ENT,"a")
filemza<-paste0(geoentidades$COD_ENT,"m")
url<-paste0(rutamc,filename,".zip")
temp2 <- tempfile()
unzip(url, exdir = temp2)
rut<-file.path(temp2)
rutamun<-paste0(rut,"/conjunto_de_datos")

basemapamun <- readOGR(rutamun,filemun, use_iconv = TRUE, encoding = "latin1")
## OGR data source with driver: ESRI Shapefile 
## Source: "C:\Users\Claudia.Guerrero\AppData\Local\Temp\RtmpmWrTxw\file1d387a2b2354\conjunto_de_datos", layer: "05mun"
## with 38 features
## It has 4 fields
snummun<-sprintf("%03d%s", as.numeric(gsub("[^0-9]+", "", nummun)), gsub("[0-9]+", "", nummun))

basemapamun<-subset(basemapamun,basemapamun$CVE_MUN %in% c(snummun))
basemapaloc <- readOGR(rutamun,fileloc, use_iconv = TRUE, encoding = "latin1")
## OGR data source with driver: ESRI Shapefile 
## Source: "C:\Users\Claudia.Guerrero\AppData\Local\Temp\RtmpmWrTxw\file1d387a2b2354\conjunto_de_datos", layer: "05a"
## with 1882 features
## It has 5 fields
basemapaloc<-subset(basemapaloc,basemapaloc$CVE_MUN %in% c(snummun))
basemapamza <- readOGR(rutamun,filemza, use_iconv = TRUE, encoding = "latin1")
## OGR data source with driver: ESRI Shapefile 
## Source: "C:\Users\Claudia.Guerrero\AppData\Local\Temp\RtmpmWrTxw\file1d387a2b2354\conjunto_de_datos", layer: "05m"
## with 75827 features
## It has 8 fields
basemapamza<-subset(basemapamza,basemapamza$CVE_MUN %in% c(snummun))

rutvar<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos"

variablescensales<-read.csv(paste0(rutvar,"/Censo2020/","variablescensales.csv"),header=TRUE, sep=",",encoding="UTF-8")

9.2 Importación de datos censales

En el sitio del INEGI se encuentran los resultados del CENSO 2020 para cada una de las entidades de la población https://www.inegi.org.mx/programas/ccpv/2020/default.html#Datos_abiertos

Principales resultados por AGEB y manzana urbana Ejemplo. Aguascalientes

https://www.inegi.org.mx/contenidos/programas/ccpv/2020/datosabiertos/ageb_manzana/ageb_mza_urbana_01_cpv2020_csv.zip

Para recuperar los datos censales a nivel estatal:

En el archivo se registra la población total de la entidad cuando en el nombre de la localidad aparece la leyenda “Total de la Entidad”

codent<-geoentidades$COD_ENT

url<-paste0("https://www.inegi.org.mx/contenidos/programas/ccpv/2020/datosabiertos/ageb_manzana/ageb_mza_urbana_",codent,"_cpv2020_csv.zip")

temp <- tempfile()
temp2 <- tempfile()
download.file(url, temp)
unzip(zipfile = temp, exdir = temp2)
rut<-file.path(temp2)
filename<-paste0(rut,"/","ageb_mza_urbana_",codent,"_cpv2020","/","conjunto_de_datos","/","conjunto_de_datos_ageb_urbana_",codent,"_cpv2020.csv")
                 
               


censonal<- read.csv(filename,header=TRUE, sep=",",encoding="UTF-8")
names(censonal)[1] <- "CVE_ENT"


#Datos de toda la entidad uso del campo nom_loc para identificar los valores de las variables a nivel estatal

censonal <-subset(censonal,censonal$NOM_ENT %in% c(params$entidad))
 
censonal <-subset(censonal,censonal$MUN %in% c(nummun))

`%notin%` <- Negate(`%in%`)
censonal <-censonal[censonal$AGEB %notin% c("0000"),]

codent<-substr(censonal$CVE_ENT,1,2)
codent<-sprintf("%02d%s", as.numeric(gsub("[^0-9]+", "", codent)), gsub("[0-9]+", "", codent))

codmun<-substr(censonal$MUN,1,3)
codmun<-sprintf("%03d%s", as.numeric(gsub("[^0-9]+", "", codmun)), gsub("[0-9]+", "", codmun))


codloc<-substr(censonal$LOC,1,4)
codloc<-sprintf("%04d%s", as.numeric(gsub("[^0-9]+", "", codloc)), gsub("[0-9]+", "", codloc))

codageb<-substr(censonal$AGEB,1,4)

codmza<-substr(censonal$MZA,1,3)
codmza<-sprintf("%03d%s", as.numeric(gsub("[^0-9]+", "", codmza)), gsub("[0-9]+", "", codmza))


censonal$CVEGEO<-paste0(codent,codmun,codloc,codageb,codmza)


#  censonal <-subset(censonal,censonal$NOM_ENT %in% #c(params$entidad))
#Ahora el mapa tiene el dato de las 198 variables del censo
#Conversión a número


cols = c(11:229)    
censonal[,cols] %<>% lapply(function(x) as.integer(as.character(x)))

#censonal$CVEGEO

censonal[,cols] %<>% lapply(function(x) x/censonal$POBTOT)

basemapa<-merge(basemapamza,censonal, by="CVEGEO", all.x =TRUE) 

La selección de la zona se realiza en el sitio del INEGI

En la opción de los Servicios y Espacio y datos de México https://www.inegi.org.mx/app/mapa/espacioydatos/#

Se utiliza la herramienta del polígono para seleccionar el área que se quiere estudiar y los distintos niveles de zoom son los que dan las capas disponibles.

Para la capa de las manzanas se requiere un zoom de 16 y se puede solicitar que el archivo se enviado a un correo electrónico.

El archivo en cuestión se descomprime en la máquina personal y desde ahí se lee el el que contiene la capa correspondiente

Una vez que se lee el mapa que ya habíamos creado con los valores cartográficos y censales para la entidad y municipio seleccionado en los parámetros, se obtiene de él el subconjunto espacial de la zona seleccionada, como un subconjunto de la matriz completa

rutaz<-"D:/Documents/Claudia/Midropbox/Investigacion y escritos/Censo2020/zona"
filez<-"INEGI_Manzanas_"

basemapaz <- readOGR(rutaz,filez, use_iconv = TRUE, encoding = "latin1")
## OGR data source with driver: ESRI Shapefile 
## Source: "D:\Documents\Claudia\Midropbox\Investigacion y escritos\Censo2020\zona", layer: "INEGI_Manzanas_"
## with 100 features
## It has 80 fields
basemapaz <- spTransform(basemapaz, CRS(proj4string(basemapa))) # transform CRS

#mapazon <- basemapa[basemapaz, ]

#basemapa<-mapazon

9.3 Indicador en zona seleccionada

Torreón Índice de envejecimiento 65

POB65ymás/Pob0a14

El estilo fisher crea grupos con la máxima homogeneidad

9.4 Video