FlightAware (Surface)

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:

ParameterDescriptionData 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.