Skip to content

Compilado de librerías y utilidades de Python aplicados principalmente a las geociencias.

Notifications You must be signed in to change notification settings

crvillanueva/python-geologia

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 

Repository files navigation

Python Geología

En este repositorio se realiza un compilado de librerías open-source, utilidades y material de Python gratuito con un enfoque en la geología.

Contenidos

numpy logo

NumPy permite el trabajo con matrices y vectores de manera rápida y eficiente. Es una parte clave de numerosas librerías dentro del ecosistema de Python, por ejemplo, encontrándose en el núcleo de la librería pandas.

import numpy as np

a = np.arange(15).reshape(3, 5)

print(a)
array([[ 0,  1,  2,  3,  4],
       [ 5,  6,  7,  8,  9],
       [10, 11, 12, 13, 14]])

pandas logo

Pandas permite la carga, análisis y transformación de información tabular. Con pandas es posible cargar información en forma de CSV, Excel, JSON, GeoJSON entre muchas otros, la que puede ser posteriormente filtrada, clasificada y/o agregada.

Ejemplo de carga de archivo csv
import pandas as pd 

datos = pd.read_csv('data/terremotos.csv') # Lectura del archivo
datos.head(3) # Mostrar solo las primeras 3 entradas
time latitude longitude depth mag magType nst gap dmin rms net id updated place type horizontalError depthError magError magNst status locationSource magSource
0 2019-05-26T07:41:15.073Z -5.8119 -75.2697 122.57 8.0 mww NaN 17 3.180 0.84 us us60003sc0 2021-03-05T19:13:06.497Z 78km SE of Lagunas, Peru earthquake 7.0 4.0 0.036 75.0 reviewed us us
1 2019-03-01T08:50:42.591Z -14.7131 -70.1546 267.00 7.0 mww NaN 42 2.501 1.13 us us1000j96d 2021-04-07T02:19:45.001Z 23km NNE of Azangaro, Peru earthquake 7.6 1.9 0.033 87.0 reviewed us us
2 2019-02-22T10:17:23.770Z -2.1862 -77.0505 145.00 7.5 mww NaN 15 2.045 1.12 us us2000jlfv 2020-07-07T22:52:36.277Z 111km ESE of Palora, Ecuador earthquake 6.2 1.8 0.026 144.0 reviewed us us

geostat logo

Librería con numerosas funciones y herramientas aplicadas a la geoestadística.


Python posee numerosas librerías para la visualización de datos. Algunas de las más populares son:

matplolib logo

Matplotlib permite la creación de visualizaciones estáticas (y también interactivas). Se descataca por una extensa variedad de gráficos disponibles (dispersión, barra, histogramas, entre otros) y una gran capacidad de personalización.

import matplolib.pyplot as plt

# Datos
x_silice = [50.2, 54.3, 60.1, 64.9, 66.2, 71.5]
y_magnesio = [7.4, 3.7, 2.8, 1.7, 0.9, 0.5]

# Creación del gráfico
plt.plot(x_silice, y_magnesio, color='orange', linewidth=2)

# Personalización
plt.xlabel('% $SiO_{2}$')
plt.ylabel('% $MgO$')
plt.grid(alpha=0.4)
plt.tight_layout()

plt.show()

matplotlib ejemplo


numpy logo

Seaborn se enfoca en la visualización estadística, permitiendo establecer fácilmente relaciones entre parámetros. Es posible crear con ella gráficos de alta calidad sin necesidad de personalización adicional.

import seaborn as sns

# Estilo del gráfico
sns.set_theme(style="darkgrid")

# Datos
tips = sns.load_dataset("tips")

# Gráfico
g = sns.jointplot(x="total_bill", y="tip", data=tips,
                  kind="reg", truncate=False,
                  xlim=(0, 60), ylim=(0, 12),
                  color="m", height=7)

seaborn ejemplo


plotly logo

Plotly es una libreria de gráficos interactivos que se destaca por su extensa variedad de gráficos (más de 40), la calidad nativa de sus visualizaciones, y la compatibilidad con el navedor.


Bokeh logo

Otra alternativa para la creación de gráficos interactivos en Python.


geopandas logo

Extiende la funcionalidad de pandas para permitir la manipulación de datos geoespaciales. Permite la carga de formatos GIS comunes (.shp, .geojson, .gpk, entre otros) y el trabajo y reproyección de sistemas de referencia.


geopandas logo

Diseñada para el procesamiento de información geoespacial, la creación de mapas y otros análisis.


geopandas logo

Basada en la librería de javascript leaflet.js utilizada en la creación de mapas livianos e interactivos totalmente compatibles con el navegador. Folium posee numerosos mapas base disponibles como OpenStreetMap, Mapbox, and Stamen entre otros y tienen el potencial de crear mapas con series de tiempo e incluso mapas geológicos.


Modelamiento geológico

gempy logo

Gempy permite la modelación 3D de estructuras geologicas complejas (capas, pliegues, fallas, etc.) pudiendo implementar además modelamiento probabilístico.

seaborn ejemplo


flopy logo

Flopy permite la creación, ejecución y post-proceso de modelos basados en MODFLOW.

Cursos y tutoriales

Libros, blogs y canales de Youtube

Libros

📚 Libros gratuitos generales de Python

Blogs y canales de youtube

  • Hatari Labs Página y canal de youtube con blogs y videotutoriales respecto a SIG, modelamiento y otros. Especial enfoque en la hidrogeologia.
  • cartografo.cl Noticias y videos asociadas a SIG.

Utilidades

About

Compilado de librerías y utilidades de Python aplicados principalmente a las geociencias.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages