Skip to content

models

BlockModelCommonParams

Bases: ParamModel

块段模型估值通用参数基类(距离幂/克里格共用)

Source code in dimine_python_sdk\lib\prospecting\models.py
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
class BlockModelCommonParams(ParamModel):
    """块段模型估值通用参数基类(距离幂/克里格共用)"""
    sample_file: str = Field(..., description="样品数据文件路径")
    variable: str = Field(..., description="估值变量(如品位字段名)")
    extra_attribute: str = Field(..., description="额外属性字段(如岩性、厚度等)")
    min_value: float = Field(..., description="估值最小值")
    max_value: float = Field(..., description="估值最大值")
    single_block_min: float = Field(..., description="单块最小尺寸")
    single_block_max: float = Field(..., description="单块最大尺寸")
    sub_block_main: float = Field(..., description="子块主方向尺寸")
    sub_block_second: float = Field(..., description="子块次方向尺寸")
    sub_block_short: float = Field(..., description="子块短方向尺寸")
    angle_main: float = Field(..., description="主方向角度(度)")
    angle_second: float = Field(..., description="次方向角度(度)")
    angle_short: float = Field(..., description="短方向角度(度)")
    main_radius: float = Field(..., description="主方向搜索半径")
    second_main_rate: float = Field(..., description="次方向搜索半径比例(相对于主方向)")
    short_main_rate: float = Field(..., description="短方向搜索半径比例(相对于主方向)")
    octant_max: int = Field(..., description="每个八象限最大样品数")
    project_count_min: int = Field(..., description="最小投影方向数量")
    single_project_sample_max: int = Field(..., description="单个投影方向最大样品数")

BlockModelConstraint

Bases: ParamModel

块段模型约束参数结构 用于定义模型计算时的边界约束、范围过滤等条件

Source code in dimine_python_sdk\lib\prospecting\models.py
63
64
65
66
67
68
69
70
71
72
73
class BlockModelConstraint(ParamModel):
    """
    块段模型约束参数结构
    用于定义模型计算时的边界约束、范围过滤等条件
    """
    type: int = Field(default=0, description="约束类型,0 通常表示实体约束")
    file: str = Field(..., description="约束实体文件路径(如 DMF 文件)")
    range: int = Field(default=0, description="约束范围,0 表示使用完整实体范围")
    inside_level: int = Field(default=0, description="内部精度层级(控制约束的精细度)")
    boundary_level: int = Field(default=0, description="边界精度层级(控制边界的精细度)")
    bool_operate: str = Field(default="and", description='布尔运算方式,"and" 表示与其他约束叠加')

BlockModelDistancePowerParams

Bases: BlockModelCommonParams

距离幂估值专属参数类(继承通用参数+新增距离幂特有参数)

Source code in dimine_python_sdk\lib\prospecting\models.py
43
44
45
class BlockModelDistancePowerParams(BlockModelCommonParams):
    """距离幂估值专属参数类(继承通用参数+新增距离幂特有参数)"""
    power: int = Field(..., description="距离幂次(如 2)")

BlockModelKrigingParams

Bases: BlockModelCommonParams

克里格估值专属参数类(继承通用参数+新增克里格特有参数)

Source code in dimine_python_sdk\lib\prospecting\models.py
48
49
50
51
52
53
54
55
56
57
58
59
60
class BlockModelKrigingParams(BlockModelCommonParams):
    """克里格估值专属参数类(继承通用参数+新增克里格特有参数)"""
    krig_type: int = Field(..., description="克里格类型")
    sk: int = Field(..., description="克里格相关参数")
    c0: int = Field(..., description="块金值")
    variational_function: list = Field(
        default_factory=lambda: [{
            "type": 0,
            "range": 22,
            "cc": 0.162586
        }],
        description="变差函数参数列表"
    )

HighGradeProcessParam

Bases: ParamModel

特高品位处理参数

