UNPKG

gis-tools-ts

Version:

A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.

128 lines 4.31 kB
import type { FeatureIterator } from '../index.js'; import type { GPXFixType, GPXLink, GPXMetadata, GPXRoute, GPXTrack, GPXWaypoint } from './types.js'; import type { Properties, VectorFeature, VectorLineStringGeometry, VectorMultiLineStringGeometry, VectorPointGeometry } from '../../index.js'; export * from './types.js'; /** Represents a waypoint, point of interest, or named feature on a map. */ export interface GPXWaypointProperties extends Properties { /** Optional timestamp in ISO 8601 format */ time?: string; /** Optional magnetic variation in degrees */ magvar?: number; /** Height of geoid above WGS84 ellipsoid */ geoidheight?: number; /** Waypoint name */ name?: string; /** Waypoint comment */ cmt?: string; /** Description of the waypoint */ desc?: string; /** Source of data */ src?: string; /** Links to additional information */ link?: GPXLink[]; /** Symbol name for the waypoint */ sym?: string; /** Classification type of the waypoint */ type?: string; /** Type of GPS fix */ fix?: GPXFixType; /** Number of satellites used for the fix */ sat?: number; /** Horizontal dilution of precision */ hdop?: number; /** Vertical dilution of precision */ vdop?: number; /** Position dilution of precision */ pdop?: number; /** Time since last DGPS update in seconds */ ageofdgpsdata?: number; /** ID of DGPS station used */ dgpsid?: number; } /** Represents a route, which is an ordered list of waypoints leading to a destination. */ export interface GPXRouteProperties extends Properties { /** Route name */ name?: string; /** Route comment */ cmt?: string; /** Route description */ desc?: string; /** Source of data */ src?: string; /** Links to external information */ link?: GPXLink[]; /** Route number */ number?: number; /** Classification type of the route */ type?: string; } /** Represents a track, which is an ordered list of points describing a path. */ export interface GPXTrackProperties extends Properties { /** Track name */ name?: string; /** Track comment */ cmt?: string; /** Track description */ desc?: string; /** Source of data */ src?: string; /** Links to external information */ link?: GPXLink[]; /** Track number */ number?: number; /** Classification type of the track */ type?: string; } /** All the possible GPX properties */ export type GPXProperties = GPXWaypointProperties | GPXRouteProperties | GPXTrackProperties; /** * The GPX vector features * - Waypoints * - Routes * - Tracks */ export type GPXVectorFeatures = VectorFeature<GPXMetadata, GPXWaypointProperties, GPXProperties, VectorPointGeometry> | VectorFeature<GPXMetadata, GPXWaypointProperties, GPXRouteProperties, VectorLineStringGeometry<GPXWaypointProperties>> | VectorFeature<GPXMetadata, GPXWaypointProperties, GPXRouteProperties, VectorMultiLineStringGeometry<GPXWaypointProperties>>; /** * # GPX Reader * * ## Description * The GPX Reader is an XML-based GPS Exchange Format (GPX) reader. * * GPX (the GPS Exchange Format) is a light-weight XML data format for the interchange of GPS data * (waypoints, routes, and tracks) between applications and Web services on the Internet. * * Implements the {@link FeatureIterator} interface * * ## Usage * ```ts * import { GPXReader } from 'gis-tools-ts'; * import { FileReader } from 'gis-tools-ts/file'; * * const fileReader = new FileReader('./example.gpx'); * const gpxReader = new GPXReader(fileReader); * * for await (const feature of gpxReader) { * console.log(feature); * } * ``` * * ## Links * https://www.topografix.com/gpx.asp */ export declare class GPXReader implements FeatureIterator<GPXMetadata, GPXWaypointProperties, GPXProperties> { #private; metadata: GPXMetadata; wpt?: GPXWaypoint[]; rte?: GPXRoute[]; trk?: GPXTrack[]; /** * @param input - The data as either a buffer or file reader */ constructor(input: string); /** * Generator to iterate over each WGS84 lon-lat point * @yields {VectorFeature} */ [Symbol.asyncIterator](): AsyncGenerator<GPXVectorFeatures>; } //# sourceMappingURL=index.d.ts.map