需要 Spatial Analyst 许可。
概览
根据直线距离、成本距离、真实表面距离以及垂直和水平成本系数,计算每个单元到所提供的源的距离分配。
这是一个全局栅格函数。
注释
如果您具有源要素,则可以先使用栅格化要素函数将其转换为栅格数据集。 将一致的输入用于该函数的栅格输入。 这将确保使用相同的像元大小、范围和空间参考将这些要素正确转换为栅格数据集。
源栅格中存在的 NoData 值不会被作为函数的有效值的一部分。 值 0 将被视为源栅格中的合法值。 源栅格可使用提取工具或裁剪函数进行创建。
障碍是必须绕过的障碍物。 可以通过两种方式对其进行定义。
对于输入障碍栅格参数,障碍可以由具有有效值的像元或由转换为栅格的要素数据表示。 如果障碍仅由对角像元连接,则将加厚障碍以使其具有不可透性。
障碍也由以下输入中 NoData 像元所在的位置定义:输入成本栅格、输入表面栅格、输入垂直栅格和输入水平栅格。 如果 NoData 仅由对角像元连接,则将用其他 NoData 像元对其进行加厚,使其成为不可透性障碍。
如果输入表面栅格值具有垂直坐标系 (VCS),则将表面栅格的值视为以 VCS 为单位。 如果输入表面栅格值不具有 VCS,并且已投影数据,则将表面值视为以空间参考为线性单位。 如果输入表面栅格值不具有 VCS,并且未投影数据,则将表面值视为以米为单位。 最终的距离累积结果以每线性单位的成本为单位,或如果不引入成本,则以线性单位为单位。
对于输出栅格,至一组源位置的像元的最小成本距离(或最小累积成本距离)是从该像元至全部源位置的最小成本距离范围的下限。
垂直系数修饰属性的默认值如下:
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
坡向函数的输出可以用作水平栅格参数的输入。
水平系数修饰属性的默认值如下:
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 个像元,则会使用更少的内核。 您可以控制该工具用于并行处理因子环境的内核数。
参数
参数名称 | 描述 |
---|---|
源栅格 (必填) | 输入源位置。 此为栅格数据集,用于标识计算每个输出像元位置的最小积累成本距离所依据的像元或位置。 |
源字段 | 用于向源位置分配值的字段。 它必须为整型。 |
栅格障碍 | 定义障碍的栅格。 数据集必须包含没有障碍的 NoData。 障碍由有效值(包括零)表示。 可通过整型栅格、浮点型栅格来定义障碍。 |
表面栅格 |
定义每个像元位置的高程值的栅格。 这些值用于计算经过两个像元时所涉及的实际表面距离。 |
成本栅格 |
定义以平面测量的经过每个像元所需的成本或阻抗。 每个像元位置上的值表示经过像元时移动每单位距离所需的成本。 每个像元位置值乘以像元分辨率,同时也会补偿对角线移动来获取经过像元的总成本。 成本栅格的值可以是整型或浮点型,但不可以为负值或零。 |
垂直栅格 | 定义垂直成本系数和垂直相对移动角度 (VRMA) 之间的关系。 这些 z 值用于计算坡度,而坡度用于标识在不同的像元之间移动时产生的垂直系数。 |
垂直系数 | 定义垂直成本系数和垂直相对移动角度 (VRMA) 之间的关系。 有若干个带有修饰属性的系数可用于标识定义的垂直系数图。 此外,可使用表格来创建自定义图表。 这些图表用于标识在计算移动到相邻像元的总成本时的垂直系数。 在下面的说明中,将使用两个英文首字母缩写:VF 和 VRMA。 VF 表示垂直系数,用于定义从一个像元移至下一像元时所遇到的垂直阻力。 VRMA 表示垂直相对移动角度,用于定义“起始”像元或处理像元与“终止”像元之间的坡度角度。 垂直系数类型如下:
垂直关键字的修饰属性如下:
|
水平栅格 | 定义每个像元的水平方向的栅格。 在栅格上的这些值必须是整数,以北纬 0 度(或朝向屏幕顶部)为起始值,范围为 0 至 360,顺时针增加。 平坦区域应赋值为 -1。 每个位置上的值与水平系数参数结合使用,用来确定在相邻像元之间移动时产生的水平成本。 |
水平系数 | 定义水平成本系数和水平相对移动角度 (HRMA) 之间的关系。 有若干个带有修饰属性的系数可用于标识定义的垂直系数图。 此外,可使用表格来创建自定义图表。 这些图表用于标识在计算移动到相邻像元的总成本时的垂直系数。 在下面的说明中,将使用两个英文首字母缩写:HF 和 HRMA。 HF 表示水平系数,用于定义从一个像元移动到下一像元时所遇到的水平阻力。 HRMA 表示水平相对移动角度,用于定义像元的水平方向与移动方向之间的角度。 水平系数类型包括如下:
水平系数的修饰属性包括以下:
|
源行和列波段 | 确定是否仅创建分配栅格或是否创建多波段结果。
|
初始累积 | 开始进行成本计算的初始累积成本。 此参数适用于与源相关的固定成本规范。 成本算法将从指定的值开始,而非从 0 成本开始。 可将数值(双精度型)或源栅格中的字段用于此参数。 该值必须大于等于零。 默认值为 0。 |
最大累积 | 定义源的行驶者的最大累积成本。 每个源的成本计算将在达到指定容量后停止。 可将数值(双精度型)或源栅格中的字段用于此参数。 值必须大于零。 默认容量是到输出栅格边的容量。 |
要应用于成本的乘数 | 要应用于成本值的乘数。 此参数可用于控制源的出行或放大模式。 乘数越大,在每个像元间移动的成本将越大。 值必须大于零。 默认值为 1。 可将数值(双精度型)或源栅格中的字段用于此参数。 |
行驶方向 | 当应用垂直系数、水平系数和源阻力比率时,定义行驶者的方向。
指定将应用于所有源的来自源或到源关键字,或指定包含用于确定各个源行驶方向关键字的源栅格字段。 该字段必须包含字符串 FROM_SOURCE 或 TO_SOURCE。 |
距离法 | 确定是否使用平面(平地)或测地线(椭球)方法计算距离。
|
环境设置
全局函数的地理处理环境设置可在应用程序级别进行控制。 可通过单击分析选项卡上的环境按钮来设置 AllSource 中的处理环境。 有关环境设置的其他详细信息,请参阅分析环境和 Spatial Analyst。
此全局函数支持以下环境: