Esri JSON

Esri JSON is a format for encoding a variety of geographic data structures. When referring to Esri JSON, typically it is in reference to the featureSet object, that contains a set of feature objects. ArcGIS Velocity can ingest Esri JSON as either a featureSet object (collection of features) or individual feature objects as lines.

Esri JSON is supported as a data format for the following feed and data source types:

  • Feeds—Azure Event Hub, Azure Service Bus, AWS IoT, HTTP Poller, HTTP Receiver, Kafka, WebSocket, RabbitMQ, and MQTT
  • Data sources—Azure Blob Storage, Amazon S3, and HTTP Poller

Supported Esri JSON

Velocity supports Esri JSON that maintains a consistent geometry type, set of fields, and spatial reference.

Generate Esri JSON

Data can be converted from a variety of formats to Esri JSON using the ArcGIS Pro Features to JSON tool.

Specify Esri JSON configuration

When configuring a feed or data source, sampling occurs to determine the type of data being ingested. If sampling determines the data to be in Esri JSON format, additional properties for the Esri JSON configuration can be specified.

Location properties

In certain cases, particularly when sampling individual feature objects, additional location information may need to be configured if not present in the sample data. For example, geometry objects in an array of features may not include the spatial reference for each feature. When sampling a featureSet object, Velocity can derive the full location information, and no additional configuration of location properties is necessary.

Considerations and limitations

When working with data in Esri JSON format in Velocity, there are several considerations and limitations, that are described below.

Esri JSON feature properties must remain consistent

When using Esri JSON data format, attribute data is represented with name value pairs within the attributes object. The value for any property should either be null or a valid value. If a feature does not have a value for a property, it should be represented by null for that value as opposed to the absence of that attribute name.

Changing field types

It is recommended that you not change field types for Esri JSON. When Velocity samples and ingests a featureSet object, an accurate representation of the field types is derived and they should not be changed when configuring a source or feed. The exception to changing field types is with feature objects. Feature objects represent time in date fields as epoch milliseconds, so they are always derived as integer field types without a full featureSet that explicitly contains field types. Consequently, you should adjust them accordingly. Additionally, in the case of feature objects, Velocity attempts to derive other field types based solely on the samples retrieved, and the field types should be reviewed accordingly.

Esri JSON file size

As a best practice, Esri JSON files being ingested in Velocity should be less than 100 MB per file. If you have a larger amount of data, divide the files into smaller files (less than 100 MB per file).