Potentiel field method (2_layers)
[1]:
import gempy as gp
import numpy as np
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
#import os
from geometron.geometries import gdf_to_points_gdf
# Setting options
np.random.seed(1515)
pd.set_option('precision', 2)
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
/tmp/ipykernel_563/3578500329.py in <module>
----> 1 import gempy as gp
2 import numpy as np
3 import pandas as pd
4 import geopandas as gpd
5 import matplotlib.pyplot as plt
ModuleNotFoundError: No module named 'gempy'
Importation of th geopackage into a geodataframe
[2]:
gdf = gpd.read_file('../../../../data/Parties exploitées - Caillette.gpkg', layer = 'Parties exploitées - Caillette')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/4027187940.py in <module>
----> 1 gdf = gpd.read_file('../../../../data/Parties exploitées - Caillette.gpkg', layer = 'Parties exploitées - Caillette')
NameError: name 'gpd' is not defined
Rename of the column “Couche” into “layer”
[3]:
gdf.rename({'Couche ': 'layer'}, axis=1, inplace=True)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/64150993.py in <module>
----> 1 gdf.rename({'Couche ': 'layer'}, axis=1, inplace=True)
NameError: name 'gdf' is not defined
Research and selection of the 2 main layers because others are less important and too isolated
[4]:
gdf = gdf.query('layer=="10 Paumes" or layer=="Caillette"')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/2234924413.py in <module>
----> 1 gdf = gdf.query('layer=="10 Paumes" or layer=="Caillette"')
NameError: name 'gdf' is not defined
Creation of a rectangle which includes the points of the 2 layers
[5]:
from shapely.geometry import Polygon
aoi = Polygon([[153400, 122500], [156400, 122500], [156400, 124250], [153400, 124250], [153400, 122500]])
aoi
[5]:
Clip of the rectangle on the geodataframe
[6]:
gdf = gpd.clip(gdf, aoi, True)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/3850757922.py in <module>
----> 1 gdf = gpd.clip(gdf, aoi, True)
NameError: name 'gpd' is not defined
Plot of the geodataframe
[7]:
gdf.plot(column='layer', legend=True)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/2851015274.py in <module>
----> 1 gdf.plot(column='layer', legend=True)
NameError: name 'gdf' is not defined
Creation of a geodatframe simplier than the first one with only the half of the points because it’s enough
[8]:
gdf['geometry'] = gdf['geometry'].apply(lambda geom: geom.simplify(50))
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/554374802.py in <module>
----> 1 gdf['geometry'] = gdf['geometry'].apply(lambda geom: geom.simplify(50))
NameError: name 'gdf' is not defined
Plot of the second geodataframe
[9]:
gdf.plot(column='layer')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/2402521189.py in <module>
----> 1 gdf.plot(column='layer')
NameError: name 'gdf' is not defined
Creation of the points from the geodataframe
[10]:
gdf_points = gdf_to_points_gdf(gdf, columns=['layer'])
gdf_points.tail()
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/4019922284.py in <module>
----> 1 gdf_points = gdf_to_points_gdf(gdf, columns=['layer'])
2 gdf_points.tail()
NameError: name 'gdf_to_points_gdf' is not defined
Conversion of the geodateframe into a csv file
[11]:
gdf.to_csv('Parties exploitées - Caillette.csv')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/2247996368.py in <module>
----> 1 gdf.to_csv('Parties exploitées - Caillette.csv')
NameError: name 'gdf' is not defined
Creation of the model with boundaries
[12]:
geo_model = gp.create_model('Parties exploitées - Caillette')
geo_model = gp.init_data(geo_model, extent=[gdf_points.bounds.minx.min(), gdf_points.bounds.maxx.max(), gdf_points.bounds.miny.min(), gdf_points.bounds.maxy.max(), gdf_points.geometry.z.min(), gdf_points.geometry.z.max()], resolution=[100, 100, 40])
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/1519064730.py in <module>
----> 1 geo_model = gp.create_model('Parties exploitées - Caillette')
2 geo_model = gp.init_data(geo_model, extent=[gdf_points.bounds.minx.min(), gdf_points.bounds.maxx.max(), gdf_points.bounds.miny.min(), gdf_points.bounds.maxy.max(), gdf_points.geometry.z.min(), gdf_points.geometry.z.max()], resolution=[100, 100, 40])
NameError: name 'gp' is not defined
[13]:
gp.set_interpolator(geo_model, theano_optimizer='fast_compile', verbose=[])
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/3918367731.py in <module>
----> 1 gp.set_interpolator(geo_model, theano_optimizer='fast_compile', verbose=[])
NameError: name 'gp' is not defined
Creation of the surfaces in the right order (from the younger to the older)
[14]:
geo_model.add_surfaces(['Caillette', '10 Paumes','basement'])
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/950895534.py in <module>
----> 1 geo_model.add_surfaces(['Caillette', '10 Paumes','basement'])
NameError: name 'geo_model' is not defined
Creation of the surfaces points passing through each point for each layer
[15]:
for idx, row in gdf_points.iterrows():
geo_model.add_surface_points(row.geometry.x, row.geometry.y,row.geometry.z, surface=row.layer)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/897335102.py in <module>
----> 1 for idx, row in gdf_points.iterrows():
2 geo_model.add_surface_points(row.geometry.x, row.geometry.y,row.geometry.z, surface=row.layer)
NameError: name 'gdf_points' is not defined
[16]:
geo_model.surfaces
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/974260503.py in <module>
----> 1 geo_model.surfaces
NameError: name 'geo_model' is not defined
Creation of the orientation of each points and layers
Here we don’t have enough time to find how calculate the right orientation from points and surface point so we put a vertical orientation
[17]:
for idx, row in gdf_points.iterrows():
geo_model.add_orientations(row.geometry.x, row.geometry.y,row.geometry.z, surface=row.layer, pole_vector=(0, 0, 1))
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/3086682523.py in <module>
----> 1 for idx, row in gdf_points.iterrows():
2 geo_model.add_orientations(row.geometry.x, row.geometry.y,row.geometry.z, surface=row.layer, pole_vector=(0, 0, 1))
NameError: name 'gdf_points' is not defined
[18]:
geo_model.orientations
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/3587606811.py in <module>
----> 1 geo_model.orientations
NameError: name 'geo_model' is not defined
Compilation of the model
[19]:
gp.compute_model(geo_model)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/1433740912.py in <module>
----> 1 gp.compute_model(geo_model)
NameError: name 'gp' is not defined
Plotting of the model
[20]:
gp.plot_2d(geo_model, cell_number=5, legend='force')
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
/tmp/ipykernel_563/19526558.py in <module>
----> 1 gp.plot_2d(geo_model, cell_number=5, legend='force')
NameError: name 'gp' is not defined
Plot the model in 3d
gp.plot_3d(geo_model, kwargs_plot_structured_grid={'opacity': .3})Exportation of the model in vtk format
gp._plot.export_to_vtk(geo_model, './tmp_files/Caillette-10_Paumes')