Reconstruct Tracks

Reconstruct Tracks tool icon The Reconstruct Tracks tool connects time-sequential points to tracks and summarizes features within the track. Tracks are identified by one or more track fields. The resulting layer displays the track as a line or an area, the count of features within a track that have been summarized, and any additional statistics that have been specified.

Workflow diagram

Reconstruct Tracks workflow diagram

Examples

  • Hurricanes are some of the most violent types of storms that occur in the United States. To assess insurance rates, you want to know the paths that hurricanes have traveled to determine locations that have historically had high property damage and financial loss from hurricanes. You have access to hurricane location data across the United States in a single dataset, with a timestamp at each location. You want to summarize all the information to see a summary of values for all hurricanes. You can summarize your data using the hurricane tracks identifier to determine the statistics for each hurricane.

Usage notes

  • The Reconstruct Tracks tool runs on point or area features. The input layer must be time enabled with features that represent an instant in time.
  • For linear results, only tracks that contain more than one point will be returned. If you apply a buffer, all features will be returned.
  • Input features will consist of time-enabled features that represent an instant in time. Results are line or area features that represent an interval in time. The start and end of the interval are determined by the time at the first and last features in a track.

    The input features with two distinct tracks (green and red) that have time type instant (left) and the resulting tracks (right) or time type interval are shown.

  • The most basic calculation in a track will be a count of the number of features that have been summarized. Statistics (count, sum, sum of squares, minimum, maximum, range, mean, standard deviation, and variance) can also be calculated on numerical fields, and statistics (count, count distinct, and any) can be calculated on string fields. The string statistic any returns a sample string from each track. The statistics will be calculated on each track separately.
  • The field or fields used to identify tracks will be returned in the results.
  • You can specify one or more fields to identify tracks. Tracks are represented by the unique combination of one or more track fields. For example, if the fields flightID and Destination are used as track identifiers, the features ID007, Solden and ID007, Tokoyowould be in two separate tracks, since they have different Destination field values.
  • You can optionally apply a buffer to your input features. When you apply a buffer, resulting tracks will be area features.

    Input points with a buffer applied are reconstructed into tracks.

  • Buffers are created using a field value or buffer expression, both of which can be configured using an Arcade expression. To learn more about buffer expressions and formatting, see Use buffer expressions. You can apply a track-aware expression. For example, you could buffer the current feature by the mean of the field wind_speed for the previous three features in a track with the equation mean($track.field["wind_speed].history(-4, -1)). When buffering input features, each input feature is buffered. Then a convex hull is generated to create an area track.
  • When buffering input features, each input feature is buffered. Then a convex hull is generated to create an area track.

    An example of input points (green), intermediate buffer for visualization (blue hatching), and the resulting polygonal track (blue) is shown.

  • By default, tracks are created using a geodesic method. The method is applied to the following two components of the analysis:
    • Tracks crossing the international date line-When using the geodesic method, input layers that cross the international date line will have tracks that correctly cross the international date line. This is the default. Your input layer must be set to a spatial reference that supports wrapping around the international date line, such as a global projection like World Cylindrical Equal Area.
    • Buffers-Input features can optionally be buffered. To learn more about when to apply a geodesic or planar buffer, see Create buffers.
  • There are two ways to split tracks:
    • Apply a time split - Applying a time split breaks any track apart when input data is further apart than the specified time. For example, if you had five features with the same track identifier and the times of [01:00, 02:00, 03:30, 06:00, 06:30] and set a time split of two hours, any features that are measured more than two hours apart will be split. In this example, the result would be a track with [01:00, 02:00, 03:30] and [06:00, 06:30], because the difference between 03:30 and 6:00 is greater than two hours.
    • Apply a distance split - Applying a distance split breaks any track apart when input data is further apart than the specified distance. For example, if you set a distance split of 5 kilometers and sequential features greater than 5 kilometers apart would be part of a different track, the split options would be as follows:

      Five examples of input points (green) with varying time and distance splits are shown.

      Split OptionDescription
      1

      Input points with the same ID with a time (instant) and location.

      2

      Example with no time split and no distance split.

      3

      Example with a time split of two hours. Any features greater than two hours apart (1:30 and 4:00) are split into separate tracks.

      4

      Example with a distance split of two kilometers. Any features greater than two kilometers apart (the features at 11:30 and 12:00) are split into separate tracks.

      5

      Example with a distance split of two kilometers and time split of two hours. Any features greater than two kilometers apart (the features at 11:30 and 12:00) or two hours apart (1:30 and 4:00) are split into separate tracks.

  • Output tracks will return the fields used as track identifiers, the count of features within a track (count), the start and end time of each track (StartTime and EndTime), the duration of the track in milliseconds (duration) and any other optional statistics.
  • Additional statistics can be calculated using the Summary Fields parameter. The summary fields statistics available depend on the field type you are summarizing. A string attribute field can utilize the statistics any, count, and count distinct. A numeric attribute field can utilize the statistics any, count, count distinct, sum, sum of squares, min, max, range, variance, and standard deviation. A date attribute field can utilize the statistics any, count, min, max, and range.

Parameters

ParameterExplanationData Type

Input Layer

The point features for which either journeys or dwell locations will be calculated.

Features

Split Distance

A distance used to split tracks. Any features in the input dataset that are in the same track and are greater than this distance apart will be split into a new track. To avoid splitting the tracks, leave this parameter empty.

String

Split Duration

A time duration used to split tracks. Any features in the input dataset that are in the same track and are greater than this time apart will be split into a new track. To avoid splitting the tracks based on time, leave this parameter empty.

String

TRACK_ID fields

You must select the field(s) to uniquely identify features that will be processed. This parameter will be auto-populated if a TRACK_ID key field has been set on the input layer.

String

Summary Fields

The statistics that will be calculated for specified fields. Different statistics are available depending if the specified field is a string, numeric, or date field.

  • ANY - This is a sample string from a field of type string.
  • COUNT - Calculates the number of nonnull values. It can be used on numeric fields or strings. The count of [null, 0, 2] is 2.
  • COUNT DISTINCT - Calculates the number of distinct, nonnull values. It can be used on numeric fields or strings. The count distinct result of [null, 4, 3, 4] is 2.
  • SUM - The sum of numeric values in a field. The sum of [null, 1, 3] is 4.
  • SUM OF SQUARES - The sum, over all observations, of the squared differences of each observation from the overall mean. The sum of squares of [null, 2.2, 3.1, 4.7] is 3.206.
  • MIN - The minimum value of a numeric field. The minimum of [0, 2, null] is 0.
  • MAX - The maximum value of a numeric field. The maximum value of [0, 2, null] is 2.
  • MEAN - The mean of numeric values. The mean of [0,2, null] is 1.
  • RANGE - The range of a numeric field. This is calculated as the minimum value subtracted from the maximum value. The range of [0, null, 1] is 1. The range of [null, 4] is 0.
  • VARIANCE - The variance of a numeric field in a track. The variance of [1] is null. The variance of [null, 1,1,1] is 1.
  • STANDARD DEVIATION - The standard deviation of a numeric field. The standard deviation of [1] is null. The standard deviation of [null, 1,1,1] is 1.

String

Buffer Expression

Optional field used to buffer the input features. Field values are applied in the units of the spatial reference of the input unless the input is using a geographic coordinate system, in which case, they will be in meters.

Buffering the input features by a field value is useful for producing output polygonal tracks where the width of the track indicates a measure of the event at that location. For example, polygonal hurricane tracks indicating the relative wind speed in different areas.

String

Method

Whether to use a Planar approach or a Geodesic approach when splitting track lines by a distance value.

If Planar is selected, the input points must be projected. The Projector tool can be used to project the input points prior to running Reconstruct Tracks.

String

Output layer

The output layer will contain the TRACK_ID field of the input observations as well as the attributes specified in the table below.

Field NameExplanationField Type

TRACK_ID

The TRACK_ID key field used for processing.

any

COUNT

The number of observations used to construct the track.

Float64

TRACK_DURATION

The duration of the track in milliseconds. (EndTime - StartTime)

Float64

StartTime

The StartTime of the track.

Date

EndTime

The EndTime of the track.

Date

Considerations and limitations

Inputs must be point or area layers with time enabled features of type instant. Any features that do not have time will not be included in the output tracks.