UNPKG

ol

Version:

OpenLayers mapping library

141 lines 4.54 kB
export default LineString; /** * @classdesc * Linestring geometry. * * @api */ declare class LineString extends SimpleGeometry { /** * @param {Array<import("../coordinate.js").Coordinate>|Array<number>} coordinates Coordinates. * For internal use, flat coordinates in combination with `opt_layout` are also accepted. * @param {GeometryLayout=} opt_layout Layout. */ constructor(coordinates: number[] | number[][], opt_layout?: { XY: string; XYZ: string; XYM: string; XYZM: string; }); /** * @private * @type {import("../coordinate.js").Coordinate} */ private flatMidpoint_; /** * @private * @type {number} */ private flatMidpointRevision_; /** * @private * @type {number} */ private maxDelta_; /** * @private * @type {number} */ private maxDeltaRevision_; /** * Append the passed coordinate to the coordinates of the linestring. * @param {import("../coordinate.js").Coordinate} coordinate Coordinate. * @api */ appendCoordinate(coordinate: number[]): void; /** * Make a complete copy of the geometry. * @return {!LineString} Clone. * @override * @api */ clone(): LineString; /** * @inheritDoc */ closestPointXY(x: any, y: any, closestPoint: any, minSquaredDistance: any): any; /** * Iterate over each segment, calling the provided callback. * If the callback returns a truthy value the function returns that * value immediately. Otherwise the function returns `false`. * * @param {function(this: S, import("../coordinate.js").Coordinate, import("../coordinate.js").Coordinate): T} callback Function * called for each segment. The function will receive two arguments, the start and end coordinates of the segment. * @return {T|boolean} Value. * @template T,S * @api */ forEachSegment<T, S>(callback: (this: S, arg1: number[], arg2: number[]) => T): boolean | T; /** * Returns the coordinate at `m` using linear interpolation, or `null` if no * such coordinate exists. * * `opt_extrapolate` controls extrapolation beyond the range of Ms in the * MultiLineString. If `opt_extrapolate` is `true` then Ms less than the first * M will return the first coordinate and Ms greater than the last M will * return the last coordinate. * * @param {number} m M. * @param {boolean=} opt_extrapolate Extrapolate. Default is `false`. * @return {import("../coordinate.js").Coordinate} Coordinate. * @api */ getCoordinateAtM(m: number, opt_extrapolate?: boolean): number[]; /** * Return the coordinates of the linestring. * @return {Array<import("../coordinate.js").Coordinate>} Coordinates. * @override * @api */ getCoordinates(): number[][]; /** * Return the coordinate at the provided fraction along the linestring. * The `fraction` is a number between 0 and 1, where 0 is the start of the * linestring and 1 is the end. * @param {number} fraction Fraction. * @param {import("../coordinate.js").Coordinate=} opt_dest Optional coordinate whose values will * be modified. If not provided, a new coordinate will be returned. * @return {import("../coordinate.js").Coordinate} Coordinate of the interpolated point. * @api */ getCoordinateAt(fraction: number, opt_dest?: number[]): number[]; /** * Return the length of the linestring on projected plane. * @return {number} Length (on projected plane). * @api */ getLength(): number; /** * @return {Array<number>} Flat midpoint. */ getFlatMidpoint(): number[]; /** * @inheritDoc */ getSimplifiedGeometryInternal(squaredTolerance: any): any; /** * @inheritDoc * @api */ getType(): string; /** * @inheritDoc * @api */ intersectsExtent(extent: any): boolean; /** * Set the coordinates of the linestring. * @param {!Array<import("../coordinate.js").Coordinate>} coordinates Coordinates. * @param {GeometryLayout=} opt_layout Layout. * @override * @api */ setCoordinates(coordinates: number[][], opt_layout?: { XY: string; XYZ: string; XYM: string; XYZM: string; }): void; } import SimpleGeometry from "./SimpleGeometry.js"; //# sourceMappingURL=LineString.d.ts.map