距离计算

使用说明

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

应用场景

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

使用距离计算还可查找:与受污染井距离在指定范围内的所有水井和距离。

功能入口

  • 空间分析 选项卡-> 矢量分析 -> 邻近分析 ->距离计算
  • 工具箱 -> 矢量分析 工具-> 邻近分析 ->距离计算;(iDesktopX)

参数说明

  • 源数据:

    • 数据源: 选择需进行距离计算的点数据集所在的数据源。
    • 数据集: 选择点数据集或网络数据集,在距离计算时作为起点。若选择网络数据集,则参与计算的数据为其中的节点数据。
    • 过滤表达式: 可以通过过滤表达式来过滤参与对象,使满足条件的点对象参与计算,关于如何使用SQL表达式,请参阅SQL语句查询
  • 邻近数据:

    • 数据源: 选择参与距离计算的邻近数据所在的数据源。
    • 数据集: 选择参与距离计算的邻近数据,可选择点、线、面或网络数据集,在距离计算时作为终点。
    • 过滤表达式: 可以通过过滤表达式来过滤参与对象,使满足条件的对象参与计算,关于如何使用SQL表达式,请参阅SQL语句查询
  • 计算方式: 单击组合框右侧的下拉按钮,可选择距离计算的计算方式,包括最近距离、范围内距离两种。

    • 最近距离: 即从源数据集中的点对象出发,根据设置的查询范围,计算查询范围内邻近对象与源对象之间的距离,并记录距离最近的一个或多个对象ID和距离值。
      若选择的计算方式为“最近距离”,可在“查询范围设置”处勾选最小距离或最大距离复选框,设置距离计算的最小或最大距离值,单位与数据集单位一致。设置最大、最小距离后,只有与源数据集点对象距离大于最小距离、小于最大距离(包括等于)的邻近对象参与计算。
    • 范围内距离: 即从源数据集中的每一个点对象出发,计算每个邻近对象与源对象之间的距离,并根据设置的查询范围,返回距离在最大最小范围内的所有对象ID和距离值。选择“范围内距离”计算方式后,需设置最小、最大距离值,单位与数据集单位一致。

   Distance

注意:

  • 点到线对象的距离,是计算点到整个线对象的最小距离,即在线上找到一点与被计算点的距离最短;同样的,点到面对象的距离,是计算点到面对象的整个边界的最小距离,如下图所示:
    DisMeasure

    • 源数据集与邻近数据集的必须具有相同的坐标系。
    • 计算两个对象间距离时,出现包含或(部分)重叠的情况时,距离均为 0。例如点对象在线对象上,二者间距离为 0。
  • 设置结果数据集保存名称和保存在的数据源:

    • 数据源: 选择结果数据集所要保存在的数据源。
    • 数据集: 输入生成的结果数据集名称,如果输入的数据集名称已经存在,则会提示数据集名称非法,需要重新输入。
  • 设置好以上参数后,点击“运行”按钮,即可执行距离计算操作,下图为计算最近距离的结果数据:
    DisMeasureResult

相关主题

距离计算原理

距离计算应用实例