arcgis.realtime.velocity.feeds module¶
RSS¶
- class arcgis.realtime.velocity.feeds.RSS(label, description, rss_url, http_auth_type, http_headers=<factory>, data_format=None, track_id_field=None, geometry=None, time=None, run_interval=RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles'))¶
Poll an HTTP endpoint for RSS events. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
rss_url
str. Address of the HTTP endpoint providing data.
http_auth_type
Union[NoAuth, BasicAuth, CertificateAuth]. An instance that contains the authentication information for the feed instance.
http_headers
Dict[str, str]. A Name-Value dictionary that contains HTTP headers for connecting to the RSS feed.
Optional Argument
Description
data_format
Union[RssFormat, GeoRssFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
run_interval
RunInterval. An instance of the scheduler configuration. The default is: RunInterval(cron_expression=”0 * * ? * * *”, timezone=”America/Los_Angeles”)
- Returns
A data class with RSS feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import RSS from arcgis.realtime.velocity.http_authentication_type import ( NoAuth, BasicAuth, CertificateAuth, ) from arcgis.realtime.velocity.input.format import GeoRssFormat from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant from arcgis.realtime.velocity.feeds.run_interval import RunInterval name = "rss feed name" description = "rss feed description" url = "rss feed url" http_auth = NoAuth() # http_auth = BasicAuth(username="username", password="password") # http_auth = CertificateAuth(pfx_file_http_location="https://link", password="password") http_headers = { "Content-Type": "application/json" } # all properties can also be defined in the constructor as follows # Set data format data_format = GeoRssFormat() # Set geometry field geometry = XYZGeometry( x_field="category_longitude", y_field="category_latitude", wkid=4326, z_field="category_altitude", z_unit="Meters" ) # Set time field time = TimeInterval( interval_start_field="start_field", interval_end_field="end_field" ) # Set recurrence run_interval = RunInterval( cron_expression="0 * * ? * * *", timezone="America/Los_Angeles" ) # Configure the RSS Feed rss = RSS( label="feed_name", description="feed_description", rss_url=url, http_auth_type=http_auth, http_headers=http_headers, track_id_field="track_id", data_format=data_format, geometry=geometry, time=time, run_interval=run_interval ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration RSS_feed = feeds.create(rss) RSS_feed.start() feeds.items
- data_format = None¶
- geometry = None¶
- http_auth_type¶
- http_headers¶
- rss_url¶
- run_interval = RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles')¶
- time = None¶
- track_id_field = None¶
HttpPoller¶
- class arcgis.realtime.velocity.feeds.HttpPoller(label, description, url, http_method, http_auth_type, url_params=<factory>, http_headers=<factory>, enable_long_polling=False, data_format=None, track_id_field=None, geometry=None, time=None, run_interval=RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles'))¶
Poll an HTTP endpoint for event data. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
url
str. URL of the HTTP endpoint providing data.
http_http_method
str. HTTP method. Options: GET or POST.
http_auth_type
Union[NoAuth, BasicAuth, CertificateAuth, OAuth]. An instance that contains the authentication information for this feed instance.
url_params
Dict[str, str]. A dictionary of URL param/value pairs that contains HTTP params used to access the HTTP resource.
http_headers
Dict[str, str]. A Name-Value dictionary that contains HTTP headers for connecting to the HTTP resource.
enable_long_polling
bool. The default is: False.
Optional Argument
Description
data_format
Union[EsriJsonFormat, GeoJsonFormat, JsonFormat, DelimitedFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
run_interval
RunInterval. An instance of the scheduler configuration. The default is: RunInterval(cron_expression=”0 * * ? * * *”, timezone=”America/Los_Angeles”)
- Returns
A dataclass with Http poller feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import HttpPoller from arcgis.realtime.velocity.http_authentication_type import ( NoAuth, BasicAuth, CertificateAuth, ) arcgis.realtime.velocity.input.format import DelimitedFormat from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant from arcgis.realtime.velocity.feeds.run_interval import RunInterval name = "http_poller_feed_name" description = "http_poller_description_feed" url = "http_poller_url" http_auth = NoAuth() # http_auth = BasicAuth(username="username", password="password") # http_auth = CertificateAuth(pfx_file_http_location="http_auth_link", password="password") http_headers = {"Content-Type": "application/json"} url_params = {"f": "json"} http_poller = HttpPoller( label=name, description=description, url=url, http_method="GET", http_auth_type=http_auth, url_params=url_params, http_headers=http_headers, enable_long_polling=False, data_format=None ) # Set track id field http_poller.set_track_id("track_id") # Set time field time = TimeInstant(time_field="time_field") http_poller.set_time_config(time=time) # Set geometry field geometry = XYZGeometry( x_field="x", y_field="y", wkid=4326 ) http_poller.set_geometry_config(geometry=geometry) # Set recurrence http_poller.run_interval = RunInterval( cron_expression="0 * * ? * * *", timezone="America/Los_Angeles" ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration http_poller_feed = feeds.create(http_poller) http_poller_feed.start() feeds.items
- data_format = None¶
- enable_long_polling = False¶
- geometry = None¶
- http_auth_type¶
- http_headers¶
- http_method¶
- run_interval = RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles')¶
- time = None¶
- track_id_field = None¶
- url¶
- url_params¶
HttpReceiver¶
- class arcgis.realtime.velocity.feeds.HttpReceiver(label, description, authentication_type, sample_message, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive events via a dedicated HTTP endpoint. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
authentication_type
str. Authentication type. Options: none or arcgis.
sample_message
str. The sample content to auto-detect the data format. For example: “name,agensam,23”
Optional Argument
Description
data_format
Union[EsriJsonFormat, GeoJsonFormat, JsonFormat, DelimitedFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with Http receiver feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import HttpReceiver from arcgis.realtime.velocity.http_authentication_type import ( NoAuth, BasicAuth, CertificateAuth, ) sample_message="name,age dan,23" http_receiver = HttpReceiver( label="feed_name", description="feed_description", authentication_type="none", sample_message=sample_message, data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration http_receiver_feed = feeds.create(http_receiver) http_receiver_feed.start() feeds.items
- authentication_type¶
- data_format = None¶
- geometry = None¶
- sample_message¶
- time = None¶
- track_id_field = None¶
HttpSimulator¶
- class arcgis.realtime.velocity.feeds.HttpSimulator(label, description, url, field_separator=',', features_per_execution=1, interval_for_sending_events=1000, repeat_simulation=True, time_field_index=0, convert_to_current_time=True, data_format=None, track_id_field=None, geometry=None, time=None)¶
Simulate events from a text file. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
url
str. The full URL to the externally accessible simulation file.
field_separator
str. The character, or delimiter, which separates field values in the simulation file. The default is: ,.
features_per_execution
int. The number of records (features) to simulate at a time. The default is: 1.
interval_for_sending_events
int. The interval between sending the number of features per execution. The default is: 1000.
repeat_simulation
boolean. Whether to automatically restart from the beginning when the end of the file is reached. The default is: True.
time_field_index
int. The numerical index of the date field in the dataset, where the index starts at 0. The default is: 0.
convert_to_current_time
boolean. Whether to convert the time values in the dataset to current time as the data is simulated. The default is: True.
Optional Argument
Description
data_format
Union[DelimitedFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with Http simulator feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import HttpSimulator from arcgis.realtime.velocity.input.format import DelimitedFormat from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant http_simulator = HttpSimulator( label="feed_name", description="feed_description", url="http_simulator_url", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration http_simulator_feed = feeds.create(http_simulator) http_simulator_feed.start() feeds.items
- convert_to_current_time = True¶
- data_format = None¶
- features_per_execution = 1¶
- field_separator = ','¶
- geometry = None¶
- interval_for_sending_events = 1000¶
- repeat_simulation = True¶
- time = None¶
- time_field_index = 0¶
- track_id_field = None¶
- url¶
AWSIoT¶
- class arcgis.realtime.velocity.feeds.AWSIoT(label, description, endpoint, topic, qos_level=0, access_key_id=None, secret_access_key=None, session_token=None, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive events from an AWS IoT broker. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for the feed instance.
description
str. Feed description.
endpoint
str. Endpoint for the AWS IoT broker.
topic
str. Topic over which event messages stream.
qos_level
int. The Quality of Service (QoS) level defines the guarantee of delivery for a specific message. A QoS of 0 means a message is delivered zero or more times. It offers better performance, but no guaranteed delivery. A QoS of 1 means a message is delivered at least once, thereby offering guaranteed delivery. With both levels, messages may be delivered multiple times. The default is: 0.
Optional Argument
Description
access_key_id
str. Access key ID for the AWS IoT credentials.
secret_access_key
str. Secret access key for the AWS IoT credentials.
session_token
str. Session token for the AWS IoT broker.
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as the track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with AWS Iot feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import AWSIoT from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant aws_config = AWSIoT( label="feed_name", description="feed_description", endpoint="aws_iot feed endpoint", topic="aws_iot_topic", qos_level=0, access_key_id="aws_iot_access_key_id", secret_access_key="aws_iot_secret_access_key", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration aws_feed = feeds.create(aws_config) aws_feed.start() feeds.items
- access_key_id = None¶
- data_format = None¶
- endpoint¶
- geometry = None¶
- qos_level = 0¶
- secret_access_key = None¶
- session_token = None¶
- time = None¶
- topic¶
- track_id_field = None¶
AzureEventHub¶
- class arcgis.realtime.velocity.feeds.AzureEventHub(label, description, shared_access_key_name, shared_access_key, event_hub_endpoint, event_hub_entity_path, consumer_group=None, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive events from an Azure Event Hub. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
shared_access_key_name
str. Shared access key name for Azure Event Hub credentials.
shared_access_key
str. Shared access key name for Azure Event Hub credentials.
event_hub_endpoint
str. Endpoint of the Azure Event Hub.
event_hub_entity_path
str. Entity path of the Azure Event Hub.
Optional Argument
Description
consumer_group
str. Consumer group for the Azure Event Hub.
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with azure event hub feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import AzureEventHub from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant azure_event_hub_config = AzureEventHub( label="feed_name", description="feed_description", shared_access_key_name="azure_event_hub_shared_key_name", shared_access_key="azure_event_hub_shared_key", event_hub_endpoint="azure_event_hub_endpoint", event_hub_entity_path="azure_event_hub_entity_path", consumer_group="azure_consumer_group", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration azure_event_hub_feed = feeds.create(azure_event_hub_config) azure_event_hub_feed.start() feeds.items
- consumer_group = None¶
- data_format = None¶
- event_hub_endpoint¶
- event_hub_entity_path¶
- geometry = None¶
- time = None¶
- track_id_field = None¶
AzureServiceBus¶
- class arcgis.realtime.velocity.feeds.AzureServiceBus(label, description, topic_name, subscription_name, shared_access_key_name, shared_access_key, endpoint, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive events from an Azure Service Bus. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
topic_name
str. Topic name for the Azure Service Bus.
subscription_name
str. Topic name for the Azure Service Bus.
shared_access_key_name
str. Shared access key name for the Azure Service Bus.
shared_access_key
str. Shared access key for the Azure Service Bus.
endpoint
str. Endpoint of the Azure Service Bus.
Optional Argument
Description
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with azure service bus feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import AzureServiceBus from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant azure_service_bus_config = AzureServiceBus( label="feed_name", description="feed_description", topic_name="azure_service_bus_topic_name", subscription_name="azure_service_bus_subscription_name", shared_access_key_name="azure_service_bus_shared_access_key_name", shared_access_key="azure_service_bus_shared_access_key", endpoint="azure_service_bus_endpoint", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration azure_service_bus_feed = feeds.create(azure_service_bus_config) azure_service_bus_feed.start() feeds.items
- data_format = None¶
- endpoint¶
- geometry = None¶
- subscription_name¶
- time = None¶
- topic_name¶
- track_id_field = None¶
CiscoEdgeIntelligence¶
- class arcgis.realtime.velocity.feeds.CiscoEdgeIntelligence(label, description, host, port, topic, qos_level=0, username=None, password=None, client_id=None, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive events from a Cisco Edge Intelligence broker. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
host
str. Hostname of the Cisco Edge Intelligence broker prefixed with “tcp://” for non-SSL or “ssl://” for SSL connections.
port
str. Port on which the Cisco Edge Intelligence broker is accessible.
topic
str. Topic over which event messages stream.
qos_level
int. Quality of Service (QoS) level defines the guarantee of delivery for a specific message. In MQTT 3.1.1, a QoS of 0 means a message is delivered at most once, a QoS of 1 at least once, and a QoS of 2 exactly once. The default is: 0.
Optional Argument
Description
username
Username for basic authentication.
password
Password for basic authentication.
client_id
The client ID ArcGIS Velocity will use to connect to the Cisco Edge Intelligence broker.
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with cisco edge intelligence feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import CiscoEdgeIntelligence from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant cisco_edge_config = CiscoEdgeIntelligence( label="feed_name", description="feed_description", host="cisco_host", port="cisco_port", topic="cisco_topic", qos_level=0, username="cisco_username", password="cisco_password", client_id="cisco_client_id", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration cisco_edge_feed = feeds.create(cisco_edge_config) cisco_edge_feed.start() feeds.items
FeatureLayer¶
- class arcgis.realtime.velocity.feeds.FeatureLayer(label, description, query='1=1', fields='*', outSR=4326, url=None, portal_item_id=None, extent=None, time_stamp_field=None, track_id_field=None, time=None, run_interval=RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles'))¶
Poll a feature layer for features at a fixed schedule. This data class can be used to define the feed configuration and to create the feed.
The data format is a feature layer. ArcGIS Velocity will automatically handle the location for you.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
query
str. Feature layer query parameters. The default is: 1=1.
fields
str. Requested feature layer output fields. For example: “field1,field2” The default is: *.
outSR
int. Requested output spatial reference. The default is: 4326. .. note:
To learm more about projected and geographic coordinate systems, refer to `Using spatial references <https://developers.arcgis.com/rest/services-reference/enterprise/using-spatial-references.htm>`.
Optional Argument
Description
portal_item_id
str. The Portal item ID of the feature layer. .. note:
Either the portal_item_id or url is required.
extent
Dict[str, Any]. A Geometry object that defines the spatial extent for the feature layer.
# Sample Value { "spatialReference": { "latestWkid": 3857, "wkid": 102100 }, "xmin": -14784278.027601289, "ymin": 2604610.848073723, "xmax": -11451317.846255329, "ymax": 6852675.132049575 }
time_stamp_field
str. An optional date field for latest features. Optionally, specify a date field to be used to retrieve only the latest features from the feature layer.
If a timestamp field is not specified, ArcGIS Velocity will load all features that meet the criteria of the WHERE clause when it polls the feature layer.
If a timestamp field is specified, the first time ArcGIS Velocity polls the feature layer it will load all features with a timestamp field datetime within the past minute and less than the first feed poll time that also meets the criteria of the WHERE clause. With 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 will be loaded.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
run_interval
RunInterval. An instance of the scheduler configuration. The default is: RunInterval(cron_expression=”0 * * ? * * *”, timezone=”America/Los_Angeles”)
- Returns
A data class with feature layer feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import FeatureLayer from arcgis.realtime.velocity.http_authentication_type import ( NoAuth, BasicAuth, CertificateAuth, ) from arcgis.realtime.velocity.input.format import DelimitedFormat from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant from arcgis.realtime.velocity.feeds.run_interval import RunInterval extent = { "spatialReference": { "latestWkid": 3857, "wkid": 102100 }, "xmin": "xmin", "ymin": "ymin", "xmax": "xmax", "ymax": "ymax" } # Feature Layer Properties feature_layer_config = FeatureLayer( label="feed_name", description="feed_description", query="1=1", fields="*", outSR=4326, url="feed_sample_server_link", extent=extent, time_stamp_field="date_field" ) feature_layer_config # Set recurrence feature_layer_config.run_interval = RunInterval( cron_expression="0 * * ? * * *", timezone="America/Los_Angeles" ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration feature_layer_feed = feeds.create(feature_layer_config) feature_layer_feed.start() feeds.items
- data_format = None¶
- extent = None¶
- fields = '*'¶
- outSR = 4326¶
- portal_item_id = None¶
- query = '1=1'¶
- run_interval = RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles')¶
- time = None¶
- time_stamp_field = None¶
- track_id_field = None¶
- url = None¶
StreamLayer¶
- class arcgis.realtime.velocity.feeds.StreamLayer(label, description, portal_item_id, query='1=1', fields='*', outSR=4326, extent=None, track_id_field=None, time=None)¶
Receive features from a stream layer. This data class can be used to define the feed configuration and to create the feed.
Data format is Esri stream layer. ArcGIS Velocity will automatically handle the location for you.
Argument
Description
label
str. Unique label for the feed instance.
description
str. Feed description.
portal_item_id
str. Portal item ID of the stream layer.
query
str. Stream layer query parameters. The default is: “1=1”
fields
str. Requested stream layer output fields. For example: “field1,field2” The default is: “*”.
outSR
int. Requested output spatial reference. The default is: 4326.
Note
To learm more about projected and geographic coordinate systems, refer to Using spatial references <https://developers.arcgis.com/rest/services-reference/enterprise/using-spatial-references.htm>.
data_format
str. Specifies the overall format of the incoming data.
Optional Argument
Description
WHERE clause
str. Query to retrieve a subset of features.
Out fields
str. Comma-separated list of fields to use for processing.
Output spatial reference
str. Spatial reference in which queried features should return.
extent
Dict[str, Any]. JSON representing an envelope as defined by the ArcGIS REST API’s JSON geometry schema.
# Sample Value { "spatialReference": { "latestWkid": 3857, "wkid": 102100 }, "xmin": -14784278.027601289, "ymin": 2604610.848073723, "xmax": -11451317.846255329, "ymax": 6852675.132049575 }
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with stream layer feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import StreamLayer from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant extent = { "spatialReference": { "latestWkid": 3857, "wkid": 102100 }, "xmin": "xmin", "ymin": "ymin", "xmax": "xmax", "ymax": "ymax" } stream_layer_config = StreamLayer( label="feed_name", description="feed_description", portal_item_id="portal_id", query="1=1", fields="*", outSR=4326, extent=extent ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration stream_layer_feed = feeds.create(stream_layer_config) stream_layer_feed.start() feeds.items
- data_format = None¶
- extent = None¶
- fields = '*'¶
- outSR = 4326¶
- portal_item_id¶
- query = '1=1'¶
- time = None¶
- track_id_field = None¶
Geotab¶
- class arcgis.realtime.velocity.feeds.Geotab(label, description, url, database, username, password, groups=None, diagnostics_ids=None, data_format=None, track_id_field=None, geometry=None, time=None, run_interval=RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles'))¶
Poll Geotab for event data. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
url
str. The URL to authenticate Geotab.
database
str. The name of the Geotab database providing data.
username
str. Specify the username to authenticate Geotab.
password
str. Specify the password to authenticate Geotab.
Optional Argument
Description
groups
str. List of groups to include in the feature schema. Separate multiple values with a semi-colon (;).
diagnostics_ids
str. List of diagnostic IDs to include in the feature schema. Separate multiple values with a semi-colon (;).
data_format
JsonFormat. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
run_interval
RunInterval. An instance of the scheduler configuration. The default is: RunInterval(cron_expression=”0 * * ? * * *”, timezone=”America/Los_Angeles”)
- Returns
A data class with Geotab feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import Geotab from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant geotab = Geotab( label="feed_name", description="feed_description", url="Geotab_url", database="Geotab_database", username="Geotab_user_name", password="Geotab_password", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration geotab_feed = feeds.create(geotab) geotab_feed.start() feeds.items
- data_format = None¶
- database¶
- diagnostics_ids = None¶
- geometry = None¶
- groups = None¶
- password¶
- run_interval = RunInterval(cron_expression='0 * * ? * * *', timezone='America/Los_Angeles')¶
- time = None¶
- track_id_field = None¶
- url¶
- username¶
Kafka¶
- class arcgis.realtime.velocity.feeds.Kafka(label, description, brokers, topics, authentication, consumer_group_id=None, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive event data from a Kafka broker. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
brokers
str. Comma-separated list of Kafka brokers, including the port, such as host1.domain.com:9092,host2.domain.com:9092.
For example: kafkaServer1.hostname.com:9092,kafkaServer2.hostname.com:9092
topics
str. Topic to which the output will send messages.
authentication
Union[NoAuth, SASLPlain]. Kafka authentication type.
Optional Argument
Description
consumer_group_id
str. A unique string that identifies the consumer group this feed belongs to as a consumer.
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with Kafka feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import Kafka from arcgis.realtime.velocity.feeds.kafka_authentication_type import NoAuth, SASLPlain from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant kafka_config = Kafka( label="feed_name", description="feed_description", brokers="kafka.a4iot.com:9092", topics="topicName", authentication=NoAuth(), data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration kafka_feed = feeds.create(kafka_config) kafka_feed.start() feeds.items
- authentication¶
- brokers¶
- consumer_group_id = None¶
- data_format = None¶
- geometry = None¶
- time = None¶
- topics¶
- track_id_field = None¶
MQTT¶
- class arcgis.realtime.velocity.feeds.MQTT(label, description, host, port, topic, qos_level=0, username=None, password=None, client_id=None, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive events from an MQTT broker. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for this feed instance.
description
str. Feed description.
host
str. Hostname of the of the broker prefixed with “tcp://” for non-SSL or “ssl://” for SSL connections.
port
int. Port on which the MQTT broker is accessible.
topic
str. Topic over which event messages stream.
qos_level
int. Quality of Service (QoS) level defines the guarantee of delivery for a specific message. In MQTT 3.1.1, a QoS of 0 means a message is delivered at most once, a QoS of 1 at least once, and a QoS of 2 exactly once. The default is: 0.
Optional Argument
Description
username
str. Username for basic authentication.
password
str. Password for basic authentication.
client_id
str. Client ID ArcGIS Velocity will use to connect to the MQTT broker.
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with MQTT feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import MQTT from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant mqtt_config = MQTT( label="feed_name", description="feed_description", host="Mqtt host", port=8883, topic="Mqtt topic", qos_level=0, username="Mqtt_username", password="Mqtt_password", client_id="Mqtt_client_id", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration mqtt_feed = feeds.create(mqtt_config) mqtt_feed.start() feeds.items
- client_id = None¶
- data_format = None¶
- geometry = None¶
- host¶
- password = None¶
- port¶
- qos_level = 0¶
- time = None¶
- topic¶
- track_id_field = None¶
- username = None¶
RabbitMQ¶
- class arcgis.realtime.velocity.feeds.RabbitMQ(label, description, host, port=5672, use_ssl=False, prefetch_count=0, virtual_host=None, username=None, password=None, queue_name=None, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive events from a RabbitMQ broker. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for the feed instance.
description
str. Feed description.
host
str. Host address of the RabbitMQ Server.
For example: rabbitmqbroker.centralus.cloudapp.azure.com
port
int. Port on which the RabbitMQ Server is accessible. The default is: 5672.
use_ssl
bool. Whether or not to use SSL in the connection. The default is: False.
prefetch_count
int. Prefetch count is used to specify the number of messages RabbitMQ sends. This limits how many messages are received before acknowledging a message. The default is: 0.
Optional Argument
Description
virtual_host
str. Virtual host of the RabbitMQ Server. For example: virtualhost1
username
str. Username for server authentication.
password
str. Password for server authentication.
queue_name
str. Name of the queue over which messages will be received.
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with RabbitMQ feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import RabbitMQ from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant rabbitmq_config = RabbitMQ( label="feed_name", description="feed_description", host="RabbitMQ host", username="RabbitMQ_username", password="RabbitMQ password", prefetch_count=0, queue_name="RabbitMQ_queue_name", data_format=None ) # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration rabbitmq_feed = feeds.create(rabbitmq_config) rabbitmq_feed.start() feeds.items
- data_format = None¶
- geometry = None¶
- host¶
- password = None¶
- port = 5672¶
- prefetch_count = 0¶
- queue_name = None¶
- time = None¶
- track_id_field = None¶
- use_ssl = False¶
- username = None¶
- virtual_host = None¶
VerizonConnectReveal¶
- class arcgis.realtime.velocity.feeds.VerizonConnectReveal(label, description, username, password, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receive messages from Verizon Connect Reveal via a dedicated HTTP endpoint. This data class can be used to define the feed configuration and to create the feed.
Argument
Description
label
str. Unique label for the feed instance.
description
str. Feed description.
username
str. Specify a new username.
password
str. Specify a new password.
Optional Argument
Description
data_format
Union[JsonFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with Verizon connection reveal feed configuration.
# Usage Example from arcgis.realtime.velocity.feeds import VerizonConnectReveal from arcgis.realtime.velocity.input.format import DelimitedFormat from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant verizon_connect_reveal = VerizonConnectReveal( label="feed_name", description="feed_description", username = "username", password = "password", data_format=None ) # user can't change the schema verizon_connect_reveal.set_track_id("SequenceId") # create verizon connect reveal feed # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration verizon_connect_reveal_feed = feeds.create(verizon_connect_reveal) verizon_connect_reveal_feed.start() feeds.items
- data_format = None¶
- geometry = None¶
- password¶
- time = None¶
- track_id_field = None¶
- username¶
WebSocket¶
- class arcgis.realtime.velocity.feeds.WebSocket(label, description, url, data_format=None, track_id_field=None, geometry=None, time=None)¶
Receives events from a web socket. This data class can be used to define the feed configuration and use it to create the feed.
Argument
Description
label
str. Unique label for the feed instance.
description
str. Feed description.
url
str. WebSocket URL over which messages are received.
Optional Argument
Description
data_format
Union[DelimitedFormat, EsriJsonFormat, GeoJsonFormat, JsonFormat, XMLFormat]. An instance that contains the data format configuration for this feed. Configure only allowed formats. If this is not set right during initialization, a format will be auto-detected and set from a sample of the incoming data. This sample will be fetched from the configuration provided so far in the init.
track_id_field
str. Name of the field from the incoming data that should be set as track ID.
geometry
Union[XYZGeometry, SingleFieldGeometry]. An instance of geometry configuration that will be used to create geometry objects from the incoming data.
time
Union[TimeInstant, TimeInterval]. An instance of time configuration that will be used to create time information from the incoming data.
- Returns
A data class with Web Socket feed configuration configuration.
# Usage Example from arcgis.realtime.velocity.feeds import WebSocket from arcgis.realtime.velocity.input.format import DelimitedFormat from arcgis.realtime.velocity.feeds.geometry import XYZGeometry, SingleFieldGeometry from arcgis.realtime.velocity.feeds.time import TimeInterval, TimeInstant web_socket = WebSocket( label="feed_name", description="feed_description", url = "http://feed_url.com" ) # create web socket feed # use velocity object to get the FeedsManager instance feeds = velocity.feeds # use the FeedsManager object to create a feed from this feed configuration web_socket_feed = feeds.create(web_socket) web_socket_feed.start() feeds.items
- data_format = None¶
- geometry = None¶
- time = None¶
- track_id_field = None¶
- url¶
NoAuth¶
- class arcgis.realtime.velocity.feeds.NoAuth¶
This dataclass is used to specify that no authentication is needed to connect to a Kafka broker.
SASLPlain¶
- class arcgis.realtime.velocity.feeds.SASLPlain(username, password)¶
This dataclass is used to specify a SASL/Plain Authentication scenario using username and password for connecting to a Kafka broker.
Argument
Description
username
str. Username for basic authentication.
password
str. Password for basic authentication.
- password¶
- username¶
XYZGeometry¶
- class arcgis.realtime.velocity.feeds.XYZGeometry(x_field, y_field, wkid, z_field=None, z_unit=None)¶
Dataclass that holds the XYZ Geometry configuration.
Argument
Description
x_field
str. Longitude field name.
y_field
str. Latitude field name.
wkid
int. WKID of the geometry.
Optional Argument
Description
z_field
str. Z field name.
z_unit
str. Z units. Options: Kilometers, Meters, Centimeters, Millimeters, Fathoms, Miles, NauticalMiles, Yards, Feet, Inches.
- Returns
True if the operation is a success
# Usage Example geometry = XYZGeometry( x_field = "x", y_field = "y", wkid = 4326 )
- wkid¶
- x_field¶
- y_field¶
- z_field = None¶
- z_unit = None¶
SingleFieldGeometry¶
- class arcgis.realtime.velocity.feeds.SingleFieldGeometry(geometry_field, geometry_type, geometry_format, wkid)¶
Dataclass that holds the Single Field Geometry configuration.
Argument
Description
geometry_field
str. Geometry field name. Options: esriGeometryPoint, esriGeometryPolyline, esriGeometryPolygon, esriGeometryMulti.
geometry_type
str. Geometry type. Options: esriGeometryPoint, esriGeometryPolyline, esriGeometryPolygon, esriGeometryMulti.
geometry_format
str. Geometry format. Options: coordinates, esrijson, geojson, or wkt.
wkid
int. WKID of the geometry.
- Returns
True if the operation is a success
# Usage Example geometry = SingleFieldFeometry( geometry_field="geometry_field" geometry_type="esriGeometryPoint", geometry_format="esrijson", wkid=4326 )
- geometry_field¶
- geometry_format¶
- geometry_type¶
- wkid¶
TimeInstant¶
- class arcgis.realtime.velocity.feeds.TimeInstant(time_field, date_format=None)¶
Data class that holds the Instant Time configuration
Argument
Description
time_field
str. Time field name.
Optional Argument
Description
date_format
str. If the field does not contain epoch values, a date format can be defined for the time field.
- Returns
boolean True if the operation is a success
# Usage Example time = TimeInstant(time_field="time_field")
- date_format = None¶
- time_field¶
TimeInterval¶
- class arcgis.realtime.velocity.feeds.TimeInterval(interval_start_field, interval_end_field, date_format=None)¶
Data class that holds the Interval Time configuration
Argument
Description
interval_start_field
str. Start-time field name for the time interval.
interval_end_field
str. End-time field name for the time interval.
Optional Argument
Description
date_format
str. If the field does not contain epoch values, a date format can be defined for the time field.
- Returns
boolean True if the operation is a success
# Usage Example time = TimeInterval( interval_start_field="start_field", interval_end_field="end_field" )
- date_format = None¶
- interval_end_field¶
- interval_start_field¶
RunInterval¶
- class arcgis.realtime.velocity.feeds.RunInterval(cron_expression, timezone='America/Los_Angeles')¶
Set the run interval for the feed.
Argument
Description
cron_expression
str. Cron expression that specifies the run interval. You can use the cron generator at the following link to generate a cron expression: Cron Expression Generator & Explainer <https://www.freeformatter.com/cron-expression-generator-quartz.html>. The default is every one minute, represented by the following expression: “0 * * ? * * *”
timezone
str. Run interval timezone to use. The default is: “America/Los_Angeles” .. note:
To learn more about time zones, see `List of tz database time zones <https://en.wikipedia.org/wiki/List_of_tz_database_time_zones>` page on Wikipedia.
- Returns
True if the operation is a success
# Usage Example feed.run_interval = RunInterval( cron_expression="0 * * ? * * *", timezone="America/Los_Angeles", ) # Seconds value must be between 10 and 59 # Minutes value must be between 1 and 59 # Hours value must be between 1 and 23
- cron_expression¶
- timezone = 'America/Los_Angeles'¶