Skip to content

implicit_modeling

应用层:lib/exploitation/implicit_modeling.py

隐式建模 — 隐式地层建模。 直接调用 native/exploitation.py,不经过 _adapter。 允许类型:np.ndarray、List、Pydantic 模型、标量 禁止类型:Dm*

ImplicitModeling

隐式建模 — 隐式地层建模

推荐用法(无需实例化)

param = ImplicitStratumModelingParam( ... data=ImplicitStratumDataParam( ... drill_file=r"F:\测试数据\建模测试数据\钻孔数据库.dmd", ... layer_table="分层表", ... layer_table_field="地层", ... layer_sequence=["泥盆纪地层", "志留纪地层", "寒武纪地层"], ... ) ... ) ImplicitModeling.stratum_modeling(param)

Source code in dimine_python_sdk\lib\exploitation\implicit_modeling.py
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
class ImplicitModeling:
    """
    隐式建模 — 隐式地层建模

    推荐用法(无需实例化)
    --------------------
    >>> param = ImplicitStratumModelingParam(
    ...     data=ImplicitStratumDataParam(
    ...         drill_file=r"F:\\测试数据\\建模测试数据\\钻孔数据库.dmd",
    ...         layer_table="分层表",
    ...         layer_table_field="地层",
    ...         layer_sequence=["泥盆纪地层", "志留纪地层", "寒武纪地层"],
    ...     )
    ... )
    >>> ImplicitModeling.stratum_modeling(param)
    """

    @staticmethod
    def stratum_modeling(
        param: ImplicitStratumModelingParam,
    ) -> List[Tuple[str, TINGeometry]]:
        """
        隐式地层建模

        Parameters
        ----------
        param : ImplicitStratumModelingParam
            隐式地层建模参数(数据 / 网格 / 估值 / 尖灭厚度)

        Returns
        -------
        List[Tuple[str, TINGeometry]]
            (地层名称, 实体三角网) 列表,按建模顺序排列

        Raises
        ------
        ImplicitStratumModelingError
            底层建模失败或抛出异常时包装
        """
        return implicit_stratum_modeling_impl(param)

stratum_modeling(param) staticmethod

隐式地层建模

Parameters

param : ImplicitStratumModelingParam 隐式地层建模参数(数据 / 网格 / 估值 / 尖灭厚度)

Returns

List[Tuple[str, TINGeometry]] (地层名称, 实体三角网) 列表,按建模顺序排列

Raises

ImplicitStratumModelingError 底层建模失败或抛出异常时包装

Source code in dimine_python_sdk\lib\exploitation\implicit_modeling.py
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
@staticmethod
def stratum_modeling(
    param: ImplicitStratumModelingParam,
) -> List[Tuple[str, TINGeometry]]:
    """
    隐式地层建模

    Parameters
    ----------
    param : ImplicitStratumModelingParam
        隐式地层建模参数(数据 / 网格 / 估值 / 尖灭厚度)

    Returns
    -------
    List[Tuple[str, TINGeometry]]
        (地层名称, 实体三角网) 列表,按建模顺序排列

    Raises
    ------
    ImplicitStratumModelingError
        底层建模失败或抛出异常时包装
    """
    return implicit_stratum_modeling_impl(param)

ImplicitModelingError

Bases: RuntimeError

隐式建模异常基类

Source code in dimine_python_sdk\lib\exploitation\implicit_modeling.py
27
28
class ImplicitModelingError(RuntimeError):
    """隐式建模异常基类"""

ImplicitStratumModelingError

Bases: ImplicitModelingError

隐式地层建模失败

Source code in dimine_python_sdk\lib\exploitation\implicit_modeling.py
31
32
class ImplicitStratumModelingError(ImplicitModelingError):
    """隐式地层建模失败"""

implicit_stratum_modeling_impl(param)

隐式地层建模

Source code in dimine_python_sdk\lib\exploitation\implicit_modeling.py
77
78
79
80
81
82
83
84
85
86
87
88
89
def implicit_stratum_modeling_impl(
    param: ImplicitStratumModelingParam,
) -> List[Tuple[str, TINGeometry]]:
    """隐式地层建模"""
    json_str = json.dumps(param.to_dict(), ensure_ascii=False)
    try:
        result = _native_implicit_stratum_modeling(json_str)
    except Exception as exc:
        raise ImplicitStratumModelingError(f"隐式地层建模失败: {exc}") from exc
    return [
        (item.name, TINGeometry(points=item.tin.points, faces=item.tin.faces))
        for item in result
    ]