距离累积 (Spatial Analyst 工具)
汇总
计算每个像元到源的累积距离,允许直线距离、成本距离、真实表面距离以及垂直和水平成本系数。
用法
输入源数据可以是要素类或栅格。 要素类可以是点、线或面。
当输入源数据是栅格时,源像元集包括具有有效值的源栅格中的所有像元。 具有 NoData 值的像元不包括在源集内。 零是有效值。 可使用提取工具创建源栅格。
当输入源数据是要素类时,源位置在执行分析之前从内部转换为栅格。 栅格的分辨率可以由像元大小环境来控制。 默认情况下,如果未在工具中指定任何其他栅格,分辨率将由输入空间参考中输入要素范围的宽度与高度中的较大值除以 1,000 来确定。
当输入源数据为要素数据时,如果输出像元大小相对于输入中的详细信息较为粗略,则必须注意输出像元大小的处理方式。 内部栅格化过程将使用与要素转栅格工具相同的默认 像元分配类型值方法,即像元中心法。 这意味着,不在像元中心的数据将不会包含在中间栅格化源输出中,因此也不会在距离计算中表示出来。 例如,如果源是一系列相对于输出像元大小偏小的面,如建筑物覆盖区,则可能只有一部分面会落入输出栅格像元的中心,从而导致分析中会缺少其他大部分面。
为避免出现这种情况,在中间步骤,您可以使用要素转栅格工具直接将输入要素栅格化并设置 字段参数。 然后将生成的输出用作希望使用的特定距离工具的输入。 或者,您可以选择一个小的像元大小以从输入要素中捕获适当量的详细信息。
障碍是必须绕过的障碍物。 可以通过两种方式对其进行定义。
对于 输入栅格或要素障碍参数,障碍可以由具有有效值的像元或由转换为栅格的要素数据表示。 如果障碍仅由对角像元连接,则将加厚障碍以使其具有不可透性。
障碍也由以下输入中 NoData 像元所在的位置定义: 输入成本栅格、 输入表面栅格、 输入垂直栅格和 输入水平栅格。 如果 NoData 仅由对角像元连接,则将用其他 NoData 像元对其进行加厚,使其成为不可透性障碍。
如果 输入表面栅格值具有垂直坐标系 (VCS),则将表面栅格的值视为采用 VCS 的单位。 如果 输入表面栅格值不具有 VCS,并且已投影数据,则将表面值视为采用空间参考的线性单位。 如果 输入表面栅格值不具有 VCS,并且未投影数据,则将表面值视为以米为单位。 最终的距离累积结果以每线性单位的成本为单位,或如果不引入成本,则以线性单位为单位。
如果成本栅格值为负值或零,则该值无效,但将被视为较小的正值。 累积成本算法是一个相乘的过程,如果成本值为负或零,则无法正确计算累积成本。
如果成本栅格包含这些值,并且这些位置表示要从分析中排除的区域,则在运行工具之前,将这些像元更改为 NoData。 您可以使用设为空工具执行此操作。
NoData 值在此分析中会被视为障碍,因此所有输入为 NoData 的位置在结果中都将为 NoData。
如果源位于任意对应的输入栅格中的 NoData 上,则在分析中会将其忽略,因此,不会计算距该源的距离。
垂直系数修饰属性的默认值如下:
Keyword Zero Low High Slope Power Cos Sec factor cut cut power power angle angle ------------------------ ------ ----- ----- ----- ----- ----- ----- Binary 1.0 -30 30 ~ ~ ~ ~ Linear 1.0 -90 90 1/90 ~ ~ ~ Symmetric linear 1.0 -90 90 1/90 ~ ~ ~ Inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Symmetric inverse linear 1.0 -45 45 -1/45 ~ ~ ~ Cos ~ -90 90 ~ 1.0 ~ ~ Sec ~ -90 90 ~ 1.0 ~ ~ Cos_sec ~ -90 90 ~ ~ 1.0 1.0 Sec_cos ~ -90 90 ~ ~ 1.0 1.0 Hiking time ~ -70 70 ~ ~ ~ ~ Bidirectional hiking time ~ -70 70 ~ ~ ~ ~坡向工具的输出可以用作 输入水平栅格参数的输入。
水平系数修饰属性的默认值如下:
Keywords Zero factor Cut angle Slope Side value -------------- ----------- ----------- ----- --------- Binary 1.0 45 ~ ~ Forward 0.5 45 (fixed) ~ 1.0 Linear 0.5 181 1/90 ~ Inverse linear 2.0 180 -1/90 ~源的特征,或者往返于源的移动体,可以通过以下参数进行控制:
初始累积用于在移动开始之前设置初始成本。
最大累积用于设置源在到达极限前可累积多少成本。
成本乘数用于指定出行模式或源的量级。
行驶方向可确定移动是否从源开始并移动至非源位置,或从非源位置移动回源。
如果使用字段指定任一源特征参数,则根据源数据字段的信息,源特征将应用于各个源。 当提供关键字或常量值时,将应用于所有源。
如果指定了 初始累积参数值,则输出成本距离表面上的源位置将设置为该值;否则,输出成本距离表面上的源位置将设置为零。
当在全球范围内执行距离分析时,为了在全球范围内正确处理投影边缘,请确保将圆柱投影或地理输出坐标系与 距离方法参数的 测地线选项配合使用。
如果未指定范围环境设置,则通过以下方式确定处理范围:
如果仅指定了 输入栅格或要素源和 输入栅格或要素障碍值,则将输入的并集(每侧扩展两个像元宽度)用作处理范围。 输出栅格扩展两行和两列的原因是,如此可以使得输出用于最佳路径为线和最佳路径为栅格工具,并且生成的路径可以绕障碍移动。 要将范围用作隐式障碍,必须在环境设置中显式设置范围值。
如果指定,处理范围将是 输入表面栅格、 输入成本栅格、 输入垂直栅格或 输入水平栅格参数值的交集。
分析掩膜环境可以设置为要素或栅格数据集。 如果掩膜为要素,它将被转换为栅格。 具有值的像元定义了位于掩膜区域内的位置。 NoData 像元定义了位于掩膜区域外的位置,并将被视为障碍。
如果未指定像元大小或捕捉栅格环境设置,并且指定了多个栅格作为输入,则像元大小和捕捉栅格环境将根据此优先顺序进行设置: 输入成本栅格、 输入表面栅格、 输入垂直栅格、 输入水平栅格、 输入栅格或要素源和 输入栅格或要素障碍。
该工具支持并行处理。 如果您的计算机具有多个处理器或处理器具有多个内核,则会获得更好的性能,特别是处理较大数据集时。 使用 Spatial Analyst 进行并行处理帮助主题提供了有关此功能及其配置方法的详细信息。
使用并行处理时,将写入临时数据以管理正在处理的数据区段。 默认的临时文件夹位置在您的本地
C:驱动器上。 您可以通过设置名为 TempFolders 的系统环境变量并指定要使用的文件夹路径(例如,E:\RasterCache),来控制此文件夹的位置。 如果您具有计算机管理权限,还可以使用注册表项(例如,[HKEY_CURRENT_USER\SOFTWARE\ESRI\ArcGISPro\Raster])。默认情况下,此工具将使用可用内核数的 50%。 如果输入数据大小小于 5,000 * 5,000 个像元,则会使用更少的内核。 您可以控制该工具用于并行处理因子环境的内核数。
当输出栅格格式为
.crf时,此工具支持金字塔栅格存储环境。 默认情况下,将在输出中创建金字塔。 对于任何其他输出格式,不支持此环境,并且不会创建金字塔。有关适用于此工具的地理处理环境的详细信息,请参阅分析环境和 Spatial Analyst。
参数
| 标注 | 说明 | 数据类型 |
|---|---|---|
|
输入栅格或要素源 |
输入源位置。 此为栅格或要素(点、线或面),用于标识在计算每个输出像元位置的最小累积成本距离时将使用的像元或位置。 对于栅格,输入类型可以为整型或浮点型。 |
Raster Layer; Feature Layer |
|
输入栅格和要素障碍 (可选) |
定义障碍的数据集。 可通过整型栅格或浮点型栅格,或通过点、线或面要素来定义障碍。 对于栅格障碍,该障碍必须具有有效值(包括零),并且非障碍区域必须为 NoData。 |
Raster Layer; Feature Layer |
|
输入表面栅格 (可选) |
定义每个像元位置的高程值的栅格。 这些值用于计算经过两个像元时所涉及的实际表面距离。 |
Raster Layer |
|
输入成本栅格 (可选) |
定义以平面测量的经过每个像元所需的阻抗或成本。 每个像元位置上的值表示经过像元时移动每单位距离所需的成本。 每个像元位置值乘以像元分辨率,同时也会补偿对角线移动来获取经过像元的总成本。 成本栅格的值可以是整型或浮点型。 如果成本栅格值为负值或零,则该值无效,但将被视为较小的正成本值。 |
Raster Layer |
|
输入垂直栅格 (可选) |
定义每个像元位置的 z 值的栅格。 这些 z 值用于计算坡度,而坡度用于标识在不同的像元之间移动时产生的垂直系数。 |
Raster Layer |
|
垂直系数 (可选) |
指定垂直成本系数和垂直相对移动角度 (VRMA) 之间的关系。 有若干个带有修饰属性的系数可用于标识定义的垂直系数图。 此外,可使用表格来创建自定义图表。 这些图表用于标识在计算移动到相邻像元的总成本时的垂直系数。 在下面的选项描述中,将使用两个英文首字母缩写词:VF 表示垂直系数,用于定义从一个像元移至下一像元时所遇到的垂直阻力;VRMA 表示垂直相对移动角度,用于定义“起始”像元或处理像元与“终止”像元之间的坡度角度。 选项如下:
垂直关键字的修饰属性如下:
|
Vertical Factor |
|
输入水平栅格 (可选) |
定义每个像元的水平方向的栅格。 在栅格上的这些值必须是整数,以北纬 0 度(或朝向屏幕顶部)为起始值,范围为 0 至 360,顺时针增加。 平坦区域应赋值为 -1。 每个位置上的值与 水平系数参数结合使用,用来确定在相邻像元之间移动时产生的水平成本。 |
Raster Layer |
|
水平系数 (可选) |
指定水平成本系数和水平相对移动角度 (HRMA) 之间的关系。 有若干个带有修饰属性的系数可用于标识定义的水平系数图。 此外,可使用表格来创建自定义图表。 这些图表用于标识在计算移动到相邻像元的总成本时的水平系数。 在下面的选项描述中,将使用两个英文首字母缩写词:HF 表示水平系数,用于定义从一个像元移动到下一像元时所遇到的水平阻力;HRMA 表示水平相对移动角度,用于定义像元的水平方向与移动方向之间的角度。 选项如下:
水平系数的修饰属性如下:
|
Horizontal Factor |
|
输出反向栅格 (可选) |
反向栅格中包含以度为单位的计算方向。 该方向可用于识别沿最短路径返回最近源同时避开障碍的下一像元。 值的范围是 0 度到 360 度,并为源像元保留 0 度。 正东是 90 度,且值以顺时针方向增加(180 是南方、270 是西方、360 是北方)。 输出栅格为浮点类型。 |
Raster Dataset |
|
输出源方向栅格 (可选) |
源方向栅格将最小积累成本源像元的方向标识为方位角(以度为单位)。 值的范围是 0 度到 360 度,并为源像元保留 0 度。 正东是 90 度,且值以顺时针方向增加(180 是南方、270 是西方、360 是北方)。 输出栅格为浮点类型。 |
Raster Dataset |
|
输出源位置栅格 (可选) |
源位置栅格为多波段输出。 第一个波段包含行索引,第二个波段包含列索引。 这些索引用于标识相距最小积累成本距离的源像元的位置。 |
Raster Dataset |
|
初始累积 (可选) |
开始进行成本计算的初始累积成本。 适用于与源相关的固定成本规范。 成本算法将从此值开始,而非从零成本开始。 值必须大于等于零。 默认值为 0。 |
Double; Field |
|
最大累积 (可选) |
源的旅行者的最大累积。 每个源的成本计算将在达到指定累积后停止。 值必须大于零。 默认累积为到输出栅格边的边。 |
Double; Field |
|
成本乘数 (可选) |
要应用于成本值的乘数。 可将其用于控制源的出行或放大模式。 乘数越大,在每个像元间移动的成本将越大。 值必须大于零。 默认值为 1。 |
Double; Field |
|
行驶方向 (可选) |
当应用水平和垂直系数时,指定旅行者的方向。 如果选择 字符串选项,您可以选择将应用于所有源的“从”和“到”选项。 如果选择 字段选项,您可以选择可确定各个源使用方向的来自源数据的字段。 字段必须包含文本字符串
|
String; Field |
|
距离法 (可选) |
指定是否使用平面(平地)或测地线(椭球)方法计算距离。
|
String |
返回值
| 标注 | 说明 | 数据类型 |
|---|---|---|
|
输出距离累积栅格 |
输出距离栅格。 输出栅格为浮点型。 |
Raster |
环境
自动提交, 像元大小, 像元大小投影方法, 压缩, 当前工作空间, 范围, 地理变换, 掩膜, 输出配置关键字, 输出坐标系, 并行处理因子, 金字塔, 临时工作空间, 捕捉栅格, 分块大小
许可信息
- 基本: 需要 Spatial Analyst
- 标准: 需要 Spatial Analyst
- 高级: 需要 Spatial Analyst