Preparing search index...

    Interface TrackProperties

    Per-track metadata.

    The time range, point count and resolution describe what was returned rather than what was asked for, so a client can always tell whether it received a simplified track and ask again for more detail.

    interface TrackProperties {
        context: Context;
        from: string;
        isSelf: boolean;
        pointCount: number;
        to: string;
        appliedProperties?: Path[];
        bbox?: TrackBoundingBox;
        contextName?: string;
        coordTimes?: string[][];
        epsilon?: number;
        providerId?: string;
        resolution?: string;
        values?: Record<string, (string | number | null)[][]>;
    }
    Index
    context: Context

    The Signal K context this track belongs to.

    from: string

    Time of the first returned point.

    isSelf: boolean

    Whether this is the own vessel's track.

    pointCount: number

    Number of points returned across all segments.

    to: string

    Time of the last returned point.

    appliedProperties?: Path[]

    Which of the requested TracksRequest.properties the provider actually returned.

    Reported rather than inferred, for the same reason resolution and epsilon are: a client must be able to tell "this provider does not have that path" from "that path had no values in this window".

    Bounding box of the returned geometry, [west, south, east, north].

    contextName?: string

    Name of the vessel, aircraft or other context, when known.

    Not the name of the track: a track recorded from position data has no name of its own. Named tracks are resources/tracks.

    coordTimes?: string[][]

    Recording time of every point, ISO 8601 UTC, nested to match geometry.coordinates: coordTimes[i][j] is when coordinates[i][j] was recorded.

    Follows the coordTimes convention used by GPX-to-GeoJSON converters, which RFC 7946 permits as a foreign member of properties. The nesting for MultiLineString is specified here because the convention only covers LineString.

    epsilon?: number

    Simplification tolerance actually applied, in metres.

    providerId?: string

    Which registered provider answered for this track.

    Set by the server from the registry, so a provider neither has to name itself nor can name itself wrongly. Every registered provider is queried and their features concatenated, so a vessel recorded by two of them yields two features, and this is what tells them apart.

    resolution?: string

    Spacing actually applied, as an ISO 8601 duration.

    values?: Record<string, (string | number | null)[][]>

    Values for each requested path, keyed by path and nested to match coordinates: values[path][i][j] belongs with coordinates[i][j].

    A position with no value for a path at that instant carries null rather than being omitted, so the arrays stay aligned.