Hace muchos años era difícil considerar la idea de que los datos estructurales recogidos en los trabajos geológicos de campo podían ser tratados de forma computacional. Ahora, con los avances en los lenguajes de programación se ha vuelto más sencillo procesar esos datos para sintetizarlos, presentarlos y posteriormente interpretarlos. En geología estructural trabajar computacionalmente va desde el empleo de ciclográficas para la proyección de estratos, fallas, sondajes orientados, restauración de paleocorrientes hasta la definición de modelos de inversión tectónica o paleoesfuerzos. En sí, tales procesos se basan en el empleo de la proyección estereográfica, y siendo parte de las aplicaciones geológicas de hoy en día es importante hablar sobre la estereografía en Python.

Python es un lenguaje de programación de alto nivel, es decir, que es más cercano al idioma humano. A diferencia de Java u otros lenguajes más científicos o antiguos como Fortran, es más intuitivo para el desarrollo de aplicaciones. Actualmente está siendo muy utilizado en geología, no únicamente en geología estructural, sino también en el tratamiento de datos geoquímicos y de leyes minerales, geotecnia, entre otros. Una ventaja de su uso es que es de licencia libre. Mejor aún, al ser el código de entendimiento universal existe una comunidad mundial que mantiene un estándar en su diseño, generando también librerías especializadas para tareas particulares.

Como geólogos, contar con soluciones computacionales que nos permitan tener información objetiva debidamente interpretada es una necesidad constante. Los rumbos y buzamientos medidos en estratos y fallas son de vital importancia para la determinación cinemática de fallas geológicas en un afloramiento; incluso tales datos son argumentos para establecer una correcta sección estructural. Por ejemplo, los plugins de QGIS «stereonet» y «qprof» están escritos en Python. El primer plugin permite trabajar datos estructurales en ciclográficas en tiempo real con QGIS, mientras que el segundo ayuda a generar perfiles topográficos y restaurar datos estructurales (según buzamientos aparentes).

Otra ventaja muy importante de la estereografía en Python como aplicación geológica es que no necesita contar con un programa libre o de pago instalado en el computador. ¿Qué significa esto?, implica que únicamente es necesario contar con un entorno de ejecución online u offline para escribir el código de Python. Los entornos más populares son Google Colab y Jupiter, el primero es online y el segundo puede funcionar tanto online como offline. Los resultados que se planean obtener son independientes del entorno de ejecución, además para realizar el ploteo estereográfico es posible que no siempre se utilice el mismo código, pero sí se requerirán algunas librerías básicas como NumPy, Pandas, matplotlib y mplstereonet. Ahora que nos encontramos en la era de ChatGPT es más sencillo generar una guía de Python para la ejecución del código, herramienta que es muy ventajosa para quienes no tienen suficiente experiencia escribiendo en Python.

Para mostrar un ejemplo, en el siguiente gráfico se tiene un conjunto de datos estructurales medidos en estratos y fallas en formato de tablas separados por comas (CSV). Tales mediciones se han extraído de la tablas de datos pertenecientes a mi tesis de maestría y tienen el formato de la regla de la mano derecha. Empleando la ejecución de código sencillo de Python es posible obtener:

Geologia 3D -aplicaciones geologicas estereografia en python- 1
Estereografía en Python: datos estructurales (rumbos y buzamientos de estratos y fallas) proyectados sobre ciclográficas utilizando Python dentro del entorno de ejecución de Google Colab. El código que se observa en la parte superior del gráfico sirve para plotear los datos de estratos (bedding), el mismo proceso se emplea para la proyección estereográfica de las fallas.

Una vez que las ciclográficas han sido proyectadas, luego pueden llevarse a cualquier formato de dibujo (JPG, PNG o SVG) para su personalización y presentación en los informes geológicos. Para trabajar con nueva información, solo basta con mantener el código Python y generar una nueva redirección hacia la base de datos CSV de las fallas.

La estereografía en Python es un recurso sumamente valioso al momento de procesar datos estructurales en geología. Utilizar esta herramienta moderna reduce considerablemente el tiempo que hace años se invertía en proyectar los datos estructurales a mano sobre el papel, y esto se hacía incluso sacrificando la precisión de los cálculos estructurales por error humano. Pero sí, como aplicación geológica hay que ser cautelosos con la estereografía en Python, debido a que este lenguaje no determina la calidad de los datos estructurales. Por lo que una buena práctica es primero revisar, depurar y validar las bases de datos estructurales para su posterior proyección computacional.