距离计算
使用说明
距离计算可用于计算源数据到点、线、或面的距离,可计算指定查询范围内点、线或面到被计算数据的距离,计算结果保存在一个新的属性表中,字段包括:源数据点的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 |