gempy
gempy.core.model.Project
gempy.core.model.Project.add_featuresgempy.core.model.Project.add_orientationsgempy.core.model.Project.add_seriesgempy.core.model.Project.add_surface_pointsgempy.core.model.Project.add_surface_valuesgempy.core.model.Project.add_surfacesgempy.core.model.Project.delete_featuresgempy.core.model.Project.delete_orientationsgempy.core.model.Project.delete_seriesgempy.core.model.Project.delete_surface_pointsgempy.core.model.Project.delete_surface_points_basementgempy.core.model.Project.delete_surface_valuesgempy.core.model.Project.delete_surfacesgempy.core.model.Project.get_active_gridsgempy.core.model.Project.get_additional_datagempy.core.model.Project.get_datagempy.core.model.Project.load_model_picklegempy.core.model.Project.map_geometric_data_dfgempy.core.model.Project.map_series_to_surfacesgempy.core.model.Project.map_stack_to_surfacesgempy.core.model.Project.modify_kriging_parametersgempy.core.model.Project.modify_optionsgempy.core.model.Project.modify_order_featuresgempy.core.model.Project.modify_order_seriesgempy.core.model.Project.modify_order_surfacesgempy.core.model.Project.modify_orientationsgempy.core.model.Project.modify_rescaling_parametersgempy.core.model.Project.modify_surface_pointsgempy.core.model.Project.modify_surface_valuesgempy.core.model.Project.new_modelgempy.core.model.Project.read_datagempy.core.model.Project.rename_featuresgempy.core.model.Project.rename_seriesgempy.core.model.Project.rename_surfacesgempy.core.model.Project.rename_featuresgempy.core.model.Project.reorder_seriesgempy.core.model.Project.save_modelgempy.core.model.Project.savel_model_picklegempy.core.model.Project.save_solutiongempy.core.model.Project.set_active_gridgempy.core.model.Project.set_bottom_relationgempy.core.model.Project.set_centered_gridgempy.core.model.Project.set_custom_gridgempy.core.model.Project.set_default_orientationgempy.core.model.Project.set_default_surface_pointgempy.core.model.Project.set_default_surfacesgempy.core.model.Project.set_extentgempy.core.model.Project.set_fault_objectgempy.core.model.Project.set_fault_relationgempy.core.model.Project.set_grid_objectgempy.core.model.Project.set_is_faultgempy.core.model.Project.set_is_finite_faultgempy.core.model.Project.set_orientationsgempy.core.model.Project.set_orientations_objectgempy.core.model.Project.set_regular_gridgempy.core.model.Project.set_section_gridgempy.core.model.Project.set_series_objectgempy.core.model.Project.set_surface_order_from_solutiongempy.core.model.Project.set_surface_pointsgempy.core.model.Project.set_surface_points_objectgempy.core.model.Project.set_surface_valuesgempy.core.model.Project.set_surfaces_objectgempy.core.model.Project.set_theano_functiongempy.core.model.Project.set_theano_graphgempy.core.model.Project.set_topographygempy.core.model.Project.update_additional_datagempy.core.model.Project.update_from_gridgempy.core.model.Project.update_from_seriesgempy.core.model.Project.update_from_surfacesgempy.core.model.Project.update_structuregempy.core.model.Project.update_to_interpolatorgempy.core.model.Project.additional_datagempy.core.model.Project.faultsgempy.core.model.Project.gridgempy.core.model.Project.interpolatorgempy.core.model.Project.orientationsgempy.core.model.Project.rescalinggempy.core.model.Project.seriesgempy.core.model.Project.stackgempy.core.model.Project.surface_pointsgempy.core.model.Project.surfaces
gempy.core.model.ImplicitCoKriging
gempy.core.model.ImplicitCoKriging.add_featuresgempy.core.model.ImplicitCoKriging.add_orientationsgempy.core.model.ImplicitCoKriging.add_seriesgempy.core.model.ImplicitCoKriging.add_surface_pointsgempy.core.model.ImplicitCoKriging.add_surface_valuesgempy.core.model.ImplicitCoKriging.add_surfacesgempy.core.model.ImplicitCoKriging.delete_featuresgempy.core.model.ImplicitCoKriging.delete_orientationsgempy.core.model.ImplicitCoKriging.delete_seriesgempy.core.model.ImplicitCoKriging.delete_surface_pointsgempy.core.model.ImplicitCoKriging.delete_surface_points_basementgempy.core.model.ImplicitCoKriging.delete_surface_valuesgempy.core.model.ImplicitCoKriging.delete_surfacesgempy.core.model.ImplicitCoKriging.get_active_gridsgempy.core.model.ImplicitCoKriging.map_geometric_data_dfgempy.core.model.ImplicitCoKriging.map_series_to_surfacesgempy.core.model.ImplicitCoKriging.map_stack_to_surfacesgempy.core.model.ImplicitCoKriging.modify_kriging_parametersgempy.core.model.ImplicitCoKriging.modify_optionsgempy.core.model.ImplicitCoKriging.modify_order_featuresgempy.core.model.ImplicitCoKriging.modify_order_seriesgempy.core.model.ImplicitCoKriging.modify_order_surfacesgempy.core.model.ImplicitCoKriging.modify_orientationsgempy.core.model.ImplicitCoKriging.modify_rescaling_parametersgempy.core.model.ImplicitCoKriging.modify_surface_pointsgempy.core.model.ImplicitCoKriging.modify_surface_valuesgempy.core.model.ImplicitCoKriging.rename_featuresgempy.core.model.ImplicitCoKriging.rename_seriesgempy.core.model.ImplicitCoKriging.rename_surfacesgempy.core.model.ImplicitCoKriging.reorder_featuresgempy.core.model.ImplicitCoKriging.reorder_seriesgempy.core.model.ImplicitCoKriging.set_active_gridgempy.core.model.ImplicitCoKriging.set_bottom_relationgempy.core.model.ImplicitCoKriging.set_centered_gridgempy.core.model.ImplicitCoKriging.set_custom_gridgempy.core.model.ImplicitCoKriging.set_default_orientationgempy.core.model.ImplicitCoKriging.set_default_surface_pointgempy.core.model.ImplicitCoKriging.set_default_surfacesgempy.core.model.ImplicitCoKriging.set_extentgempy.core.model.ImplicitCoKriging.set_fault_objectgempy.core.model.ImplicitCoKriging.set_fault_relationgempy.core.model.ImplicitCoKriging.set_grid_objectgempy.core.model.ImplicitCoKriging.set_is_faultgempy.core.model.ImplicitCoKriging.set_is_finite_faultgempy.core.model.ImplicitCoKriging.set_orientationsgempy.core.model.ImplicitCoKriging.set_orientations_objectgempy.core.model.ImplicitCoKriging.set_regular_gridgempy.core.model.ImplicitCoKriging.set_section_gridgempy.core.model.ImplicitCoKriging.set_series_objectgempy.core.model.ImplicitCoKriging.set_surface_order_from_solutiongempy.core.model.ImplicitCoKriging.set_surface_pointsgempy.core.model.ImplicitCoKriging.set_surface_points_objectgempy.core.model.ImplicitCoKriging.set_surface_valuesgempy.core.model.ImplicitCoKriging.set_surfaces_objectgempy.core.model.ImplicitCoKriging.set_theano_functiongempy.core.model.ImplicitCoKriging.set_theano_graphgempy.core.model.ImplicitCoKriging.set_topographygempy.core.model.ImplicitCoKriging.update_additional_datagempy.core.model.ImplicitCoKriging.update_from_gridgempy.core.model.ImplicitCoKriging.update_from_seriesgempy.core.model.ImplicitCoKriging.update_from_surfacesgempy.core.model.ImplicitCoKriging.update_structuregempy.core.model.ImplicitCoKriging.update_to_interpolatorgempy.core.model.ImplicitCoKriging.additional_datagempy.core.model.ImplicitCoKriging.faultsgempy.core.model.ImplicitCoKriging.gridgempy.core.model.ImplicitCoKriging.interpolatorgempy.core.model.ImplicitCoKriging.orientationsgempy.core.model.ImplicitCoKriging.rescalinggempy.core.model.ImplicitCoKriging.seriesgempy.core.model.ImplicitCoKriging.stackgempy.core.model.ImplicitCoKriging.surface_pointsgempy.core.model.ImplicitCoKriging.surfaces
gempy.core.data_modules.stack.Stack
gempy.core.data_modules.stack.Series
gempy.core.data_modules.stack.Faults
gempy.core.data.Surfaces
gempy.core.data.Structure
gempy.core.data.KrigingParameters
gempy.core.data.Options
gempy.core.data.AdditionalData
gempy.core.data.Grid
gempy.core.grid_modules.grid_types.RegularGrid
gempy.core.grid_modules.grid_types.CustomGrid
gempy.core.grid_modules.topography.Topography
gempy.core.grid_modules.grid_types.Sections
gempy.core.grid_modules.grid_types.CenteredGrid
gempy.core.data_modules.geometric_data.SurfacePoints
gempy.core.data_modules.geometric_data.Orientations
gempy.core.interpolator.InterpolatorModel
gempy.core.interpolator.InterpolatorModel.calculate_Vgempy.core.interpolator.InterpolatorModel.calculate_tzgempy.core.interpolator.InterpolatorModel.compile_th_fn_geogempy.core.interpolator.InterpolatorModel.crate_theano_graphgempy.core.interpolator.InterpolatorModel.get_python_input_blockgempy.core.interpolator.InterpolatorModel.modify_results_matrices_progempy.core.interpolator.InterpolatorModel.modify_results_weightsgempy.core.interpolator.InterpolatorModel.print_theano_sharedgempy.core.interpolator.InterpolatorModel.remove_series_without_datagempy.core.interpolator.InterpolatorModel.reset_flow_control_initial_resultsgempy.core.interpolator.InterpolatorModel.set_all_shared_parametersgempy.core.interpolator.InterpolatorModel.set_flow_controlgempy.core.interpolator.InterpolatorModel.set_initial_resultsgempy.core.interpolator.InterpolatorModel.set_initial_results_matricesgempy.core.interpolator.InterpolatorModel.set_theano_graphgempy.core.interpolator.InterpolatorModel.set_theano_shared_Vs_kernelgempy.core.interpolator.InterpolatorModel.set_theano_shared_fault_relationgempy.core.interpolator.InterpolatorModel.set_theano_shared_faultsgempy.core.interpolator.InterpolatorModel.set_theano_shared_gravitygempy.core.interpolator.InterpolatorModel.set_theano_shared_gridgempy.core.interpolator.InterpolatorModel.set_theano_shared_is_faultgempy.core.interpolator.InterpolatorModel.set_theano_shared_is_finitegempy.core.interpolator.InterpolatorModel.set_theano_shared_kriginggempy.core.interpolator.InterpolatorModel.set_theano_shared_l0_l1gempy.core.interpolator.InterpolatorModel.set_theano_shared_loopgempy.core.interpolator.InterpolatorModel.set_theano_shared_magnetic_ctsgempy.core.interpolator.InterpolatorModel.set_theano_shared_magneticsgempy.core.interpolator.InterpolatorModel.set_theano_shared_nuggetsgempy.core.interpolator.InterpolatorModel.set_theano_shared_onlap_erodegempy.core.interpolator.InterpolatorModel.set_theano_shared_pos_densitygempy.core.interpolator.InterpolatorModel.set_theano_shared_pos_magneticsgempy.core.interpolator.InterpolatorModel.set_theano_shared_relationsgempy.core.interpolator.InterpolatorModel.set_theano_shared_structuregempy.core.interpolator.InterpolatorModel.set_theano_shared_structure_surfacesgempy.core.interpolator.InterpolatorModel.set_theano_shared_topologygempy.core.interpolator.InterpolatorModel.set_theano_shared_tz_kernelgempy.core.interpolator.InterpolatorModel.set_theano_shared_weights
gempy.core.interpolator.InterpolatorGravity
gempy.core.solution.Solution

