Feature Layer

The Feature Layer feed type in ArcGIS Velocity polls an ArcGIS Online or ArcGIS Server feature layer for features.

Examples

The following are example use cases for the feed:

  • A user configures a feed referencing an ArcGIS Server hosted feature layer to load features added by users.
  • A GIS analyst provides the URL to an ArcGIS Server feature layer (such as https://sampleserver6.arcgisonline.com/arcgis/rest/services/Wildfire/FeatureServer/2) containing the desired features to load every minute, for use in a real-time analytic.

Usage notes

Keep the following in mind when working with the feed:

  • The feed polls the feature layer to load features at the rate defined on the Feed Polling Interval step of the feed configuration wizard.
    • The timestamp field value is the date field to get the latest features. You can define the timestamp field value in the timestamp field step. If a timestamp field value is not specified, at every interval the feature layer feed loads all features from the feature layer as events to be processed.
    • If a timestamp field value is specified, the first time Velocity polls the feature layer, all features are loaded with a timestamp datetime field within the past minute and earlier than the first feed poll time that meet the WHERE clause criteria. For each subsequent poll, only features with a timestamp field value between the last polling time and the current polling time that meet the WHERE clause criteria are loaded.
    • Velocity requires timestamp values to be stored in Coordinated Universal Time (UTC). If a timestamp value is specified but the values are not stored in UTC, polling the feature layer may return unexpected data.
  • When browsing to choose a feature layer item, you can filter by folders, favorites, groups, organization, or for features from ArcGIS Online. You can then further filter by date modified, date created, and tags.
  • ArcGIS Server feature layers can also be loaded using a URL. This should be an ArcGIS Server services directory REST URL (such as https://sampleserver6.arcgisonline.com/arcgis/rest/services/Wildfire/FeatureServer/2). This URL should end in /FeatureServer/# or /MapServer/#, where # is the layer number.
  • To load a secured feature layer from a URL, you must first add a service or document from URL to ArcGIS Online and choose to store credentials. You can then browse to the registered ArcGIS Online item to select the secured feature layer.
  • When a polling frequency is set, the polling occurs at regular clock intervals as opposed to the start time of the feed. For example, if a feed is set to poll for data every 5 minutes and started at 8:03 a.m., the first request for data occurs at 8:05 a.m., the next at 8:10 a.m., and so on.
  • Use caution when defining the feed polling interval. It is essential to ensure that the feature layer you are polling can return responses within the specified polling interval. A best practice is to test the response time of a query request to this feature layer, using the same query that you apply in the feed configuration. The polling interval should never be set to a shorter interval than the typical response time of your feature layer query. For more information on scheduling feed polling intervals, refer to feed polling interval scheduling.
  • After configuring the feature layer connection parameters, refer to configuring input data to learn how to define the schema and the key parameters.

Parameters

The following are the parameters for the feed:

ParameterExplanationData type
WHERE clause

The WHERE clause parameter specifies a Structured Query Language (SQL) clause used to filter features loaded from the specified feature layer. The default is to load all features using 1=1. This default WHERE clause can be modified to include specific attribute values and logic conditions.

SQL-92 where clause syntax on the fields in the layer is supported for most feature layers.

Feature layers generated by Velocity running on a spatiotemporal data source have restrictions on what is supported; they only support a subset of SQL-92.

Below is a list of supported SQL-92 with such feature layers:

  • ( '<=' | '>=' | '<' | '>' | '=' | '!=' | '<>' | LIKE )
  • (AND | OR)
  • (IS | IS_NOT)
  • (IN | NOT_IN) ( '(' ( expr ( ',' expr )* )? ')' )
  • COLUMN_NAME BETWEEN LITERAL_VALUE AND LITERAL_VALUE

You can update this parameter in the filter data step.

QueryString

Out fields

The Out fields parameter specifies the fields to be loaded from the feature layer into Velocity.

The default is an asterisk (*), which denotes all fields that are loaded.

If specific fields are being provided, they should be listed as comma-separated field names, for example:

OBJECTID,device_id,timestamp,horizontal_accuracy,latitude,longitude

You can update this parameter in the filter data step.

String

Output spatial reference (optional)

The Output spatial reference parameter specifies the well-known ID (WKID) of a spatial reference. The default WKID is 4326.

Velocity loads data from the feature layer in the spatial reference set in this parameter.

You can update this parameter in the filter data step.

String

Additional logging

(optional)

Specifies whether logging for raw requests issued by Velocity is turned on. The default is False.

Note:

Only turn on this parameter for troubleshooting purposes and turn it off when troubleshooting is complete. Once turned on, start the feed, and the info level logs are available on the feed logs page. Contact Esri Technical Support for assistance with troubleshooting.

Boolean

Timestamp field

Specifies a date field for retrieving only the latest features.

If a timestamp field value is not specified at every interval, the feed loads all features from the feature layer as events to be processed.

If a timestamp field value is specified, the first time Velocity polls the feature layer it loads all features with the datetime timestamp field within the past minute and earlier than the first feed poll time that also meets the criteria of the WHERE clause. Each subsequent poll, only features with a timestamp field value between the last polling time and the current polling time that also meet the criteria of the WHERE clause are loaded.

String

Considerations and limitations

Consider the following when using the feed:

  • The feature layer must be accessible over the internet.
  • The polling interval should not be set to a shorter interval than the typical response time of your feature layer query.
  • Velocity does not support layers that require credits for data queries.