Source code in dimine_python_sdk\lib\prospecting\models.py
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
class HighGradeProcessParam(ParamModel):
    """特高品位处理参数"""
    input_file: str = Field(..., description="输入文件路径")
    grade_field: str = Field(..., description="品位字段名")
    process_mode: Literal[0, 1] = Field(..., description="处理模式(0:国内;1:国外)")
    average_multiple: float = Field(..., description="平均倍数")
    frequency: float = Field(..., ge=0, le=1, description="频率阈值(0-1 之间)")
    replace_method: Literal[0, 1, 2, 3, 4, 5] = Field(
        ..., description="替换方式(0:剔除法,1:给定值,2:相邻样品平均值,3:矿体平均品位法,4:单一工程法,5:截止品位法)"
    )
    assign_value: float = Field(default=0.0, description="给定值方法对应的值")
    adjoin_average: float = Field(default=0.0, description="相邻样品平均值")
    average_method: Literal[0, 1] = Field(default=0, description="平均值计算方式(0:算数平均,1:长度加权平均)")
    contain_mode: Literal[0, 1] = Field(default=0, description="包含模式(0:包含特高品位,1:不包含)")
    result_field: str = Field(..., description="结果字段名")

ModelTransformParams

Bases: ParamModel

创建空块段模型参数

Source code in dimine_python_sdk\lib\prospecting\models.py
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
class ModelTransformParams(ParamModel):
    """创建空块段模型参数"""
    file_name: str = Field(..., description="文件名")
    origin_x: float = Field(..., description="原点 X")
    origin_y: float = Field(..., description="原点 Y")
    origin_z: float = Field(..., description="原点 Z")
    rotate_x: float = Field(..., description="绕 X 轴旋转角度")
    rotate_y: float = Field(..., description="绕 Y 轴旋转角度")
    rotate_z: float = Field(..., description="绕 Z 轴旋转角度")
    size_x: float = Field(..., description="单元块 X 尺寸")
    size_y: float = Field(..., description="单元块 Y 尺寸")
    size_z: float = Field(..., description="单元块 Z 尺寸")
    length_x: float = Field(..., description="X 方向延伸长度")
    length_y: float = Field(..., description="Y 方向延伸长度")
    length_z: float = Field(..., description="Z 方向延伸长度")

ParamModel

Bases: BaseModel

参数模型基类,提供 model_dump 的 to_dict 别名以兼容旧代码

Source code in dimine_python_sdk\lib\prospecting\models.py
 9
10
11
12
13
class ParamModel(BaseModel):
    """参数模型基类,提供 model_dump 的 to_dict 别名以兼容旧代码"""

    def to_dict(self) -> Dict[str, Any]:
        return self.model_dump()

ReservesCalculateParam

Bases: ParamModel

估值算量参数

Source code in dimine_python_sdk\lib\prospecting\models.py
76
77
78
79
80
81
class ReservesCalculateParam(ParamModel):
    """估值算量参数"""
    weight_field: str = Field(..., description="体重字段")
    default_weight: float = Field(..., description="默认体重")
    main_field: str = Field(..., description="主统计字段")
    other_field: str = Field(..., description="其他统计字段")

SampleLengthCombineParam

Bases: ParamModel

样长组合参数

Source code in dimine_python_sdk\lib\prospecting\models.py
105
106
107
108
109
110
class SampleLengthCombineParam(ParamModel):
    """样长组合参数"""
    input_file: str = Field(..., description="输入文件")
    combine_length: float = Field(..., gt=0, description="组合长度,必须大于 0")
    combine_percent: float = Field(default=1.0, ge=0, le=1, description="组合百分比,0-1 之间")
    output_file: str = Field(..., description="输出文件")

StepCombineParam

Bases: ParamModel

台阶组合参数

Source code in dimine_python_sdk\lib\prospecting\models.py
113
114
115
116
117
118
119
120
121
class StepCombineParam(ParamModel):
    """台阶组合参数"""
    input_file: str = Field(..., description="输入文件")
    step_height: float = Field(..., description="台阶高度")
    start_height: float = Field(..., description="开始高程")
    end_height: float = Field(..., description="结束高程")
    calculate_model: int = Field(..., description="计算方式")
    low_dip: float = Field(..., description="忽略的最小倾角")
    output_file: str = Field(..., description="输出文件")