create_data

功能

create_data 是 Gempy 中一个数据生成工具,主要用于生成用于训练和测试模型的三维地质数据。该工具可以生成各种地质特征(如地层结构、岩层类型、断层、褶皱等)并输出为 GeMpy 自定义的 HDF5 格式文件。

使用方法

该工具可以在 Python 环境中使用,调用方式为:

gempy.create_data(
    extent: Tuple[float, float, float, float, float, float],
    resolution: float,
    path_o: str,
    path_i: Optional[str] = None,
    path_f: Optional[str] = None,
    n_faults: int = 0,
    **kwargs
) -> pd.DataFrame

其中,参数含义如下:

  • extent(必需):一个六元 tuple,表示生成地质数据的空间范围。依次为 xmin, xmax, ymin, ymax, zmin, zmax
  • resolution(必需):生成数据的分辨率,即每个单元格的尺寸(单位为米)。
  • path_o(必需):指定输出 HDF5 文件的路径和文件名。
  • path_i(可选):指定输入 HDF5 文件的路径和文件名。如果给定该参数,则会利用该文件中的地质特征生成新的数据,而不是随机生成。
  • path_f(可选):指定储存随机生成数据的文件的路径和文件名。
  • n_faults(可选):生成数据中包含断层的数量。默认为 0。
  • kwargs(可选):一系列用于指定生成数据的参数。具体参数和含义详见下文。

