Se busca conocer la estructura del Marco Geoestadístico Nacional [MGN
], que es el marco de referencia en que se divide el territorio nacional para la planeación, captación, tratamiento y difusión de la información del censo; el cual está representado en la cartografía geoestadística.
La información de este documento fue sacado del: Manual de cartografía geoestadística
Definición del Marco Geoestadístico Nacional
Marco Geoestadístico Nacional es un sistema único y de carácter nacional diseñado por el INEGI
para referenciar correctamente la información estadística de los censos y encuestas con los lugares geográficos correspondientes.
Conformación del Marco Geoestadístico Nacional
Marco Geoestadístico Nacional está conformado por áreas geoestadísticas divididas en tres áreas de desagregación:
AGEE
).AGEM
).AGEB
).Al interior de estos niveles de desagregación, se encuentran las áreas geográficas que contienen las unidades mínimas de observación del Censo de Población y Vivienda 2010 (habitantes y viviendas) las cuales son:
Clasificación de las áreas del Marco Geoestadístico Nacional
La identidad de cada área del Marco Geoestadístico Nacional es única y se expresa con claves numéricas que nos permiten identificar la referencia geoestadística sea estatal, municipal, ageb, localidad y manzana.
Dicha referencia se conforma con una serie ordenada de claves geoestadísticas, apegadas a una estructura según el nivel de desagregación del área geoestadística de que se trate y que no se repita en todo el país; el orden que siguen estos códigos es el siguiente:
Para las áres urbanas: | EE + MMM + LLLL + AAA-A + NNN |
Para las áreas rurales: | EE + MMM + AAA-A + LLLL + NNN |
Donde
\(\bullet \; \text{EE}\) = Estado (se representa con dos dígitos, 00).
\(\bullet \; \text{MMM}\) = Municipio (se representa con tres dígitos, 000).
\(\bullet \; \text{LLLL}\) = Localidad (se representa con tres dígitos, 0000).
\(\bullet \; \text{AAA-A}\) = Localidad (se representa con tres dígitos, un guion y un dígito verificador, 000-0).
\(\bullet \; \text{NNN}\) = Manzana (se representa con tres dígitos, 000).
AGEE
)Corresponde al área geográfica de cada una de las 32 entidades federativas del país (31 estados y un Distrito Federal, conformando un total de 32 agee).
Se codifica o clasifica de acuerdo con el orden alfabético de sus nombres oficiales, con una longitud de dos dígitos, a partir del 01 en adelante, según el número de entidades federativas que dispongan las leyes vigentes; en este momento son 32 entidades federativas (Aguascalientes 01, Baja California 02,… y Zacatecas 32).
AGEM
)Existen a nivel nacional 2 456 municipios. Los límites geoestadísticos de las AGEM se apegan en lo posible a los límites político-administrativos de cada municipio o delegación.
Dentro de estas áreas se encuentran todas las localidades urbanas y rurales que pertenecen a cada uno de los municipios y delegaciones. La clave geoestadística de estas áreas está formada por tres números que se asignan de manera ascendente a partir del 001 de acuerdo con el orden alfabético de los nombres de los municipios, aunque a los municipios creados posteriormente a la clasificación inicial, se les asigna la clave geoestadística conforme se vayan creando.
Todo lugar ocupado con una o más viviendas, las cuales pueden estar habitadas o no; este lugar es reconocido por un nombre dado por la ley o la costumbre. De acuerdo con sus características y con fines estadísticos, las localidades se clasifican en urbanas
y rurales
.
Son aquéllas que tienen una población mayor o igual a 2 500 habitantes o que sean cabeceras municipales independientemente del número de habitantes de acuerdo con el Censo de Población y Vivienda 2010.
Son las que tienen una población menor a 2 500 habitantes y no son cabeceras municipales, de acuerdo con el Censo de Población y Vivienda 2010.
Cada localidad urbana o rural está codificada con una clave de cuatro dígitos que se asignan de manera ascendente por municipio a partir del 0001 hasta cubrir el total de localidades de cada uno de los municipios que conforman el país, por lo general la clave 0001 corresponde a la cabecera municipal.
Todas las localidades urbanas y rurales están incluidas en el Marco Geoestadístico Nacional, las urbanas se representan en forma de polígono, mientras que las rurales pueden estar representadas con un polígono o con un punto. Las que están representadas con un polígono cuentan con un plano independiente, ya sean urbanas o rurales con 100 o más habitantes.
AGEB
)Es la extensión territorial que corresponde a la subdivisión de las áreas geoestadísticas municipales. Constituye la unidad básica del Marco Geoestadístico Nacional y, dependiendo de sus características, se clasifican en dos tipos:
A cada AGEB se le ha asignado una clave compuesta por tres números, un guion y un número que va del 0 al 9 o la letra A, aparece representada en la cartografía dentro de una elipse. Estas claves son únicas dentro de cada municipio, por lo cual nunca se tendrá una clave repetida en un municipio, independientemente de que el ageb sea urbano o rural.
Área geográfica ocupada por un conjunto de manzanas que generalmente va de 1 a 50, perfectamente delimitadas por calles, avenidas, andadores o cualquier otro rasgo de fácil de identificación en el terreno y cuyo uso del suelo sea principalmente habitacional, industrial, de servicios, comercial, etcétera, sólo se asignan al interior de las localidades urbanas.
Las áreas geoestadísticas municipales que se ubican en la parte rural, cuya extensión territorial es variable y se caracteriza por el uso del suelo de tipo agropecuario
o forestal
. Contiene localidades rurales y extensiones naturales como pantanos, lagos, desiertos y otros, delimitada por lo general por rasgos naturales (ríos, arroyos, barrancas, etcétera) y culturales (vías de ferrocarril, líneas de conducción eléctrica, carreteras, brechas, veredas, ductos, límites prediales, etcétera).
El territorio insular muestra la ubicación geográfica mediante la representación del área que ocupa cada elemento registrado, y las coordenadas centrales de cada uno, aportando información complementaria que permite la descripción general de sus caracterísitcas físicas y ecológicas.
shape_islas <- readOGR(dsn = "MGN/MGN Junio 2016/conjunto_de_datos",
layer = "territorio_insular",
# encoding = "UTF-8",
use_iconv = TRUE)
De la siguiente manera se concatenan las clasificaciones en los correspondientes shapes para cada uno de los niveles.
shape_municipios@data <- shape_municipios@data %>%
mutate(CVE_MUN = paste0(CVE_ENT,CVE_MUN)) %>%
mutate(CVE_MUN = factor(CVE_MUN, levels = unique(.$CVE_MUN)))
shape_localidades@data <- shape_localidades@data %>%
mutate(CVE_MUN = paste0(CVE_ENT,CVE_MUN)) %>%
mutate(CVE_LOC = paste0(CVE_MUN,CVE_LOC)) %>%
mutate(CVE_MUN = factor(CVE_MUN, levels = unique(.$CVE_MUN)),
CVE_LOC = factor(CVE_LOC, levels = unique(.$CVE_LOC)))
shape_AGEB@data <- shape_AGEB@data %>%
mutate(CVE_MUN = paste0(CVE_ENT,CVE_MUN)) %>%
mutate(CVE_AGEB = paste0(CVE_MUN,CVE_AGEB)) %>%
mutate(CVE_MUN = factor(CVE_MUN, levels = unique(.$CVE_MUN)),
CVE_AGEB = factor(CVE_AGEB, levels = unique(.$CVE_AGEB)))
shape_territorio@data <- shape_territorio@data %>%
mutate(CVE_MUN = paste0(CVE_ENT,CVE_MUN)) %>%
mutate(CVE_LOC = paste0(CVE_MUN,CVE_LOC)) %>%
mutate(CVE_AGEB = paste0(CVE_LOC,CVE_AGEB)) %>%
mutate(CVE_MUN = factor(CVE_MUN, levels = unique(.$CVE_MUN)),
CVE_LOC = factor(CVE_LOC, levels = unique(.$CVE_LOC)),
CVE_AGEB = factor(CVE_AGEB, levels = unique(.$CVE_AGEB)))
shape_islas@data <- shape_islas@data %>%
mutate(CVE_MUN = paste0(CVE_ENT,CVE_MUN)) %>%
mutate(CVE_AGEB = paste0(CVE_MUN,CVE_AGEB)) %>%
mutate(CVE_MUN = factor(CVE_MUN, levels = unique(.$CVE_MUN)),
CVE_AGEB = factor(CVE_AGEB, levels = unique(.$CVE_AGEB)))
ggfortify::fortify()
Se llama a la función fortify
del paquete ggfortify
para convertir la entrada de un objeto a un data.frame. Esta función se puede usar para convertir la instancia sp
en data.frame compatible con gráficos ggplot
.
NOTA En v0.0.1
, la función fortify devuelve dplyr :: tbl_df
. A partir de v0.0.2
, fortify devuelve un data.frame normal porque dplyr v0.4.0
ya no conserva los nombres de fila que pueden ser necesarios para el trazado.
require(ggfortify)
capas_estados <- fortify(shape_estados, region = "CVE_ENT") %>%
merge(x = ., y = shape_estados@data, by.x = "id",by.y = "CVE_ENT") %>%
rename("CVE_ENT" = "id")
capas_municipios <- fortify(shape_municipios, region = "CVE_MUN") %>%
merge(x = .,y = shape_municipios@data, by.x = "id",by.y = "CVE_MUN") %>%
rename("CVE_MUN" = "id")
capas_localidades <- fortify(shape_localidades, region = "CVE_LOC") %>%
merge(x = .,y = shape_localidades@data, by.x = "id",by.y = "CVE_LOC") %>%
rename("CVE_LOC" = "id") %>%
mutate(CVE_MUN = paste0(CVE_ENT,CVE_MUN))
capas_AGEB <- fortify(shape_AGEB, region = "CVE_AGEB") %>%
merge(x = .,y = shape_AGEB@data, by.x = "id",by.y = "CVE_AGEB") %>%
rename("CVE_AGEB" = "id")
capas_territorio <- fortify(shape_territorio, region = "CVE_AGEB")
capas_islas <- fortify(shape_islas, region = "CVE_AGEB") %>%
merge(x = .,y = shape_islas@data, by.x = "id",by.y = "CVE_AGEB") %>%
rename("CVE_AGEB" = "id")
Se utiliza la función coordinates()
del paquete sp
que permite localizar los centroides de cada municipio. Permitiendo de esta manera encontrar la localización para las etiquetas de cada municipio y utilizando la función geom_label_repel()
mediante los atributos mapping = aes(x = Longitude, y = Latitude)
.
centroids.municipios <- as.data.frame(sp::coordinates(shape_municipios)) %>%
rename("Longitude" = "V1","Latitude" = "V2") %>%
mutate(CVE_ENT = shape_municipios@data$CVE_ENT,
CVE_MUN = shape_municipios@data$CVE_MUN,
NOM_MUN = shape_municipios@data$NOM_MUN)
centroids.islas <- as.data.frame(sp::coordinates(shape_islas)) %>%
rename("Longitude" = "V1","Latitude" = "V2") %>%
mutate(CVE_ENT = shape_islas@data$CVE_ENT,
CVE_AGEB = shape_islas@data$CVE_AGEB,
Nombre = shape_islas@data$NOMBRE) %>%
group_by(CVE_AGEB) %>%
filter(!duplicated(Nombre))
estados <- unique(shape_estados@data$NOM_ENT)
ent <- unique(shape_estados@data$CVE_ENT)
Utilizando la función geom_polygon
del paquete ggplot2::
En el siguiente ejemplo se muestran varios data.frame (utilizando anteriormente fortify
) lo que permite definir varios polígonos. Se agregan 5 layers para mostrar los diferentes tipos capas geográficas.
p<-list()
for(i in 1:32){
limites <- capas_estados %>%
filter(CVE_ENT == ent[i]) %>%
summarise(min.x = min(.$long),
max.x = max(.$long),
min.y = min(.$lat),
max.y = max(.$lat))
p[[i]] <- ggplot() +
geom_point(capas_territorio %>% filter(CVE_ENT == ent[i]),
mapping = aes(x = long, y = lat, colour = "a1", size = "a1"),
fill = "transparent",
alpha = 0.9) +
geom_polygon(capas_AGEB %>% filter(CVE_ENT == ent[i]),
mapping = aes(x = long, y = lat, group = group, colour = "a2", size = "a2"),
fill = "transparent") +
geom_polygon(capas_localidades %>% filter(CVE_ENT == ent[i]),
mapping = aes(x = long, y = lat, group = group, colour = "a3", size = "a3"),
fill = "transparent",
alpha = 0.8) +
geom_polygon(capas_municipios %>% filter(CVE_ENT == ent[i]),
mapping = aes(x = long, y = lat, group = group, colour="a4", size = "a4"),
fill = "transparent") +
geom_polygon(capas_estados %>% filter(CVE_ENT == ent[i]),
mapping = aes(x = long, y = lat, group = group, colour="a5", size = "a5"),
fill = "transparent") +
coord_cartesian(xlim = c(limites$min.x,limites$max.x),
ylim = c(limites$min.y,limites$max.y)) +
theme_void() +
theme(plot.margin = unit(c(0, 0, 0 ,0), "cm"),
plot.title = element_text(hjust = 0.2, size = 22),
plot.subtitle = element_text(hjust = 0.1, size = 12),
plot.caption = element_text(hjust = 1.1)
) +
scale_colour_manual("Nivel",
labels = c("Ageb Rural","Ageb Urbana","Localidad","Municipio","Entidad"),
values = c("a1" = "#F69696",
"a2" = "#581845",
"a3" = "#C70039",
"a4" = "#A60F54",
"a5" = "#5B0C30")) +
scale_linetype_manual("Nivel",
values = c("solid", "solid","solid","solid","solid")) +
scale_size_manual("Nivel",
labels = c("Ageb Rural","Ageb Urbana","Localidad","Municipio","Entidad"),
values = c("a1"=0.7,
"a2"=0.701,
"a3"=0.55,
"a4"=0.8,
"a5"=1)) +
labs(title = paste0(estados[i]),
caption = "Fuente: Marco Geoestadístico Nacional, 2018 (INEGI)")
}
Utilizando la función geom_sf()
del paquete ggplot2::
Este conjunto de geom_sf, se utiliza para visualizar objetos de características simples (sf
). Para gráficos simples, solo se necesitará geom_sf()
lo que use stat_sf()
o coord_sf()
y esto permita dibujar diferentes objetos geométricos dependiendo de las características que estén presentes en los datos: se pueden obtener puntos, líneas o polígonos.
Para texto y etiquetas, se puede usar geom_sf_text()
y geom_sf_label()
.
A continuación, se muestra un ejemplo de cómo visualizar objetos sf
. Este tipo de función es un poco más amigable de usar.
require(ggplot2)
require(tibble)
require(sf)
AGEB_tbl <- as_tibble(st_as_sf(shape_AGEB))
MUN_tbl <- as.tibble(st_as_sf(shape_municipios))
ENT_tbl <- as_tibble(st_as_sf(shape_estados))
q <- list()
for(i in 1:32){
limites <- capas_estados %>%
filter(CVE_ENT == ent[i]) %>%
summarise(min.x = min(.$long),
max.x = max(.$long),
min.y = min(.$lat),
max.y = max(.$lat))
q[[i]] <- ggplot() +
geom_sf(data = AGEB_tbl %>% filter(CVE_ENT == ent[i]),
mapping = aes(geometry = geometry,
fill = as.character(CVE_AGEB))) +
geom_sf(data = MUN_tbl %>% filter(CVE_ENT == ent[i]),
mapping = aes(geometry = geometry),
fill = "transparent",
color ="#DEDEDE") +
geom_sf(data = ENT_tbl %>% filter(CVE_ENT == ent[i]),
mapping = aes(geometry = geometry),
fill = "transparent",
color ="grey") +
coord_sf(xlim = c(limites$min.x,limites$max.x),
ylim = c(limites$min.y,limites$max.y)) +
theme_void() +
theme(plot.title = element_text(hjust = 0.2, size = 12),
plot.subtitle = element_text(hjust = 0.1, size = 12),
plot.margin = unit(c(0, 0, 0 ,0), "cm"),
plot.caption = element_text(hjust = 1.1),
legend.position = 'none'
) +
scale_fill_viridis_d(option = "magma",begin = 0.3,end = 0.7) +
labs(title = "Nivel AGEB")
}
Desplegar las pestañas para cada estado
Librerías que se usaron en el trabajo
## [1] "sf" "tibble" "ggfortify" "kableExtra" "knitr"
## [6] "cowplot" "spdplyr" "ggrepel" "RColorBrewer" "readr"
## [11] "stringr" "forcats" "ggplot2" "rgdal" "sp"
## [16] "foreign" "dplyr"
LEVANTAMIENTO 2010 Censo de Población y Vivienda Manual de cartografía geoestadística. (2010). Retrieved November 10, 2020, from www.inegi.org.mx
This work by Diana Villasana Ocampo is licensed under a Creative Commons Attribution 4.0 International License.