set_values_to_regular_grid
方法将Gempy模型中的编号网格转换为规则二维网格,并在每个网格上插值地设置3D属性的值。转换后的规则二维网格可以作为渲染目标,用于创建等值面或其他可视化应用。
regular_grid: numpy.ndarray
规则的二维网格的坐标数组,依次为x,y。例如,[[0, 0], [0, 1], [1, 1], [1, 0]]
表示一个正方形的二维网格。
property_name: str
属性名称,即需要被诸如线性插值等方式设置值的3D属性。
values: numpy.ndarray
用于设置的属性值数组。
values: numpy.ndarray
已通过插值方式设置好的属性值数组。import gempy as gp
import numpy as np
# 创建Gempy模型并计算模型
geo_model = gp.create_model('test_model')
gp.init_data(geo_model, [0, 1000, 0, 1000, 0, 1000], [50, 50, 50],
path_o='input_data/simple_fault_model_orientations.csv',
path_i='input_data/simple_fault_model_points.csv')
gp.map_stack_to_surfaces(geo_model, {'fault': 'Main_Fault', 'strati': ['Sandstone_2', 'Siltstone', 'Sandstone_1', 'basement']})
# ...
# 创建规则网格
grid_resolution = 25
x = np.linspace(start=0, stop=1000, num=grid_resolution)
y = np.linspace(start=0, stop=1000, num=grid_resolution)
regular_grid = np.array(np.meshgrid(x, y)).T.reshape(-1, 2)
# 转换为等间距(仅用于本示例)
values = np.ones(len(regular_grid))
# 设置网格上的属性值
interpolated_values = geo_model.solutions.set_values_to_regular_grid(regular_grid, 'all', values)
# 对等值面进行渲染等其他应用
# ...