首页 / 浏览问题 / 组件GIS / 问题详情
如何判断两个DatasetVector能否相交
6EXP 2023年03月02日
如何判断两个DatasetVector能否相交

1个回答

您好,请问您使用的数据集 DatasetVector 是二维矢量数据集还是三维模型数据集呢?关于二维矢量数据集和三维数据集分别有以下方式可以判断是否存在相交,详细接口的使用说明建议参考 SuperMap iObjects 组件帮助文档:

  1. 二维矢量数据集:
    1. 空间查询 Intersect 相交模式,有结果记录返回即存在相交;
    2. 叠加分析 OverlayAnalyst 提供了 Intersect 接口,返回为 true 即存在相交;
    3. 基本几何运算类 Geometrist 提供了 Intersect 接口,需要遍历两个数据集的几何对象进行求交,任意存在求交结果即存在相交。
  2. 三维数据集:
    1. 三维空间查询 SpatialQuery3D 相交模式 Intersects,需要遍历一个数据集的记录,返回集合有值即存在相交(需注意:三维空间查询目前仅支持:三维点与模型、模型与模型之间的空间位置查询);
    2. 三维几何对象布尔运算 BooleanOperator3D 提供了 Intersect 接口用于计算模型之间是否存在相交;
    3. 三维几何基本运算类 Geometrist3D 提供了 HasIntersection 接口用于计算三维体对象是否存在相交(需注意:1. 仅支持三维体对象,包括 GeoBox(长方体)、GeoCone(圆锥体)、GeoSphere(球体)、GeoHemiSphere(半球体)、GeoCylinder(圆台)、GeoEllipsoid(椭球体)、GeoPieCylinder(饼台)、GeoPyramid(四棱锥)等三维规则几何体,以及 GeoModel(三维模型);2. 参与该运算的三维体必须是闭合的)。

希望可以帮到您。

2,073EXP 2023年03月02日
...