Saltar al contenido

# visualizacion-geospacial-avanzada-con-pygmt

Visualización Geospacial Avanzada con PyGMT

Volver a la portada del curso
Proyecto

Proyecto Final: Visualización Completa

Sección 5 · Proyecto Final

Proyecto final: visualización completa

El proyecto final reúne todo el curso en un entregable realista: una lámina cartográfica que explica un fenómeno geoespacial con mapas, un perfil y números. El caso propuesto es la sismicidad del sur de México en septiembre de 2017, pero puedes elegir otra zona de subducción del mismo catálogo, que cubre todo el mundo durante ese mes, como Japón o Chile. Lo que se evalúa no es la cantidad de mapas, sino que cada figura responda una pregunta concreta.

Qué debes entregar

Un notebook que corra de principio a fin sin errores y que genere estos archivos:

  • Mapa principal (PNG): relieve sombreado de la región con los sismos codificados por profundidad (color) y magnitud (tamaño), con escala de color y unidades.
  • Mapa de ubicación dentro del mapa principal, hecho con fig.inset, que muestre la región en el contexto del continente.
  • Perfil (PNG): un corte perpendicular a la trinchera con la profundidad de los sismos proyectados y, si lo deseas, la topografía de la misma línea.
  • Resumen numérico: una tabla con el número de sismos, la magnitud máxima y la profundidad media por rango de profundidad.
  • Conclusiones: tres a cinco frases dentro del notebook, cada una respaldada por una figura o un número.

Datos

Usa el catálogo pygmt.datasets.load_sample_data("usgs_quakes") (sismos de magnitud 3 o mayor del USGS, septiembre de 2017) y el relieve de pygmt.datasets.load_earth_relief con una resolución de 05m o 02m. Ambos se cargan con código, sin pasos manuales: quien ejecute tu notebook debe obtener las mismas figuras.

Estructura sugerida

Organiza el notebook en cinco secciones: datos, mapa principal, perfil, resumen y conclusiones. Define al inicio las constantes que se repiten, como la región, los extremos del perfil y los rangos de las paletas, para cambiarlas en un solo lugar:

import pygmt

REGION = [-106, -88, 12, 22]               # oeste, este, sur, norte
PERFIL_A, PERFIL_B = [-95.5, 13.5], [-92.5, 18.0]
PROFUNDIDAD_MAX = 150                      # km, rango de la paleta

sismos = pygmt.datasets.load_sample_data("usgs_quakes")
region_sismos = sismos[
    sismos.longitude.between(REGION[0], REGION[1])
    & sismos.latitude.between(REGION[2], REGION[3])
]
print(len(region_sismos), "sismos en la región")

Criterios de evaluación

  • Proyección y región: la proyección es adecuada para la región y el mapa no recorta datos importantes.
  • Codificación visual: relieve y sismos usan paletas distintas, las escalas tienen unidades y el tamaño de los símbolos respeta que la magnitud es logarítmica.
  • Análisis: el perfil está bien orientado y la tabla resume los datos con números correctos.
  • Comunicación: títulos que dicen la conclusión, leyenda o etiquetas para los sismos principales y conclusiones apoyadas en evidencia.
  • Reproducibilidad: el notebook corre completo tras reiniciar el kernel.

Cómo autoevaluar antes de entregar

Muestra el mapa principal a alguien sin explicarle nada y pregúntale dónde ocurrieron los sismos más profundos. Si responde bien, la paleta y la escala funcionan. Después, compara el perfil con el mapa: los sismos que en el perfil están lejos del punto A deben estar, en el mapa, más cerca del punto B, tierra adentro. Por último, reinicia el kernel y ejecuta todo.

Errores comunes en la entrega

  • Dibujar todos los sismos del mundo sin filtrar la región: el mapa tarda y la escala de color pierde detalle.
  • Tamaños de símbolo proporcionales a la magnitud en lugar de crecer de forma exponencial.
  • Usar una paleta arcoíris para la profundidad.
  • Olvidar etiquetas y unidades en la escala de color o en los ejes del perfil.
  • Conclusiones genéricas, como «hay muchos sismos», en lugar de afirmaciones medibles.

Para ir más allá

Si terminas antes, agrega un segundo perfil en otra zona y compara el ángulo con el que se hunde la placa, o anima la secuencia diaria de sismos con pygmt.Figure en un bucle que guarde un PNG por día.

Recursos