com.supermap.services.components.spi

接口 Spatial3DGridAnalystProvider

  • 所有已知实现类:
    UGCSpatialAnalystProvider


    public interface Spatial3DGridAnalystProvider
    

    三维网格分析服务提供者接口(通用)。

    提供基于 GeoSOT 三维网格类型的低空分析能力。通过 gridType 参数区分不同三维网格类型。

    提供的核心能力包括:

    • 三维网格编码生成 - 根据三维几何对象生成指定类型的三维网格编码字符串
    • 无人机路径规划 - 基于三维网格的三维避障路径规划
    • 三维网格相交查询 - 判断几何对象或数据集的三维网格是否相交
    • 数据集三维网格生成 - 批量将数据集几何转换为三维网格编码并存储

    三维网格类型支持:

    • GEOSOT - GeoSOT 地球剖分三维网格,层级范围 1-32,坐标系 CGCS2000 (SRID: 4490)

    实现要求:

    • 实现类应通过参数中的 gridType 字段动态选择三维网格处理逻辑
    • 当前仅 GEOSOT 类型有完整实现,其他类型可抛出 UnsupportedOperationException
    • 结果对象需填充 gridType 字段,便于客户端识别三维网格类型

    从以下版本开始:
    12.1.0
    另请参阅:
    Spatial3DGridType
    • 方法详细资料

      • generateGeometryGrids3D

        Geometry3DGridsGenerateResult generateGeometryGrids3D(Geometry3DGridGenerateParameter parameter)
        

        生成空间格网编码。

        根据参数中的 gridType 生成对应类型的格网编码字符串。 支持的几何类型:POINT3D(三维点)、LINE3D(三维线)。

        格网层级范围由 gridType 决定:

        • GEOSOT: 1-32

        参数:
        parameter - 格网生成参数,包含:
        • gridType - 格网类型,默认 GEOSOT
        • level - 格网层级
        • geometry - 三维几何对象
        • returnGeometry3D - 是否返回格网几何对象
        返回:
        格网生成结果,包含格网编码列表、格网几何对象(可选)、格网类型等
        抛出:
        java.lang.UnsupportedOperationException - 当 gridType 不支持时抛出
        从以下版本开始:
        12.1.0
      • plan3DGridDronePath

        Drone3DGridPathPlanningResult plan3DGridDronePath(Drone3DGridPathPlanningParameter parameter)
        

        无人机三维路径规划。

        基于三维网格进行三维路径规划,支持避障和多种约束条件。 通过参数中的 gridType 选择三维网格类型进行规划计算。

        支持的特性:

        • 多组起终点同时规划
        • 障碍物配置(禁飞区、建筑物等)
        • 自定义代价区域
        • A* 算法参数调优

        参数:
        parameter - 路径规划参数,包含:
        • gridType - 格网类型,默认 GEOSOT
        • pathPairs - 起终点对列表
        • obstacleConfigs - 障碍物配置列表
        • gridLevel - 格网层级
        • algorithmParams - A* 算法参数
        返回:
        路径规划结果,包含规划路径列表、格网类型等
        抛出:
        java.lang.UnsupportedOperationException - 当 gridType 不支持时抛出
        从以下版本开始:
        12.1.0
      • intersectGeometryGrids3D

        Geometry3DGridIntersectResult intersectGeometryGrids3D(Geometry3DGridIntersectParameter parameter)
        

        计算两个 Geometry 的三维网格相交。

        判断两个三维几何对象在指定层级下的三维网格是否有相交,返回相交的三维网格编码列表。 通过参数中的 gridType 选择三维网格类型。不涉及数据集,纯 Geometry 级别计算。

        参数:
        parameter - 三维网格相交参数,包含:
        • gridType - 三维网格类型,默认 GEOSOT
        • leftGeometry - 左侧三维几何对象
        • leftLevel - 左侧三维网格层级
        • rightGeometry - 右侧三维几何对象
        • rightLevel - 右侧三维网格层级
        • returnGeometry3D - 是否返回三维网格几何对象
        返回:
        三维网格相交结果,包含相交三维网格编码列表、相交状态、三维网格类型等
        抛出:
        java.lang.UnsupportedOperationException - 当 gridType 不支持时抛出
        从以下版本开始:
        12.1.0
      • intersectDatasetGrids3D

        Dataset3DGridIntersectResult intersectDatasetGrids3D(Dataset3DGridIntersectParameter parameter)
        

        计算数据集三维网格相交。

        查询两个数据集或数据集与 Geometry 的三维网格相交情况。 支持两种场景:

        • 数据集 vs 数据集:设置 sourceDatasetInput 和 targetDatasetInput
        • 数据集 vs Geometry:设置 sourceDatasetInput 和 targetGeometryInput

        使用示例:

        参数:
        parameter - 数据集格网相交参数
        返回:
        数据集格网相交结果,包含相交格网编码列表和统计信息
        从以下版本开始:
        12.1.0
      • generateDatasetGrids3D

        Dataset3DGridGenerateResult generateDatasetGrids3D(Dataset3DGridGenerateParameter parameter,
                                                         java.lang.String sourceDataset)
        

        批量生成数据集三维网格编码。

        将数据集内的几何对象转换为指定类型的三维网格编码字符串, 并存入用户指定的结果表中,通过外键连接源数据表。

        使用示例:

        参数:
        parameter - 数据集三维网格生成参数,包含几何列名、ID列名、结果表信息等
        sourceDataset - 源数据集标识,格式为 datasetName@datasourceName
        返回:
        数据集三维网格生成结果,包含处理统计和结果表信息
        从以下版本开始:
        12.1.0