描述
计算每个像元沿流动路径到它们所流入河流上像元的下坡距离的水平或垂直分量。如果是多个流动路径,则需要计算最小或最大流动距离,以及流动距离的加权平均数。
如果提供可选流向栅格,则下坡方向将限于由输入流向栅格定义的方向。
插图
使用方法
此栅格分析门户工具将在您登录到 ArcGIS Enterprise 时可用,其中门户包含一个 ArcGIS Image Server ,此链接专为 Raster Analysis 配置。调用该工具后,ArcGIS Pro 将充当客户端,处理将在与 ArcGIS Enterprise 联合的服务器中进行。门户工具接受来自门户的图层作为输入,并在门户中创建输出。
输入栅格图层支持来自门户的图层、图像服务的 URI 或 URL 或创建影像服务器图层工具的输出。此工具不支持本地栅格数据或图层。
要限制测量流动距离的下坡方向,请提供一个可选的输入流向栅格,可以使用流向工具获得该栅格。生成可选输入流向栅格时,可以从 D8、D-Infinity (DINF) 和多流向 (MFD) 流动模型中选择。可以使用输入流向类型来指定创建流向栅格时所使用的方法。
如果提供了可选输入流向栅格,则建议使用您将提供给流动距离工具的同一输入表面栅格,通过流向工具来创建该栅格。
如果此输入表面栅格没有凹陷点,则距离测量将测量到由输入流栅格表示的流像元的距离。
如果此输入表面栅格具有凹陷点,则在到达流之前,一些流动路径可能因流入凹陷点而在距离尚短时终止。在此情况下,这些像元的流动距离测量只能计算到其流入的凹陷点像元。
在没有提供可选流向栅格的情况下运行该工具时,会根据每个像元到其所流入的河流上像元的所有可能下坡水流路径,评估流动距离。
如果使用可选 D8 流向栅格来运行该工具,则从每个像元到流上的某个像元可能只有一条下坡流动路径,并将沿此单一流动路径测量流动距离。
建议使用作为工具输入提供的同一输入表面栅格来创建输入流栅格。如果您拥有 Spatial Analyst 扩展模块许可,则可以分别使用流向、流量和条件函数工具从输入表面栅格创建河流栅格。如果您希望使用来自其他数据源的河流,为获得最佳结果,您必须首先将其融入输入表面栅格,然后再运行流动距离工具。
如果从每个像元到其沿流动路径流经的流上的像元存在多个流动路径,请使用统计类型来计算最小或最大流动距离,或流动距离的加权平均数。
如果从每个像元到流上的某个像元只存在单一流动路径,则所有统计类型都将产生相同的结果。
语法
arcpy.ra.FlowDistance(inputStreamRaster, inputSurfaceRaster, outputName, {inputFlowDirectionRaster}, {distanceType}, {flowDirectionType}, {statisticsType})
参数 | 说明 | 数据类型 |
inputStreamRaster | 定义河流网络的输入栅格。 | Raster Layer; Image Service; String |
inputSurfaceRaster | 输入栅格表示连续的表面。 | Raster Layer; Image Service; String |
outputName | 输出流动距离栅格服务的名称。 默认名称基于工具名称以及输入图层名称。如果该图层名称已存在,则系统将提示您提供其他名称。 | String |
inputFlowDirectionRaster (可选) | 根据每个像元来显示流向的输入栅格。 如果提供流向栅格,则下坡方向将限于由输入流向定义的方向。 可使用 D8、MFD 或 DINF 方法创建流向栅格。可以使用 flowDirectionType 参数来指定创建流向栅格时所使用的方法。 | Raster Layer; Image Service; String |
distanceType (可选) | 要计算的距离类型。
| String |
flowDirectionType (可选) | 指定输入流向栅格类型。
| String |
statisticsType (可选) | 确定用于计算多个流动路径上的流动距离的统计类型。 如果从每个像元到流上的某个像元只存在单一流动路径,则所有统计类型都将产生相同的结果。
| String |
派生输出
名称 | 说明 | 数据类型 |
outputRaster | 输出栅格。 | 栅格图层 |
代码示例
本示例将计算到河流栅格上像元的最小下坡水平流动距离。
import arcpy
arcpy.FlowDistance_ra("https://myserver/rest/services/streams/ImageServer","https://myserver/rest/services/elevation_fill/ImageServer","outFlowDistanceVertical1")
本示例将计算到河流栅格上像元的最小下坡垂直流动距离。
#---------------------------------------------------------------------------
# Name: FlowDistance_example02.py
# Requirements: ArcGIS Image Server
# Import system modules
import arcpy
# Set local variables
inStreams = "https://myserver/rest/services/streams/ImageServer"
inSurface = "https://myserver/rest/services/elevation_fill/ImageServer"
outputFlowDistance = "outFlowDistanceVertical2"
inFlowDirection = ""
distanceType = "VERTICAL"
# Execute Flow Distance raster analysis tool
arcpy.FlowDistance_ra(inStreams, inSurface, outputFlowDistance, inFlowDirection, distanceType)
许可信息
- Basic: 需要 ArcGIS Image Server
- Standard: 需要 ArcGIS Image Server
- Advanced: 需要 ArcGIS Image Server