Feature Input

Raster analysis tasks use feature and raster data as input. The tasks that use features as input include:

For more information on tools that takes raster data as input see raster input.

Features can be input in one of several ways:

  1. Specify a URL to a feature service layer (or a map service layer that has query as one of its capabilities) along with an optional filter.
  2. Specify a feature collection.

URL to a feature service

You can give the URL to a feature service layer or a map service layer that has query capability.

The URL syntax is:

{
"url": "<url to feature or map service layer>"

"filter": "<attribute query string to select features to process>"
}

If your layer is on a secure server, you will need to provide a token that allows the analysis service to access your layer.

NoteNote:

You cannot run any of the analysis tasks using data from map or feature services that are not accessible to the portal. That is, the URL to the service must be either a public URL, or one accessible behind your firewall. Otherwise, you'll receive an error saying that the URL is not accessible.

In addition to supplying the URL, you can supply a filter string for an SQL WHERE clause but without the WHERE statement. For example:

{
  "url": "https://services.arcgis.com/f126c8da131543019b05e4bfab6fc6ac/arcgis/rest/services/hospitals/FeatureServer/0",
  "filter": "STATE='CA'"
}

If no filter is supplied, all features will be analyzed.

Feature collection

The other option is to send a featureCollection instead of a layer. Filters are supported with feature collections. For more information on feature collections and feature sets, see the Javascript documentation for featureCollection and featureSet.

Following is an example of feature collection of points with an Id and Name attribute.

{
    "layerDefinition": {
        "geometryType": "esriGeometryPoint",
        "fields": [
            {
                "name": "Id",
                "type": "esriFieldTypeOID",
                "alias": "Id"
            },
            {
                "name": "Name",
                "type": "esriFieldTypeString",
                "alias": "Name"
            }
        ]
    },
    "featureSet": {
        "geometryType": "esriGeometryPoint",
        "spatialReference": {
            "wkid": 4326
        },
        "features": [
            {
                "geometry": {
                    "x": -104.44,
                    "y": 34.83
                },
                "attributes": {
                    "Id": 43,
                    "Name": "Feature 1"
                }
            },
            {
                "geometry": {
                    "x": -100.65,
                    "y": 33.69
                },
                "attributes": {
                    "Id": 67,
                    "Name": "Feature 2"
                }
            }
        ]
    },
    "filter": "Name = 'Feature 1'"
}