@stadiamaps/api
Version:
Stadia Maps Geospatial APIs
116 lines • 5.91 kB
TypeScript
import { RoutingWaypointAllOfSearchFilter } from './RoutingWaypointAllOfSearchFilter';
/**
*
* @export
* @interface RoutingWaypoint
*/
export interface RoutingWaypoint {
/**
* The latitude of a point in the shape.
* @type {number}
* @memberof RoutingWaypoint
*/
lat: number;
/**
* The longitude of a point in the shape.
* @type {number}
* @memberof RoutingWaypoint
*/
lon: number;
/**
* A `break` represents the start or end of a leg, and allows reversals. A `through` location is an intermediate waypoint that must be visited between `break`s, but at which reversals are not allowed. A `via` is similar to a `through` except that reversals are allowed. A `break_through` is similar to a `break` in that it can be the start/end of a leg, but does not allow reversals. Defaults to `break`.
* @type {string}
* @memberof RoutingWaypoint
*/
type?: RoutingWaypointTypeEnum;
/**
* The preferred direction of travel when starting the route, in integer clockwise degrees from north. North is 0, south is 180, east is 90, and west is 270.
* Avoid specifying this unless you really know what you're doing. Most use cases for this are better served by `preferred_side`.
* @type {number}
* @memberof RoutingWaypoint
*/
heading?: number;
/**
* The tolerance (in degrees) determining whether a street is considered the same direction.
* @type {number}
* @memberof RoutingWaypoint
*/
headingTolerance?: number;
/**
* The minimum number of nodes that must be reachable for a given edge to consider that edge as belonging to a connected region. If a candidate edge has fewer connections, it will be considered a disconnected island.
* @type {number}
* @memberof RoutingWaypoint
*/
minimumReachability?: number;
/**
* The distance (in meters) to look for candidate edges around the location for purposes of snapping locations to the route graph. If there are no candidates within this distance, the closest candidate within a reasonable search distance will be used. This is subject to clamping by internal limits.
* This allows the routing engine to match another edge which is NOT the closest to your location, but in within this range. This can be useful if you have other constraints and want to disambiguate, but beware that this can lead to very strange results, particularly if you have specified other parameters like `heading`. This is an advanced feature and should only be used with extreme care.
* @type {number}
* @memberof RoutingWaypoint
*/
radius?: number;
/**
* If true, candidates will be ranked according to their distance from the target location as well as other factors. If false, candidates will only be ranked using their distance from the target.
* @type {boolean}
* @memberof RoutingWaypoint
*/
rankCandidates?: boolean;
/**
* If the location is not offset from the road centerline or is closest to an intersection, this option has no effect. Otherwise, the preferred side of street is used to determine whether or not the location should be visited from the same, opposite or either side of the road with respect to the side of the road the given locale drives on.
* @type {string}
* @memberof RoutingWaypoint
*/
preferredSide?: RoutingWaypointPreferredSideEnum;
/**
* During edge correlation this is the tolerance (in meters) used to determine whether or not to snap to the intersection rather than along the street, if the snap location is within this distance from the intersection, the intersection is used instead.
* @type {number}
* @memberof RoutingWaypoint
*/
nodeSnapTolerance?: number;
/**
* A tolerance in meters from the edge centerline used for determining the side of the street that the location is on. If the distance to the centerline is less than this tolerance, no side will be inferred. Otherwise, the left or right side will be selected depending on the direction of travel.
* @type {number}
* @memberof RoutingWaypoint
*/
streetSideTolerance?: number;
/**
* The max distance in meters that the input coordinates or display lat/lon can be from the edge centerline for them to be used for determining the side of the street. Beyond this distance, no street side is inferred.
* @type {number}
* @memberof RoutingWaypoint
*/
streetSideMaxDistance?: number;
/**
*
* @type {RoutingWaypointAllOfSearchFilter}
* @memberof RoutingWaypoint
*/
searchFilter?: RoutingWaypointAllOfSearchFilter;
}
/**
* @export
*/
export declare const RoutingWaypointTypeEnum: {
readonly Break: "break";
readonly Through: "through";
readonly Via: "via";
readonly BreakThrough: "break_through";
};
export type RoutingWaypointTypeEnum = (typeof RoutingWaypointTypeEnum)[keyof typeof RoutingWaypointTypeEnum];
/**
* @export
*/
export declare const RoutingWaypointPreferredSideEnum: {
readonly Same: "same";
readonly Opposite: "opposite";
readonly Either: "either";
};
export type RoutingWaypointPreferredSideEnum = (typeof RoutingWaypointPreferredSideEnum)[keyof typeof RoutingWaypointPreferredSideEnum];
/**
* Check if a given object implements the RoutingWaypoint interface.
*/
export declare function instanceOfRoutingWaypoint(value: object): value is RoutingWaypoint;
export declare function RoutingWaypointFromJSON(json: any): RoutingWaypoint;
export declare function RoutingWaypointFromJSONTyped(json: any, ignoreDiscriminator: boolean): RoutingWaypoint;
export declare function RoutingWaypointToJSON(json: any): RoutingWaypoint;
export declare function RoutingWaypointToJSONTyped(value?: RoutingWaypoint | null, ignoreDiscriminator?: boolean): any;
//# sourceMappingURL=RoutingWaypoint.d.ts.map