Ejemplos: Mapas

Esta sección muestra cómo visualizar los límites administrativos de Guatemala. Para combinar mapas con datos del censo, consulte Censo + Mapas.


Mapa de departamentos

import geoquetzal as gq

deptos = gq.departamentos()
ax = deptos.plot(color="lightyellow", edgecolor="gray", figsize=(8, 8))
gq.lagos().plot(ax=ax, color="lightblue", edgecolor="steelblue")
ax.set_axis_off()

library(geoquetzal)
library(ggplot2)
Warning: package 'ggplot2' was built under R version 4.4.3
print(ggplot() +
  geom_sf(data = departamentos(), fill = "lightyellow", color = "gray") +
  geom_sf(data = lagos(), fill = "lightblue", color = "steelblue") +
  theme_void())


Mapa de municipios

import geoquetzal as gq

munis = gq.municipios()
ax = munis.plot(color="lightyellow", edgecolor="gray", linewidth=0.4, figsize=(8, 8))
gq.lagos().plot(ax=ax, color="lightblue", edgecolor="steelblue")
ax.set_axis_off()

library(geoquetzal)
library(ggplot2)

ggplot() +
  geom_sf(data = municipios(), fill = "lightyellow", color = "gray", linewidth = 0.4) +
  geom_sf(data = lagos(), fill = "lightblue", color = "steelblue") +
  theme_void()


Municipios de un departamento

import geoquetzal as gq

munis = gq.municipios("Sacatepequez")
ax = munis.plot(color="green", edgecolor="white", figsize=(8, 8))
ax.set_title("Municipios de Sacatepéquez", fontsize=14)
ax.set_axis_off()

library(geoquetzal)
library(ggplot2)

ggplot() +
  geom_sf(data = municipios("Sacatepequez"), fill = "darkgreen", color = "white") +
  ggtitle("Municipios de Sacatepéquez") +
  theme_void()


Mapa interactivo con hover

import geoquetzal as gq

munis = gq.municipios("Sacatepequez")
munis.explore(
    tooltip=["municipio", "codigo_muni"],
    tooltip_kwds={"aliases": ["Municipio", "Código INE"]},
    tiles="CartoDB positron",
    style_kwds={"weight": 1, "color": "green", "fillOpacity": 0.3},
)
Make this Notebook Trusted to load map: File -> Trust Notebook
library(geoquetzal)
library(mapview)

mapview(
  municipios("Sacatepequez"),
  map.types = "CartoDB.Positron",
  color      = "green",
  alpha.regions = 0.3,
  lwd        = 1,
  label      = "municipio"
)

Zonas de la Ciudad de Guatemala

import geoquetzal as gq

zonas = gq.municipios("Guatemala", zonas=True)
zonas.explore(
    tooltip=["zona"],
    tooltip_kwds={"aliases": ["Zona"]},
    tiles="CartoDB positron",
    style_kwds={"weight": 1, "color": "steelblue", "fillOpacity": 0.3},
)
Make this Notebook Trusted to load map: File -> Trust Notebook
Note

El parámetro zonas=TRUE no está disponible en el paquete R. Use los municipios estándar de Guatemala City como alternativa.

library(geoquetzal)
library(mapview)

mapview(
  municipios("Guatemala"),
  map.types    = "CartoDB.Positron",
  color        = "steelblue",
  alpha.regions = 0.3,
  lwd          = 1,
  label        = "municipio"
)

Centroides de lugares poblados

Los lugares poblados tienen coordenadas de centroide que permiten visualizarlos como puntos.

import geoquetzal as gq

# Cargar con geometría de puntos
gdf = gq.lugares_poblados(departamento="Sacatepequez", geometry=True)
   ℹ 22 lugares poblados excluidos por coordenadas nulas (códigos terminados en 999 — asentamientos sin nombre oficial).

# Superponer sobre municipios
ax = gq.municipios("Sacatepequez").plot(
    color="lightyellow", edgecolor="gray", figsize=(8, 8)
)
gdf.plot(ax=ax, color="steelblue", markersize=5, alpha=0.7)
ax.set_title("Lugares Poblados — Sacatepéquez", fontsize=14)
ax.set_axis_off()

library(geoquetzal)
library(sf)
Linking to GEOS 3.14.1, GDAL 3.12.3, PROJ 9.8.0; sf_use_s2() is TRUE
library(ggplot2)

# Cargar con geometría de puntos (centroide)
lp <- lugares_poblados(departamento = "Sacatepequez")
⬇  Descargando lugares poblados depto 03 (Sacatepéquez)...
   ✓ 264 lugares poblados cargados
lp_valid <- lp[!is.na(lp$longitud) & !is.na(lp$lat), ]
lp_sf <- sf::st_as_sf(lp_valid, coords = c("longitud", "lat"), crs = 4326)

# Superponer sobre municipios
ggplot() +
  geom_sf(data = municipios("Sacatepequez"), fill = "lightyellow", color = "gray") +
  geom_sf(data = lp_sf, color = "steelblue", size = 1, alpha = 0.7) +
  ggtitle("Lugares Poblados — Sacatepéquez") +
  theme_void()


Polígonos Voronoi de lugares poblados

Como el INE no publica límites oficiales de lugares poblados, GeoQuetzal genera aproximaciones mediante teselación Voronoi recortada a los límites municipales.

import geoquetzal as gq

vor = gq.voronoi_lugares_poblados(municipio="Antigua Guatemala")
   ℹ 2 lugares poblados excluidos por coordenadas nulas (códigos terminados en 999 — asentamientos sin nombre oficial).
   ✓ 57 polígonos Voronoi generados
vor.explore(
    tooltip=["nombre"],
    tooltip_kwds={"aliases": ["Lugar Poblado"]},
    tiles="CartoDB positron",
    style_kwds={"weight": 0.5, "color": "green", "fillOpacity": 0.3},
)
Make this Notebook Trusted to load map: File -> Trust Notebook
library(geoquetzal)
library(mapview)

vor <- voronoi_lugares_poblados(municipio = "Antigua Guatemala")
Spherical geometry (s2) switched off
⬇  Descargando lugares poblados depto 03 (Sacatepéquez)...
   ✓ 264 lugares poblados cargados
   ℹ 2 lugares poblados excluidos por coordenadas nulas (códigos terminados en 999).
   ✓ 57 polígonos Voronoi generados
Spherical geometry (s2) switched on
mapview(
  vor,
  map.types    = "CartoDB.Positron",
  color        = "green",
  alpha.regions = 0.3,
  lwd          = 0.5,
  label        = "nombre"
)
Note

Los lugares poblados con coordenadas nulas (códigos terminados en 999) son excluidos automáticamente del Voronoi. Son asentamientos informales sin ubicación oficial.