@stadiamaps/api
Version:
Stadia Maps Geospatial APIs
343 lines • 10.1 kB
TypeScript
import { Traversability } from './Traversability';
import { EdgeSign } from './EdgeSign';
import { EndNode } from './EndNode';
import { EdgeUse } from './EdgeUse';
import { RoadClass } from './RoadClass';
import { TravelMode } from './TravelMode';
/**
*
* @export
* @interface TraceEdge
*/
export interface TraceEdge {
/**
* The name(s) of the road at this edge, if any.
* @type {Array<string>}
* @memberof TraceEdge
*/
names?: Array<string>;
/**
* The length of this edge in `units`.
* @type {number}
* @memberof TraceEdge
*/
length?: number;
/**
* The speed of this edge in `units`/hr, in terms of average/free-flow speed for routing purposes. This is affected by any number of factors such as the road service, vehicle type, etc. and not just the posted speed limits.
* @type {number}
* @memberof TraceEdge
*/
speed?: number;
/**
*
* @type {RoadClass}
* @memberof TraceEdge
*/
roadClass?: RoadClass;
/**
* The direction at the beginning of an edge. The units are degrees clockwise from north.
* @type {number}
* @memberof TraceEdge
*/
beginHeading?: number;
/**
* The direction at the end of an edge. The units are degrees clockwise from north.
* @type {number}
* @memberof TraceEdge
*/
endHeading?: number;
/**
* Index into the list of shape points for the start of the edge.
* @type {number}
* @memberof TraceEdge
*/
beginShapeIndex?: number;
/**
* Index into the list of shape points for the end of the edge.
* @type {number}
* @memberof TraceEdge
*/
endShapeIndex?: number;
/**
*
* @type {Traversability}
* @memberof TraceEdge
*/
traversability?: Traversability;
/**
*
* @type {EdgeUse}
* @memberof TraceEdge
*/
use?: EdgeUse;
/**
* True if the edge has a toll.
* @type {boolean}
* @memberof TraceEdge
*/
toll?: boolean;
/**
* True if the edge has rough payment.
* @type {boolean}
* @memberof TraceEdge
*/
unpaved?: boolean;
/**
* True if the edge is a tunnel.
* @type {boolean}
* @memberof TraceEdge
*/
tunnel?: boolean;
/**
* True if the edge is a bridge.
* @type {boolean}
* @memberof TraceEdge
*/
bridge?: boolean;
/**
* True if the edge is a roundabout.
* @type {boolean}
* @memberof TraceEdge
*/
roundabout?: boolean;
/**
* True if the edge is an internal intersection.
* @type {boolean}
* @memberof TraceEdge
*/
internalIntersection?: boolean;
/**
* True if the edge is in an area where you must drive on the right side of the road.
* @type {boolean}
* @memberof TraceEdge
*/
driveOnRight?: boolean;
/**
* The type of surface for the edge.
* @type {string}
* @memberof TraceEdge
*/
surface?: TraceEdgeSurfaceEnum;
/**
*
* @type {EdgeSign}
* @memberof TraceEdge
*/
sign?: EdgeSign;
/**
*
* @type {TravelMode}
* @memberof TraceEdge
*/
travelMode?: TravelMode;
/**
*
* @type {string}
* @memberof TraceEdge
*/
vehicleType?: TraceEdgeVehicleTypeEnum;
/**
*
* @type {string}
* @memberof TraceEdge
*/
pedestrianType?: TraceEdgePedestrianTypeEnum;
/**
*
* @type {string}
* @memberof TraceEdge
*/
bicycleType?: TraceEdgeBicycleTypeEnum;
/**
*
* @type {string}
* @memberof TraceEdge
*/
transitType?: TraceEdgeTransitTypeEnum;
/**
*
* @type {number}
* @memberof TraceEdge
*/
id?: number;
/**
* The way identifier of the edge in OSM.
* @type {number}
* @memberof TraceEdge
*/
wayId?: number;
/**
* The weighted grade factor. The weighted grade is derived from elevation data. It is a measure used for hill avoidance in routing - sort of a relative energy use along an edge. But since an edge can possibly go up and down over several hills, it might not equate to what you would normally think of as grade.
* @type {number}
* @memberof TraceEdge
*/
weightedGrade?: number;
/**
* The maximum upward slope. A value of 32768 indicates no elevation data is available for this edge.
* @type {number}
* @memberof TraceEdge
*/
maxUpwardGrade?: number;
/**
* The maximum downward slope. A value of 32768 indicates no elevation data is available for this edge.
* @type {number}
* @memberof TraceEdge
*/
maxDownwardGrade?: number;
/**
* The mean elevation along the edge. Units are meters by default. If the `units` are specified as miles, then the mean elevation is returned in feet. A value of 32768 indicates no elevation data is available for this edge.
* @type {number}
* @memberof TraceEdge
*/
meanElevation?: number;
/**
* The number of lanes for this edge.
* @type {number}
* @memberof TraceEdge
*/
laneCount?: number;
/**
* The type of cycle lane (if any) along this edge.
* @type {string}
* @memberof TraceEdge
*/
cycleLane?: TraceEdgeCycleLaneEnum;
/**
* The type of bicycle network, if any. This is an integer comprised of constants bitwise or'd together. For example, a route that's part of both a local and mountain network would have a value of 12.
* 1 - National 2 - Regional 4 - Local 8 - Mountain
* @type {number}
* @memberof TraceEdge
*/
bicycleNetwork?: number;
/**
* The difficulty of the hiking trail according to the SAC scale.
* 0 - No Sac Scale 1 - Hiking 2 - Mountain hiking 3 - Demanding mountain hiking 4 - Alpine hiking 5 - Demanding alpine hiking 6 - Difficult alpine hiking
* @type {number}
* @memberof TraceEdge
*/
sacScale?: number;
/**
*
* @type {string}
* @memberof TraceEdge
*/
sidewalk?: TraceEdgeSidewalkEnum;
/**
*
* @type {number}
* @memberof TraceEdge
*/
density?: number;
/**
* The speed limit along the edge measured in `units`/hr. This may be either an integer or the string "unlimited" if speed limit data is available. If absent, there is no speed limit data available.
* @type {number}
* @memberof TraceEdge
*/
speedLimit?: number;
/**
* The truck speed of this edge in `units`/hr, in terms of average/free-flow speed for routing purposes. This is affected by any number of factors such as the road service, vehicle type, etc. and not just the posted speed limits.
* @type {number}
* @memberof TraceEdge
*/
truckSpeed?: number;
/**
* True if the edge is part of a truck route/network.
* @type {boolean}
* @memberof TraceEdge
*/
truckRoute?: boolean;
/**
*
* @type {EndNode}
* @memberof TraceEdge
*/
endNode?: EndNode;
}
/**
* @export
*/
export declare const TraceEdgeSurfaceEnum: {
readonly PavedSmooth: "paved_smooth";
readonly Paved: "paved";
readonly PavedRough: "paved_rough";
readonly Compacted: "compacted";
readonly Dirt: "dirt";
readonly Gravel: "gravel";
readonly Path: "path";
readonly Impassable: "impassable";
};
export type TraceEdgeSurfaceEnum = (typeof TraceEdgeSurfaceEnum)[keyof typeof TraceEdgeSurfaceEnum];
/**
* @export
*/
export declare const TraceEdgeVehicleTypeEnum: {
readonly Car: "car";
readonly Motorcycle: "motorcycle";
readonly Bus: "bus";
readonly TractorTrailer: "tractor_trailer";
readonly GolfCart: "golf_cart";
readonly LowSpeedVehicle: "low_speed_vehicle";
};
export type TraceEdgeVehicleTypeEnum = (typeof TraceEdgeVehicleTypeEnum)[keyof typeof TraceEdgeVehicleTypeEnum];
/**
* @export
*/
export declare const TraceEdgePedestrianTypeEnum: {
readonly Foot: "foot";
readonly Wheelchair: "wheelchair";
readonly Segway: "segway";
};
export type TraceEdgePedestrianTypeEnum = (typeof TraceEdgePedestrianTypeEnum)[keyof typeof TraceEdgePedestrianTypeEnum];
/**
* @export
*/
export declare const TraceEdgeBicycleTypeEnum: {
readonly Road: "road";
readonly Cross: "cross";
readonly Hybrid: "hybrid";
readonly Mountain: "mountain";
};
export type TraceEdgeBicycleTypeEnum = (typeof TraceEdgeBicycleTypeEnum)[keyof typeof TraceEdgeBicycleTypeEnum];
/**
* @export
*/
export declare const TraceEdgeTransitTypeEnum: {
readonly Tram: "tram";
readonly Metro: "metro";
readonly Rail: "rail";
readonly Bus: "bus";
readonly Ferry: "ferry";
readonly CableCar: "cable_car";
readonly Gondola: "gondola";
readonly Funicular: "funicular";
};
export type TraceEdgeTransitTypeEnum = (typeof TraceEdgeTransitTypeEnum)[keyof typeof TraceEdgeTransitTypeEnum];
/**
* @export
*/
export declare const TraceEdgeCycleLaneEnum: {
readonly None: "none";
readonly Shared: "shared";
readonly Dedicated: "dedicated";
readonly Separated: "separated";
};
export type TraceEdgeCycleLaneEnum = (typeof TraceEdgeCycleLaneEnum)[keyof typeof TraceEdgeCycleLaneEnum];
/**
* @export
*/
export declare const TraceEdgeSidewalkEnum: {
readonly Left: "left";
readonly Right: "right";
readonly Both: "both";
readonly None: "none";
};
export type TraceEdgeSidewalkEnum = (typeof TraceEdgeSidewalkEnum)[keyof typeof TraceEdgeSidewalkEnum];
/**
* Check if a given object implements the TraceEdge interface.
*/
export declare function instanceOfTraceEdge(value: object): value is TraceEdge;
export declare function TraceEdgeFromJSON(json: any): TraceEdge;
export declare function TraceEdgeFromJSONTyped(json: any, ignoreDiscriminator: boolean): TraceEdge;
export declare function TraceEdgeToJSON(json: any): TraceEdge;
export declare function TraceEdgeToJSONTyped(value?: TraceEdge | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=TraceEdge.d.ts.map