距离计算

使用说明

距离计算可用于计算源数据到点、线、或面的距离,可计算指定查询范围内点、线或面到被计算数据的距离,计算结果保存在一个新的属性表中,字段包括:源数据点的ID,邻近要素ID(点、线或面要素),以及它们之间的距离值。 分布式工具可用于较大数据量的距离计算。

注意:

  • 源数据集与邻近数据集坐标系必须是相同的坐标系,才可进行距离计算,计算结果的距离单位与数据集坐标系单位一致。
  • 当与源对象距离相等的邻近对象为多个时,结果属性表中会同时记录这几个邻近对象的ID和距离。
  • 计算两个对象间距离时,出现包含或(部分)重叠的情况时,距离均为 0。例如点对象在线对象上,或者在面对象内,二者间距离均为 0。
  • 若计算的对象有面对象,则以面对象的边界来计算距离。

应用场景

距离计算功能可查看两组事物间的邻近性关系。例如,若您需要比较多种类型的企业点(如影剧院、快餐店、工程公司或五金商店)与社区问题(乱丢废弃物、打碎窗玻璃、乱涂乱画)所在位置之间的距离,可将搜索限制为一公里来查找关系。然后计算出企业和社区问题的距离将保存到属性表中,该结果用于安排公用垃圾桶或巡警。

使用距离计算还可查找:与受污染井距离在指定范围内的所有水井和距离;补划耕地成果距离居民地、农村、交通路网、以及耕地的最近距离,判断是否符合要求。

参数说明

参数名 默认值 参数释义 参数类型
输入要素数据集   设置源数据集,支持点、线和面数据集作为输入要素数据集。 FeatureRDD
邻近要素数据集   邻近要素数据集,支持点、线和面数据集作为邻近要素数据集。 FeatureRDD
源数据唯一ID字段(可选)   指定一个字段作为源数据集的唯一ID,在结果属性表中用来标识对象。默认使用SmID。 String
邻近数据唯一ID字段(可选)   指定一个字段作为邻近数据集的唯一ID,在结果属性表中用来标识对象。默认为SmID。 String
计算方式(可选) 最近距离 距离计算的计算方式,包括最近距离、范围内距离两种。最近距离:即从源数据集中的点对象出发,根据设置的查询范围,计算查询范围内邻近对象与源对象之间的距离,并记录距离最近的一个或多个对象ID和距离值。 范围内距离:即从源数据集中的每一个点对象出发,计算每个邻近对象与源对象之间的距离,并根据设置的查询范围,返回距离在最大最小范围内的所有对象ID和距离值。 JavaComputeMethod
最小距离 0.0 米 设置最小距离后,只有与源数据集对象距离大于等于最小距离的邻近对象参与计算。该值不可小于0,默认值为0 米。 JavaDistance
最大距离 100.0 米 设置大于0的最大距离后,只有与源数据集对象距离小于等于最大距离的邻近对象参与计算。该值不可小于最小距离,默认为100 米,希望不限制最大距离时,将参数设为-1 米。 JavaDistance

输出结果

参数名 参数释义 参数类型
距离计算结果数据集 距离计算结果属性表。字段包括:源数据ID,邻近要素ID,以及它们之间的距离值,单位与源数据坐标一致。 FeatureRDD