update_structure_from_input
是 gempy.core.data.Structure
类的一个方法。该方法的作用是根据用户输入更新结构模型。
def update_structure_from_input(self, surface_points=None, orientations=None, surface_values=None, update_all=True):
该方法有四个参数,其中 self
表示当前 gempy.core.data.Structure
类的实例。
surface_points
(ndarray):一个形状为 (N, 3)
的数组,其中 N 表示地层表面的点数。数组的每一行是x,y,z坐标轴上的位置。orientations
(ndarray):一个形状为 (M, 4)
的数组,其中 M 表示包含方向信息的样本数量。数组的每一行是x、y、z坐标轴上的方向向量和倾角。surface_values
(ndarray):一个形状为 (N,)
的数组,其中 N 表示地层表面的点数。这个数组中存储了地层数据的真实高程。update_all
(bool):一个布尔值,表示是否更新所有地层表面。如果是 True
,该方法将更新所有表面;如果是 False
,则仅更新最后添加的表面。该函数没有返回值。
import gempy as gp
geo_model = gp.create_model('example')
layer = gp.create_surface(geo_model, 'layer1')
gp.map_stack_to_surfaces(geo_model, {'layer1': 'layer_series'},
remove_unused_series=True)
layer.add_points([[0, 0, 1], [1, 1, 0], [2, 2, 0.5], [3, 3, 1]],
[0, 1.1, 1, 0])
geo_model.update_structure_from_input()
在上面的示例中,我们首先创建了一个名为 geo_model
的模型,并创建了名为 layer1
的表面。然后,我们将 layer1
分配给地层系列 layer_series
,并使用 add_points
方法为其添加了四个新的地层表面点。最后,我们调用 update_structure_from_input
方法来更新结构模型。
self.series_reg.grid.reg.grid[:, 0]
中没有任何列,则会抛出 IndexError 异常。该方法由 Gempy 开发团队于 2021 年开发和维护。