叠加分析

使用说明

叠加分析是 GIS中的一项非常重要的空间分析功能,是指在统一空间参考系统下,通过对两个数据集进行的一系列集合运算,产生新数据集的过程。

在分布式矢量叠加分析中涉及三个数据集:被叠加数据集(也被称作第一数据集)的类型可以是点、线、面,叠加数据集(也被称作第二数据集)仅支持面数据集,最后是叠加结果数据集,包含叠加后数据的几何信息和属性信息。

分布式矢量叠加分析提供普通【叠加分析】和【DSF叠加分析】两种功能,差别在于输入的数据源不同:

【叠加分析】能够输入从多种矢量数据源读取的数据集,如SHP、PostGIS、Oracle等;

【DSF叠加分析】仅能够输入从SuperMap DSF数据源中读取的数据集。DSF是一种为分布式计算优化过的矢量数据存储方式,能够显著提高大数据量的计算性能,在千万级及以上的矢量叠加中更推荐此种方法。

叠加类型

分布式矢量叠加分析支持的叠加类型有:

  • 裁剪Clip:从被裁剪(被叠加)数据集中提取部分特征集合,只有落在裁剪(叠加)数据集多边形内的对象才会被输出到结果数据集中。

overlayClip

  • 相交Intersect:待求交(被叠加)数据集的特征对象在与交(叠加)数据集中的多边形相交处被分割(点对象除外),结果数据集保留原来两个数据集的重叠部分。

overlayintersect

  • 擦除Erase:擦除数据集(叠加)定义了擦除区域,被擦除数据集(被叠加)中凡是落在这些多边形区域内的特征要素都将被去除,而落在多边形区域外的特征要素都被保留,与Clip运算相反。

overlayerase

  • 一致Identity:同一运算结果图层范围与第一数据集(被叠加)的范围相同,但是包含来自第二数据集(叠加)的几何形状和属性数据。

overlayIdentity

  • 更新Update:更新运算是用更新(叠加)图层替换与被更新(被叠加)图层的重合部分,结果数据集中保留了更新数据集的几何形状和属性信息。

overlayUpdate

  • 异或差XOR:对于被叠加数据的每一个面对象,去掉其与叠加数据相交的部分,保留剩下的部分。

overlayXOR

  • 合并Union:合并后的图层保留两个数据集所有图层要素。进行合并运算后,两个面数据集在相交处多边形被分割,且两个数据集的几何和属性信息都被输出到结果数据集中。

overlayUnion

节点容限

在叠加分析的过程当中,存在一个节点捕捉的过程,节点容限设定了节点捕捉的容忍程度。当数据中两点的距离小于节点容限时,会被认为是同一个节点,从而进行合并节点的操作;而距离大于节点容限的点则保留不变。因此,数据制作的精度越高,需要设置的节点容限越小,但当节点容限越小时,分析所需的耗时越长,应根据需要设定节点容限值。

分布式叠加分析工具给出了默认容限的设置,在大多数情况下能保证数据的无损和高效计算,对于不同坐标系下的数据,默认容限有所不同:

  • 数据集坐标系为地理坐标系时,使用 1.0e-7 为默认节点容限
  • 数据集坐标系为空或为投影坐标系时,使用 1.0e-2 为默认节点容限

参数说明

参数名 默认值 参数释义 参数类型
源数据 被叠加的源数据 FeatureRDD
叠加数据集 叠加数据集,只支持面数据集 FeatureRDD
被叠加的源数据中需要保存的字段名称集合
(可选)
被叠加的源数据中需要保存的字段名称集合 String
叠加数据集中保存的字段名称集合
(可选)
叠加数据集中保存的字段名称集合。Clip、Erase、Update模式无需设置该参数。 String
叠加分析运算类型 叠加分析运算类型:Clip:裁剪,源数据支持点线面。Intersect:相交,源数据支持点线面。 Erase:擦除, 源数据支持点线面。Identity:一致,源数据支持点线面。Update:更新, 源数据支持面。 XOR:异或差,源数据支持面。 Union:合并, 源数据支持面。 JavaSpatialOperatorType
节点容限
(可选)
0.0 节点容限。默认值是 0.0。当容限小于 1.0e-10 时,如果数据集的坐标系为地理坐标系时,将使用1.0e-7 的节点容限,当坐标系为空或投影坐标系时,使用 1.0e-2 的节点容限。 Double
是否进行拓扑预处理
(可选)
true 是否进行拓扑预处理,只对源数据为面数据有效,默认为 true Boolean
是否返回单一几何对象
(可选)
true 线面进行 Clip , Intersect 和 Identity 时,如果线在多个面对象内(面对象有重叠)或边界处,返回一个线对象或者返回多个线对象,即如果设置为 true,则返回一个线对象,如果设置为 false,则返回多个独立的线对象。 Boolean