Flow Distance

Flow Distance task

The Flow Distance task computes the minimum downslope horizontal or vertical distance to cells in a stream or river into which they flow. A flow direction raster can optionally be applied.

To limit downslope directions along which minimum flow distance is measured, provide an optional input flow direction service that can be derived using the Flow Direction task. Choose from D8, D-Infinity (DINF), and multiple flow direction (MFD) flow models while generating an optional input flow direction service.

If an optional input flow direction service is provided, it is recommended that it be created using the Flow Direction task, using the same input surface that you'll provide to the Flow Distance task.

When the Flow Distance task is run with no optional flow direction input, minimum flow distance is assessed considering all possible downslope flow paths from each cell to cell(s) on a stream into which they flow.

When the tool is run with an optional D8 flow direction raster, there is only one possible downslope path from every cell to a cell on the stream, and flow distance is measured along this single flow path.

Request URL

http://<raster analysis url>/FlowDistance/submitJob

Request Parameters

The following table lists the parameters with syntax and details for each.

ParameterDescription

inputStreamRaster

(Required)

An input raster that represents a linear stream network.

Syntax: This parameter can be specified as a Portal Item ID, a URL to a raster image service layer, or a cloud raster dataset.

Examples:

  • "inputStreamRaster": {"itemId": <portal item id>}
  • "inputStreamRaster": {"url": <image service layer url>}

inputSurfaceRaster

(Required)

The input raster representing a continuous surface.

Syntax: This parameter can be specified as a Portal Item ID, a URL to a raster image service layer, or a cloud raster dataset.

Examples:

  • "inputSurfaceRaster": {"itemId": <portal item id>}
  • "inputSurfaceRaster": {"url": <image service layer url>}

outputName

(Required)

The output image service name that will be created.

Syntax: A JSON object describes the name of the output or the output raster.

You can specify the name, or you can create an empty service using Portal Admin Sharing API and use the return JSON object as input to this parameter.

Output name example:

"outputName":{"serviceProperties":{"name":"testrasteranalysis"}}

Output raster examples:

"outputName":{"itemId": <portal item id>}
"outputName":{"url": <image service url}
"outputName":{"serviceProperties":
                  {"name":"testrasteranalysis",
                   "serviceUrl":"http://<server name>/server/rest/services/Hosted/testrasteranalysis/ImageServer"},
                   "itemProperties":{"itemId":"8cfbd3ec25584d0d8f4ed23b8ff7c43b","folderId":"sdfwerfbd3ec25584d0d8f4"}}

inputFlowDirectionRaster

The input raster that shows the direction of flow out of each cell.

Syntax: This parameter can be specified as a Portal Item ID, a URL to a raster image service layer, or a cloud raster dataset.

Examples:

  • "inputFlowDirectionRaster": {"itemId": <portal item id>}
  • "inputFlowDirectionRaster": {"url": <image service layer url>}

distanceType

Determines whether the vertical or horizontal component of flow distance is calculated.

Syntax: A string describing the distance type, which can be one of the following:

  • VERTICAL—The flow distance calculations represent the vertical component of minimum flow distance, following the flow path, from each cell in the domain to the cells on the stream into which they flow. This is the default.
  • HORIZONTAL—The flow distance calculations represent the horizontal component of minimum flow distance, following the flow path, from each cell in the domain to the cells on the stream into which they flow.

Example:

  • "distanceType": "HORIZONTAL"

context

Contains additional settings that affect task execution.

This task has the following settings:

  • Extent (extent)—A bounding box that defines the analysis area.
  • Output Spatial Reference (outSR)—The output raster will be projected into the output spatial reference.
  • Snap Raster (snapRaster)—The output raster will have its cells aligned with the specified snap raster.
  • Cell Size (cellSize)—The output raster will have the resolution specified by cell size.
  • Mask (mask)—Only cells that fall within the analysis mask will be considered in the operation.

f

The response format. The default response format is html.

Values: html | json

Response

When you submit a request, the task assigns a unique job ID for the transaction.

Syntax:

{
"jobId": "<unique job identifier>",
"jobStatus": "<job status>"
}

After the initial request is submitted, you can use the jobId to periodically check the status of the job and messages as described in Checking job status. Once the job has successfully completed, you use the jobId to retrieve the results. To track the status, you can make a request of the following form:

http://<raster analysis url>/FlowDistance/jobs/<jobId>

Accessing results

When the status of the job request is esriJobSucceeded, you can access the results of the analysis by making a request of the following form:

http://<raster analysis url>/jobs/<jobId>/results/outputRaster?token=<your token>&f=json

ParameterDescription

outputRaster

This is the output flow distance raster item ID and URL.

Example:

{"url": 
"http://<raster analysis url>/FlowDistance/jobs/<jobId>/results/outputRaster"}

The result has properties for parameter name, data type, and value. The content of value is always the itemid of the output raster dataset and the image service URL. For example:

{
    "paramName": "outRaster",
    "dataType": "GPString",
    "value": {
        "itemId": "f121390b85ef419790479fc75b493efd", 
        "url": "https://<server name>/arcgis/rest/services/Hosted/<service name>/ImageServer"
    }
}