“距离分配”工具根据直线距离、成本距离、真实表面距离以及垂直和水平成本系数计算每个像元到输入源的距离分配。
将输出托管影像图层。
示例
此工具的应用场景示例如下:
- 识别由外业工作人员负责的分配区域。
- 识别已分配给短尾猫栖息地的区域。
用法说明
当在全球范围内执行距离分析时,为了正确处理投影的边,请确保将圆柱投影或地理输出坐标系与距离方法参数的测地线选项配合使用。
“距离分配”包括输入图层、距离设置和结果图层的配置。
输入图层
输入图层组包括以下参数:
输入源栅格或要素用于指定标识源的栅格或要素图层,工具将计算这些源的距离分配。 您可以使用图层按钮选择图层,或使用绘制输入要素按钮创建草图图层以用作输入。 对于要素输入,要素计数将显示在图层名称下方。 计数将包含图层中的所有要素,已使用过滤器进行移除的要素除外。 环境设置(例如处理范围)不会反映在要素计数中。
如果输入是栅格,则它必须由具有源的有效值(零是有效值)的像元组成,并且必须为其余的像元指定 NoData。
如果输入是要素图层,则它可以是点、线或面。
当输入源数据是要素时,源位置在执行分析之前从内部转换为栅格。
栅格的分辨率可以由像元大小环境控制。 默认情况下,如果未在工具中指定任何其他栅格,分辨率将由输入空间参考中输入要素范围的宽度与高度中的较小值除以 250 来确定。
为避免出现这种情况,在中间步骤,您可以使用要素转栅格工具直接将输入要素栅格化并设置值字段参数。 然后将生成的输出用作希望使用的距离工具的输入。
如果源位于任意对应的输入栅格中的 NoData 上,则在分析中会将其忽略,因此,不会从该源计算距离分配。
在使用要素数据作为输入源时,请注意输出像元的大小是否相对于输入数据中的细节过于粗糙。 内部栅格化过程使用像元中心方法作为像元分配类型。 这意味着,不在像元中心的数据将不会包含在中间栅格化源输出中,因此也不会在距离计算中表示出来。 例如,如果源是一系列相对于输出像元大小偏小的面,如建筑物覆盖区,则可能只有一部分面会落入输出栅格像元的中心,从而导致分析中会缺少其他大部分面。
为避免出现这种情况,在中间步骤,您可以使用要素转栅格工具直接将输入要素栅格化并设置值字段参数。 然后将生成的输出用作希望使用的距离工具的输入。 或者,您可以选择一个小的像元大小以从输入要素中捕获适当量的详细信息。
输入源字段用于向源位置分配值。 该字段必须为整型。
可选图层组包括以下参数:
输入障碍栅格或要素是定义障碍的数据集。 障碍是必须绕过的障碍物。 它们可以定义为栅格或要素。
您可以使用图层按钮选择图层,或使用绘制输入要素按钮创建草图图层以用作输入。 对于要素输入,要素计数将显示在图层名称下方。 计数将包含图层中的所有要素,已使用过滤器进行移除的要素除外。 环境设置(例如处理范围)不会反映在要素计数中。
对于栅格图层,输入类型可以是整型或浮点型。 任何拥有值(包括零)的像元都将被视为障碍。 任何 NoData 像元都不会被视为障碍。
对于要素,输入可以为点、线或面。 在执行处理之前,要素输入将在内部转换为栅格。
如果障碍仅由对角像元连接,则将加厚障碍以使其具有不可透性。
障碍也由输入成本栅格、输入表面栅格、输入垂直栅格和输入水平栅格参数中存在的 NoData 像元的位置定义。 如果 NoData 像元仅由对角像元连接,则将用其他 NoData 像元对其进行加厚,使其成为不可透性障碍。
输入表面栅格是定义每个像元位置的高程值的栅格。
这些值用于计算经过两个像元时所涉及的实际表面距离。
如果输入表面栅格参数具有垂直坐标系 (VCS),则将表面栅格的值视为采用 VCS 的单位。 如果表面栅格不具有 VCS,并且已投影数据,则将表面值视为采用空间参考的线性单位。 如果表面栅格不具有 VCS,并且未投影数据,则将表面值视为以米为单位。 最终的距离累积结果以每线性单位的成本为单位,或如果不引入成本,则以线性单位为单位。
输入成本栅格用于定义在每个像元间进行平面移动所需的阻抗或成本。
每个像元位置上的值表示经过像元时移动每单位距离所需的成本。 每个像元位置值乘以像元分辨率,同时也会补偿对角线移动来获取经过像元的总成本。
成本栅格的值可以是整型或浮点型。 如果成本栅格值为负值或零,则该值无效,但将被视为较小的正成本值。 累积成本算法是一个相乘的过程,如果成本值为负或零,则无法正确计算累积成本。 如果成本栅格包含这些值,并且这些位置表示要从分析中排除的区域,则在运行工具之前,将这些像元更改为 NoData。 您可以使用设为空工具执行此操作。 NoData 值在此分析中会被视为障碍,因此所有输入为 NoData 的位置在结果中都将为 NoData。
距离设置
距离设置组包括以下参数组:
距离方法指定是使用平面(平地)方法还是测地线(椭圆体)方法计算距离。
- 平面 - 将使用 2D 笛卡尔坐标系对投影平面执行距离计算。 这是默认方法。
- 测地线 - 距离计算将在椭圆体上执行。 无论输入或输出投影设置如何,结果均不会改变。
垂直移动组包括以下参数:
输入垂直栅格是定义每个像元位置的 z 值的栅格。
这些 z 值用于计算坡度,而坡度用于标识在不同的像元之间移动时产生的垂直系数。
垂直系数用于定义垂直成本系数和垂直相对移动角度之间的关系。
有若干个带有修饰属性的系数可用于标识定义的垂直系数图。 这些图表用于标识在计算移动到相邻像元的总成本时的垂直系数。
在下面的描述中,VF 用于定义从一个像元移至下一像元时所遇到的垂直阻力;VRMA 修饰属性用于定义来自源像元与到源像元之间的斜率角度。
垂直系数参数类型如下所示:
- 二元 - 如果 VRMA 大于交角的下限且小于交角的上限,则将 VF 设置为与零系数相关联的值;否则为无穷大。
- 线性 - VF 是 VRMA 的线性函数。
- 逆线性 - VF 是 VRMA 的逆线性函数。
- 对称线性 - 无论在 VRMA 正侧还是负侧,VF 均为 VRMA 的线性函数,并且这两个线性函数关于 VF (y) 轴对称。
- 对称逆线性 - 无论在 VRMA 正侧还是负侧,VF 均为 VRMA 的逆线性函数,并且这两个线性函数关于 VF (y) 轴对称。
- Cos - VF 为 VRMA 的余弦函数。
- Sec - VF 为 VRMA 的正割函数。
- Cos-Sec - 当 VRMA 为负时,VF 为 VRMA 的余弦函数;当 VRMA 为非负时,VF 为 VRMA 的正割函数。
- Sec-Cos - 当 VRMA 为负时,VF 为 VRMA 的正割函数;当 VRMA 为非负时,VF 为 VRMA 的余弦函数。
- 徒步旅行时间 - VF 通过托布勒函数的倒数定义垂直成本系数与 VRMA 之间的关系,从而得出以小时为单位的徒步旅行时间。
- 双向徒步旅行时间 - VF 通过双向徒步旅行函数定义垂直成本系数和 VRMA 之间的关系。
垂直系数参数的修饰符如下所示:
- 零系数 - VRMA 为零时要使用的垂直系数。 该系数可确定指定函数的 y 截距。 按照定义,零系数对于任意三角垂直函数(Cos、Sec、Cos-Sec 或 Sec-Cos)都不适用。 y 截距由以上函数定义。
- 交角下限 - 一个 VRMA 角度,小于该角度时 VF 将被设置为无穷大。
- 交角上限 - 一个 VRMA 角度,大于该角度时 VF 将被设置为无穷大。
- 斜率 - 与线性和逆线性参数相结合使用的直线斜率。 斜率被指定为垂直增量与水平增量的比值(例如,45 百分比坡度是 1/45,以 0.02222 的方式输入)。
垂直系数修饰属性的默认值如下:
函数 零系数 交角下限 交角上限 坡度 幂 Cos 幂 Sec 幂 二进制
1
-30
30
N/A
N/A
N/A
N/A
线性
1
-90
90
1.111E-02
N/A
N/A
N/A
逆线性
1
-45
45
-2.222E-02
N/A
N/A
N/A
对称线性
1
-90
90
1.111E-02
N/A
N/A
N/A
对称逆线性
1
-45
45
-2.222E-02
N/A
N/A
N/A
Cos
N/A
-90
90
N/A
1
N/A
N/A
Sec
N/A
-90
90
N/A
1
N/A
N/A
Cos - Sec
N/A
-90
90
N/A
N/A
1
1
Sec - Cos
N/A
-90
90
N/A
N/A
1
1
徒步旅行时间
N/A
-70
70
N/A
N/A
N/A
N/A
双向徒步旅行时间
N/A
-70
70
N/A
N/A
N/A
N/A
水平移动组包括以下参数:
输入水平栅格是定义每个像元的水平方向的栅格。
在栅格上的这些值必须是整数,以北纬 0 度(或朝向屏幕顶部)为起始值,范围为 0 至 360,顺时针增加。 平坦区域应赋值为 -1。 每个位置上的值与水平系数值结合使用,用于确定在相邻像元之间移动时产生的水平成本。
水平系数用于定义水平成本系数与水平相对移动角度之间的关系。
有若干个带有修饰属性的系数可用于标识定义的水平系数图。 这些图表用于标识在计算移动到相邻像元的总成本时的水平系数。
在下面的描述中,水平系数 (HF) 用于定义从一个像元移动到下一像元时所遇到的水平阻力;水平相对移动角度 (HRMA) 用于定义像元的水平方向与移动方向之间的角度。
水平系数参数类型如下所示:
- 二元 - 如果 HRMA 小于交角,则将 HF 设置为与零系数相关联的值;否则为无穷大。
- 前向 - 只允许向前的移动。 HRMA 必须大于等于 0 度且小于 90 度 (0 <= HRMA < 90)。 如果 HRMA 大于 0 度且小于 45 度,则将像元的 HF 设置为与零系数相关联的值。 如果 HRMA 大于等于 45 度,则使用边值修饰属性值。 对于 HRMA 等于或大于 90 度的任何情况,均将 HF 设置为无穷大。
- 线性 - HF 是 HRMA 的线性函数。
- 逆线性 - HF 是 HRMA 的逆线性函数。
水平系数参数的修饰符如下所示:
- 零系数 - HRMA 为 0 时使用的水平系数。 该系数可确定任意水平系数函数的 y 截距。
- 交角 - 一个 HRMA 角度,大于该角度时 HF 将被设置为无穷大。
- 斜率 - 与线性和逆线性水平系数关键字相结合使用的直线斜率。 斜率被指定为垂直增量与水平增量的比值(例如,45 百分比坡度是 1/45,以 0.02222 的方式输入)。
- 边值 - 在指定了前向水平系数关键字的情况下,HRMA 大于或等于 45 度且小于 90 度时的 HF。
水平系数修饰属性的默认值如下:
函数 零系数 交角 坡度 边值 二进制
1
45
N/A
N/A
向前
0.5
N/A
N/A
1
线性
0.5
181
1.111E-02
N/A
逆线性
2
180
-1.111E-02
N/A
源特征组包括下列参数:
如果使用字段指定任一源特征值,则根据给定源数据字段的信息,源特征将应用于各个源。 当提供关键字或常量值时,将应用于所有源。
初始累积是开始进行成本计算的初始累积成本。
如果指定了初始累积值,则输出成本距离表面上的源位置将设置为初始累积值;否则,输出距离累积栅格上的源位置将设置为零。
值必须大于等于零。 默认值为 0。
最大累积是源的旅行者的最大累积。
每个源的成本计算将在达到指定累积后停止。
值必须大于零。 默认累积为到输出栅格边的边。
成本乘数是要应用于成本值的乘数。
可将其用于控制源的出行或放大模式。 乘数越大,在每个像元间移动的成本将越大。
值必须大于零。 默认值为 1。
行进方向用于在应用水平和垂直系数时指定旅行者的方向。
来自源 - 水平系数和垂直系数将应用于从输入源开始并行驶至非源像元的情况。 这是默认设置。
到源 - 水平系数和垂直系数将应用于从每个非源像元开始并行驶回输入源的情况。
指定将应用于所有源的来自源或到源关键字,或指定包含用于确定各个源行驶方向关键字的源数据字段。 该字段必须包含 FROM_SOURCE 或 TO_SOURCE 字符串。
结果图层
结果图层组包括以下参数:
输出距离分配栅格名称是栅格的名称,此栅格用于指示每个像元可到达的最近源或最低成本源。
名称必须唯一。 如果组织中已存在具有相同名称的图层,则工具将执行失败并提示您使用其他名称。
可选图层组包括以下参数:
输出距离累积栅格名称是输出栅格的名称,该栅格包含每个像元距最低成本源的累积距离。
- 输出反向栅格名称是可选输出栅格的名称,该栅格包含以度为单位的计算方向。
- 输出源方向栅格名称是可选输出栅格的名称,该栅格将最低积累成本源像元的方向标识为以度为单位的方位角。
- 输出源位置栅格名称是可选输出栅格的名称,该栅格将源位置标识为多波段输出。
每个可选输出的名称必须唯一。 如果组织中已存在具有相同名称的任何图层,则工具将执行失败并提示您使用其他名称。
- 保存在文件夹中将指定我的内容中将用于保存结果的文件夹的名称。
环境
分析环境设置是影响工具执行结果的附加参数。 可以从环境设置参数组访问工具的分析环境设置。
此工具支持以下分析环境:
输出
此工具包括以下输出:
输出距离分配栅格名称图层指示每个像元可到达的最近源或最低成本源。
输出距离累积栅格名称图层记录每个像元距离最低成本源的累积距离。
栅格为浮点型。
输出反向栅格名称图层可记录计算得出的反向方向(以度为单位)。 该方向可用于识别沿最短路径返回最近源同时避开障碍的下一像元。
值的范围是 0 度到 360 度,并为源像元保留 0 度。 正东(右侧)是 90 度,且值以顺时针方向增加(180 是南方、270 是西方、360 是北方)。
栅格为浮点型。
-
输出源方向栅格名称图层将最低积累成本源像元的方向记录为方位角(以度为单位)。
值的范围是 0 度到 360 度,并为源像元保留 0 度。 正东(右侧)是 90 度,且值以顺时针方向增加(180 是南方、270 是西方、360 是北方)。
栅格为浮点型。
输出源位置栅格名称图层将源位置标识为多波段输出。 第一个波段包含行索引,第二个波段包含列索引。
这些索引用于标识相距最小积累成本距离的源像元的位置。
使用要求
该工具需要以下用户类型和配置:
- Creator、Professional 或 Professional Plus 用户类型
- 发布者或管理员角色,或等效的自定义角色
- 针对具有高级功能许可的栅格分析对组织进行配置时可用
参考资料
- Douglas, D. "Least-cost Path in GIS Using an Accumulated Cost Surface and Slopelines", Cartographica: The International Journal for Geographic Information and Geovisualization, 1994, Vol. 31, No. 3, DOI: 10.3138/D327-0323-2JUT-016M
- Goodchild, M.F. "An evaluation of lattice solutions to the problem of corridor location", Environment and Planning A: Economy and Space, 1977, Vol. 9, pages 727-738
- Sethian, J.A.. "Level Set Methods and Fast Marching Methods", Evolving Interfaces in Computational Geometry, Fluid Mechanics, Computer Vision, and Materials Science, Cambridge University Press, 2nd Edition, 1999
- Warntz, W. "Transportation, Social Physics, and the Law Of Refraction", The Professional Geographer, 1957, Vol. 9, No. 4, pages 2-7
- Zhao, H. "A fast sweeping method for Eikonal equations", Mathematics off Computation, 2004, Vol. 74, No, 250, pages 603-627
资源
请通过以下资源了解更多详细信息:
- 距离分配的工作原理
- ArcGIS REST API 中的距离分配
- ArcGIS API for Python 中的 distance_allocation
- 具有 Raster Analysis 扩展模块的 ArcGIS Pro 中的距离分配
- 具有 Spatial Analyst 扩展模块的 ArcGIS Pro 中的距离分配