The FlightAware (Airborne) feed type in ArcGIS Velocity connects to the FlightAware Firehose API to receive streaming flight positions, such as Radar, Automatic Dependent Surveillance-Broadcast (ADS-B), or datalink. It also provides flight status information, including flight details, and departure and arrival messages.
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 (Surface) feed
Examples
The following are example use cases of the FlightAware (Airborne) feed:
- A GIS analyst uses a FlightAware (Airborne) feed to incorporate flight status updates from pre-departure through arrival into their GIS workflows using the Flight Info (Flifo) event type.
- A data analyst uses a FlightAware (Airborne) feed to identify flights that have entered a holding pattern and send alerts based on the total hold duration using the Hold Entry and Hold 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 five options for the Event Type parameter: Arrivals and Departures, Cancellation, Flight Info (Flifo), Hold Entry and Hold Exit, and Power On, Surface Offblock, & Surface Onblock. 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 Arrivals and Departures, the data returned by the feed includes both arrival and departure events. If you do not require all event types, 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 (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 Position event type 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 Arrivals and Departures, the schema includes the fields listed for both arrivals and departures. All listed fields are included except the following:
- Position—adsb_version, nac_p, nac_v, nic, nic_baro, pos_rc, sil, sil_type, waypoints
- Cancellation—waypoints
- Flight Info (Flifo)—waypoints
- Power On, Surface Offblock & Surface Onblock—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 Position,Arrivals and Departures, Cancellation, Flight Info (Flifo), Hold Entry and Hold Exit, and Power On, Surface Offblock & Surface Onblock. | 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) (Optional) | 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 Position event type. 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 (Airborne) 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.