Skip to content

Latest commit

 

History

History
319 lines (250 loc) · 10.4 KB

README.md

File metadata and controls

319 lines (250 loc) · 10.4 KB

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