update_structure
是AdditionalData
类中用于更新结构属性的方法。通过该方法,可以轻松地更新地质模型中的任何结构相关信息,包括层位厚度、断层、障碍物等。
def update_structure(self, new_surface_points=None, new_orientations=None, new_surface_names=None, update_surfaces=True, update_orientations=True):
"""
Update the structure data of the current model.
Parameters:
-----------
new_surface_points : pandas DataFrame, optional
New surfaces with their points.
new_orientations : pandas DataFrame, optional
New orientations to be added to the structure.
new_surface_names : list, optional
New surface names given in new surface points.
update_surfaces : bool, optional
If False, surfaces metadata will not be updated. Default True.
update_orientations : bool, optional
If False, orientations metadata will not be updated. Default True.
"""
new_surface_points
:可选,pandas DataFrame
类型,包含新的地质面及其点的信息。new_orientations
:可选,pandas DataFrame
类型,包含需要添加到地质模型中的新方向的信息。new_surface_names
:可选,列表类型,包含在新的地质面点数据中给定的新地质面名称。update_surfaces
:可选,布尔型,如果为 False
,则不会更新地质面元数据。默认为 True
。update_orientations
:可选,布尔型,如果为 False
,则不会更新方向元数据。默认为 True
。import gempy as gp
# Create a new model instance
model = gp.create_model("MyModel")
# Add additional data
gp.init_data(model)
# Set up the model
gp.set_interpolation_data(model, {"x": [0, 100], "y": [0, 100], "z": [0, 100], "default_scaling": 1})
# Define surfaces and orientations
gp.add_surfaces(model, ["sandstone", "shale", "basement"])
gp.add_orientations(model, [0, 0, 0, 90, 90, 0], ["sandstone", "sandstone", "shale", "shale", "basement", "basement"],
["dip", "dip", "dip", "dip", "dip", "dip"],
["east", "west", "east", "west", "east", "west"],
[2, 2, 2, 2, 2, 2])
# Update surface points
new_surface_points = gp.PandasDataFrame({"X": [10, 90, 90, 10],
"Y": [30, 30, 70, 70],
"Z": [30, 30, 30, 30],
"surface": "shale"})
model.additional_data.update_structure(new_surface_points=new_surface_points, update_surfaces=True)
在上面的示例中,我们首先创建了一个新的地质模型实例,并通过init_data
方法初始化了该实例的AdditionalData
对象。然后,我们定义了一些地质面和方向,并使用update_structure
方法更新了一个地质面的点。