The FlightAware (Surface) feed type in ArcGIS Velocity makes a connection to the FlightAware Firehose API to receive data related to surface movement positions.
Learn more about the FlightAware Firehose API
The FlightAware (Airborne) and FlightAware (Surface) feed types both connect to the same Firehose API, but differ in the event types offered.
Learn more about event types offered by the FlightAware (Airborne) feed
Examples
The following are example use cases of the FlightAware (Surface) feed:
- A GIS analyst uses the FlightAware (Surface) feed type to integrate ground vehicle surface movement positions into their GIS workflows using the Vehicle Position event type.
- A GIS analyst uses the FlightAware (Surface) feed type in a real-time analytic to send alerts when an aircraft enters or exits a predefined polygon using the Location Entry and Location Exit event type.
Usage notes
Keep the following in mind when working with this feed:
- The value for the Password parameter should be set to the credentials to authenticate with FlightAware. In most cases, this should be set to the FirehoseAPI key instead of the account password. If an existing feed is edited, the value for the Password parameter will need to be re-entered.
- Velocity offers three options for the Event Type parameter: Vehicle Position, Ground Position and Near Surface Position, and Location Entry and Location Exit. This parameter identifies which downlink messages will be sent. The available event codes depend on the subscription layers enabled in FlightAware.
Note:
If you choose an Event Type with multiple values, such as Ground Position and Near Surface Position, the data returned by the feed includes events of types Ground_position and Near_surface_position. If you do not require all event types, you can use the Filter by Expression tool after adding the feed in a real-time analytic to return the desired event types based on the type field.
- The Rate Limit (seconds) parameter for the Firehose API allows you to limit the connection by discarding position messages if the last position from the same aircraft was recorded within the specified interval (specified in whole seconds). Data availability and/or your account's service contract may limit the minimum interval that you can set. This parameter is only available for the Vehicle Position and Ground Position and Near Surface Position event types with a default value of 60 seconds.
Note:
This feed type in Velocity always connects to the latest available version of FlightAware Firehose API.
Event type schemas
- Event type schemas and field definitions can be found in the FlightAware documentation.
- If the Event Type parameter is set to a value that includes multiple event types, such as Ground Position and Near Surface Position, the schema includes the fields listed for both Ground_position and Near_surface_position. All listed fields are included except the following:
- Vehicle Position: airport_locations
- Ground Position and Near Surface Position: adsb_version, airport_locations, nac_p, nac_v, nic, nic_baro, pos_rc, sil, sil_type
- Location Entry and Location Exit: airport_locations
- Any fields that are not needed can be unselected on the Confirm Schema page during feed configuration.
Parameters
The following are the parameters for this feed:
Parameter | Description | Data type |
---|---|---|
Hostname | The host name used to connect to FlightAware—for example, firehose.flightaware.com. | String |
Port | The port number used to connect to FlightAware—for example, 1501. | Integer |
Username | The username used for authentication. The username should be the FlightAware account username that has been granted access. | String |
Password | The password used for authentication. In most cases, this should be the Firehose API key and not the account password. | Password |
Event Type | The list of which downlink messages are to be sent. The allowed values are Vehicle Position, Ground Position and Near Surface Position, and Location Entry and Location Exit. | String |
Airport filter | The airport filter sends flight information only for flights that originate from or are destined for airports matching the specified space list of glob patterns—for example, "CYUL" or “K??? P* TJSJ”. | String |
Airline filter | The airline filter sends flight information related to only the listed airlines. The list consists of a series of spaced-separated ICAO airline codes—for example, "FIN" or "FIN BAW AAL". | String |
Spatial extent | The spatial extent you want to filter by. Send only positions within the specified rectangle; others will be ignored unless the flight is matched by other criteria. Once a flight is matched by the area provided, it is remembered, and all subsequent messages until landing for that flight ID continue to be sent, even if the flight is no longer in the specified area. | Spatial extent |
Idents | Sends flight information only related to the listed idents (identification), or aircraft registration or tails. The list consists of a series of spaced-separated idents or registrations—for example, idents "N1234 N2345 N456 CXYZA" or “N1*UA N2*UA UAL?? UAL12 UAL34” . | String |
Operator Type | The operator type sends messages related to flight idents based on the operator type. The allowed values are Airline, General Aviation, and Cargo. | String |
Rate Limit (seconds) | The rate limit allows you to limit the connection by discarding position messages if the last position from the same aircraft was recorded within the specified interval (in whole seconds). Data availability and/or your account's service contract may limit the minimum interval that you can set. This parameter is only available for the Vehicle Position and Ground Position and Near Surface Position event types. The default value is 60 seconds. | Integer |
Consideration and limitations
Consider the following when working with this feed:
- Velocity uses the live time range feature of the FlightAware Firehose API, allowing it to request real-time data from the present time onward.
- The FlightAware Firehose API has maximum allowable connections per user account. Each FlightAware (Surface) feed type uses one of these connections. If Velocity attempts to connect, but reaches the maximum number of allowed connections, Velocity shows a warning message in the logs.
- If Velocity is disconnected from FlightAware, the message returned by FlightAware is logged in the feed’s logs, and a reconnection is attempted.
- FlightAware recommends to periodically disconnect and reconnect to prevent stale or long-running connections. Therefore, Velocity disconnects and reconnects at regular intervals if no data is ingested. This behavior results in a log message in the feed's log.