Skip To Content

计算直线距离

适用于 Image Server

通常情况下,当您思考距离分析时,会想到直线欧氏距离通常。 这是两点之间的最短距离。

直线距离是您在纸质地图上用尺测量的距离。 直线距离不考虑两点之间的表面。 它是鸟类或飞机在表面上方飞行时两点之间的距离。

距离累积是计算直线距离的主要工具。 在最简单的形式中,仅需指定源位置。 对于每个非源像元,工具将计算到最近源位置的直线距离。

表面上用直线连接的两个点

当存在障碍时,直线距离可能发生变化。 另一种改变直线距离的方式是考虑表面上的上下起伏时所遇到的实际距离。

直线距离分析示例

直线距离是最常见的距离计算方式之一,它适用于许多应用,例如:

  • 规划部门确定建议的住宅开发项目是否在湿地的合法缓冲区内。
  • 在鹿适宜性模型中,计算每个位置与溪流的距离,以便将结果距离表面用作输入条件。
  • 在直升机救援受伤远足者时,确定最近医院的位置。
  • 在石油泄漏事件中,识别距离泄漏地点 5000 米以内的所有鸟类筑巢地点。
  • 简单的机场噪音模型可以使用相对于跑道的距离作为中间步长。

直线距离分析

可以在概念上将距离分析分为以下相关功能领域:

下图中从第一个功能区开始展示了直线距离计算。 在该情景中,涉及对四个森林护林员站(紫色点)和一些河流(蓝色线)进行数据采集。

四个点的直线距离地图
每个非源像元到最近护林员站(紫色点)的直线距离。 地图显示的河流(蓝色线)

如下图所示,还可以确定到最近护林员站点的直线方向。

四个点的直线方向地图
每个非源像元到最近护林员站的直线方向。 方向基于罗盘方向(0 到 360)。

创建直线距离栅格

要创建直线距离栅格,请完成以下步骤:

  1. 打开距离累积工具。
  2. 输入栅格或要素源数据参数中提供要计算距离的源。
  3. 对输出距离累积栅格进行命名。
  4. 单击运行

直线距离计算和输出

以下各部分提供了使用距离累积工具计算直线距离时所需的基本信息。

输入源

输入源用于标识将计算距离的位置。 示例源包括道路、溪流、市镇中心、鸟类筑巢地点和湿地。 如果源输入为栅格,则它必须仅包含源像元的值,其他像元必须为 NoData。 如果源输入为要素类,则需在运行工具时将其转换为栅格。

计算

直线距离是从每个非源像元中心到每个源像元中心计算得到的。 为每个非源像元分配到源的最短距离。

概念上,算法的工作原理如下:对于每个非源像元,通过使用 x_max 和 y_max 作为三角形的另外两条边,计算到每个源像元的距离。 此计算得出了真正的直线欧氏距离,而不是确定沿着相邻像元之间构建的边序列的网络距离。 确定到源的最短距离后,如果它小于指定的最大距离,则将为该值分配输出栅格上的像元位置。 如果指定了最大距离,将为任何超过该距离的非源像元分配 NoData。

源像元和非源像元之间的直线距离

距离栅格的输出值为浮点值。 如果一个像元距离两个或多个源的距离相等,则该像元将被分配至在扫描过程中首先遇到的源。

以上描述是对值获取方式的概念性描绘。 实际算法将使用连续的两次扫描程计算信息。 处理时间取决于分析窗口中的像元总数,而不是源像元的数量或源像元的排列方式。

直线距离输出

可以使用距离累积工具创建多个输出栅格。 在计算直线距离时,下面描述了输出值的含义。

距离累积输出栅格

直线距离累积输出栅格用于记录从每个非源像元到最近源的测量距离。 记录的距离值单位是线性单位,如英尺或米,基于输出的空间参考。

返回方向输出栅格

该栅格可标识从像元出发到最近源像元的沿最短路径的行进方向。 如果指定了障碍,则该方向可能与到该像元的直线方向不同。

返回方向栅格提供了每个像元的行进方向。 值的范围是 0 度到 360 度,并为源像元保留 0 度。 正东朝右侧,角度值以顺时针方向增加,因此 90 表示东,180 表示南,270 表示西,360 表示北。

返回方向栅格的一个重要用途是确定两个位置之间的最短路径。 距离累积和返回方向栅格是最佳路径为线最佳路径为栅格工具的必需输入。

源方向输出栅格

源方向栅格将最近源像元的方向标识为方位角(以度为单位)。

它使用与返回方向栅格相同的角度约定,但分配的是整数值而不是浮点值。 除了输出类型之外,如果未指定障碍,源方向和返回方向栅格将产生相同的结果。

距离分配和直线距离

距离分配工具与距离累积工具相关。 所有的参数和输出都是相同的,唯一的区别是距离分配工具还输出了一个分配栅格。 对于每个像元,此栅格将指示该像元达到的最近的源。