该函数用于修改地层表面的属性值。
Project.modify_surface_values(surface_name: str, column_name: str, values: Union[float, np.ndarray])
surface_name
: 要修改属性值的地层表面的名称。column_name
: 要修改的属性值的名称。values
: 要设置的属性值。可以为单个浮点数或者一个包含地层表面上所有点的浮点数数组。无返回值。
import gempy as gp
# 创建项目
geo_model = gp.create_model('tutorial')
# 定义模型网格和数据
gp.init_data(geo_model, [0, 1000, 0, 1000, 0, 1000], [50, 50, 50],
path_i = 'https://raw.githubusercontent.com/cgre-aachen/gempy_data/master/'
'data/input_data/tut_ch6_surface_points.csv',
path_o = 'https://raw.githubusercontent.com/cgre-aachen/gempy_data/master/'
'data/input_data/tut_ch6_orientations.csv')
# 执行地层建模
gp.map_stack_to_surfaces(geo_model, {'Strat_Series': ['rock2', 'rock1'],'Basement_Series': 'basement'}, remove_unused_series=True)
gp.set_interpolation_data(geo_model, compile_theano=True)
# 修改属性值
geo_model.modify_surface_values('rock2', 'values', 2.0)
geo_model.modify_surface_values('rock1', 'values', [2.0, 3.0, 4.0])
# 将地层建模结果输出到VTK文件
gp.compute_model(geo_model)
gp.save_model(geo_model, 'model_results')
上述示例中,首先创建了一个地层建模项目。然后,通过读取csv格式的数据文件定义了模型的网格和数据,执行地层建模过程。最后,通过 modify_surface_values
函数修改了模型中地层表面的属性值。其中,通过设置 values
参数为 2.0
来将表面 rock2
的属性值设置为2.0,并通过设置 values
参数为包含 [2.0, 3.0, 4.0]
的数组来将表面 rock1
的属性值分别设置为2.0,3.0和4.0。最后,地层建模结果保存为VTK格式的文件。
ValueError
: 如果指定的表面或属性值名称不正确,则会引发该异常。