产生的输出

该函数会将生成的地质数据以 GeMpy 自定义的 HDF5 格式储存到指定路径下的文件中。该文件中的数据可以直接用于 GeMpy 本身的训练和测试,也可以以普通 HDF5 文件的方式供其他程序使用。

参数说明

create_data 的额外参数(kwargs 中参数)如下所示:

  • layer_heights(可选):一个列表,表示每一层地层的高度(单位为米)。列表长度即为生成的地层数量。默认为 [2, 2, 2]
  • layer_type(可选):一个列表,表示每一层的岩层类型。每个元素必须是该参数集合 {"Igneous", "Metamorphic", "Sedimentary", "Volcaniclastic", "Mixed"} 中的一个。列表长度即为生成的地层数量。默认为 ["Sedimentary", "Sedimentary", "Sedimentary"]
  • layer_inclinations(可选):一个列表,表示每一层的倾角,以度数表示。列表长度即为生成的地层数量。默认为 [0, 0, 0]
  • layer_dips(可选):一个列表,表示每一层的倾向,以度数表示。列表长度即为生成的地层数量。默认为 [0, 0, 0]
  • mean_strikes(可选):一个列表,表示每个断层 (fault) 的平均走向,以度数表示。列表长度即为生成数据中包含的断层数量。默认为 [180]
  • mean_dips(可选):一个列表,表示每个断层 (fault) 的平均倾角,以度数表示。列表长度即为生成数据中包含的断层数量。默认为 [40]
  • mult_lith(可选):一个布尔值,表示是否允许不同类型的岩层在同一个单元格内共存。默认为 False
  • intrusion_geometry(可选):一个字符串,表示侵入体的类型。该参数必须是该参数集合 {"sphere", "dyke", "sheet"} 中的一个。默认为 None,表示没有侵入体。
  • intrusion_mode(可选):一个字符串或列表,表示侵入体的形式。该参数必须是该参数集合 {"layers", "random", "regular"} 中的一个。默认为 None,表示没有侵入体。
  • skewness(可选):一个浮点数,表示生成数据的偏斜度。默认为 0
  • col_var_strat(可选):一个浮点数,表示生成数据中各层地层厚度的变化系数。默认为 1

返回值

该函数会返回一个 Pandas DataFrame,包含生成的地质数据。该返回值通常仅在调试和测试时使用。

示例

以下是一个使用 create_data 的示例:

import gempy

extent = [-50, 50, -50, 50, -50, 50]
resolution = 1
path_o = "example_model.h5"
n_faults = 1

gempy.create_data(extent, resolution, path_o, n_faults=n_faults)

这将生成包含默认参数设置的随机地质数据,并将其存储到 example_model.h5 文件中。如果需要生成指定参数的数据,则可以修改 kwargs 中的相应参数。