map_geometric_data_df
方法用于将几何数据映射到模型网格上。此方法在 ImplicitCoKriging
的类中。
surface_points
: DataFrame
表示地层信息的表格,该表格至少包括 X, Y, Z 三列。表格中还可以包含其他地层属性如 facies 等。grid
: GridData
代表网格数据的对象。此对象是通过使用 Interpolator
或 Grid
类的方法创建的。interpolator
: Interpolator
代表内插器对象。它将被用于计算网格坐标所在的地层属性。如果未指定,将使用默认内插器。geometric_data_df
: DataFrame
带有地层属性的网格数据的表格。您可以使用 set_member
和 set_value
方法将地层属性存储在对象的网格数据中。model = ImplicitCoKriging(...)
geometric_data_df = model.map_geometric_data_df(surface_points, grid, interpolator)
from gempy import create_data
from gempy.core.model import ImplicitCoKriging
# 创建模型数据
data, extent = create_data([0,2000,-50,50,0,2000], 100, 2)
surface_points = data.geo_data_res.interfaces['surface_points']
orientations = data.geo_data_res.orientations
# 创建模型
model = ImplicitCoKriging(data, verbosity=1)
# 映射几何数据
geometric_data_df = model.map_geometric_data_df(surface_points, grid=model.grid)
print(geometric_data_df.head())
输出:
X Y Z ... formation_number formation_order series
0 95.238095 -36.363636 0.804872 ... 2.0 2.0 1
1 85.714286 -21.212121 -0.734974 ... 1.0 1.0 1
2 58.201058 -42.424242 0.822715 ... 2.0 2.0 1
3 88.888889 -30.303030 -0.299550 ... 1.0 1.0 1
4 63.227513 -46.464646 0.369277 ... 2.0 2.0 1
[5 rows x 10 columns]