gis-tools-ts
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
128 lines • 4.31 kB
TypeScript
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