在Gempy的ImplicitCoKriging
模块中,delete_surface_points_basement
函数用于删除基底表面(即最低地层)上的点。这些点被删除后,将不再用于地质模型的建立和预测。
delete_surface_points_basement(self)
该函数不需要任何参数。
该函数没有返回值。
在某些情况下,建模者可能需要在地质模型中排除基底表面上的某些点。例如,当模型建立过程中,因为采集数据的问题或者地层信息缺失而导致基底表面出现了不规则和异常的点,这些点就应该删除。
delete_surface_points_basement
函数通过遍历每个点并检查其深度,来删除在基底表面之上的点。在删除这些点后,ImplicitCoKriging
对象的地质网格网格网格将会被更新。
以下是一个示例,演示如何使用delete_surface_points_basement
函数删除基底表面上的点:
import gempy as gp
geo_model = gp.create_model('my_model')
# 在 geo_model 中添加点和面
gp.set_interpolator(geo_model)
gp.add_surface_points(geo_model, x=[0,1,2], y=[0,1,4], z=[0,0,0], surface='surface1')
gp.add_surface_points(geo_model, x=[0,1,2], y=[0,1,4], z=[1,1,1], surface='surface2')
# 将基底表面上的点(即深度为0)删除
geo_model.set_bottom_relation(1)
geo_model.modify_surface_points(geo_model.surfaces.df.index[-1], Z=0) #add an outlier
gp.plot_2d(geo_model, show_data=True, show_lith=True)
geo_model.delete_surface_points_basement() # delete outlier
gp.plot_2d(geo_model, show_data=True, show_lith=True)
执行上述代码后,就会删除基底表面上的点,演示结果如下所示:
<p align="center"> <img src="https://raw.githubusercontent.com/cgre-aachen/gempy/master/docs/_static/examples/1-Fundamentals/4-Anomalies_and_external_information/out/Delete_surface_points_basement.png"> </p>