Class: MultiLineString

ol/geom/MultiLineString~MultiLineString


import MultiLineString from 'ol/geom/MultiLineString.js';

Multi-linestring geometry.

new MultiLineString(coordinates, layout, ends)

Name Type Description
coordinates Array.<(Array.<module:ol/coordinate~Coordinate>|module:ol/geom/LineString~LineString)> | Array.<number>

Coordinates or LineString geometries. (For internal use, flat coordinates in combination with layout and ends are also accepted.)

layout GeometryLayout | undefined

Layout.

ends Array.<number> | undefined

Flat coordinate ends for internal use.

Fires:

Extends

Methods

appendLineString(lineString)

Append the passed linestring to the multilinestring.

Name Type Description
lineString LineString

LineString.

applyTransform(transformFn) inherited

Apply a transform function to the coordinates of the geometry. The geometry is modified in place. If you do not want the geometry modified in place, first clone() it and then use this function on the clone.

Name Type Description
transformFn TransformFunction

Transform function. Called with a flat array of geometry coordinates.

Increases the revision counter and dispatches a 'change' event.

Make a complete copy of the geometry.

Returns:
Clone.

dispatchEvent(event){boolean | undefined} inherited

Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a type property.

Name Type Description
event BaseEvent | string

Event object.

Returns:
false if anyone called preventDefault on the event object or if any of the listeners returned false.

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

getClosestPoint(point, closestPoint){Coordinate} inherited

Return the closest point of the geometry to the passed point as coordinate.

Name Type Description
point Coordinate

Point.

closestPoint Coordinate | undefined

Closest point.

Returns:
Closest point.

getCoordinateAtM(m, extrapolate, interpolate){Coordinate | null}

Returns the coordinate at m using linear interpolation, or null if no such coordinate exists.

extrapolate controls extrapolation beyond the range of Ms in the MultiLineString. If 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.

interpolate controls interpolation between consecutive LineStrings within the MultiLineString. If interpolate is true the coordinates will be linearly interpolated between the last coordinate of one LineString and the first coordinate of the next LineString. If interpolate is false then the function will return null for Ms falling between LineStrings.

Name Type Description
m number

M.

extrapolate boolean | undefined

Extrapolate. Default is false.

interpolate boolean | undefined

Interpolate. Default is false.

Returns:
Coordinate.

getCoordinates(){Array<Array<Coordinate>>}

Return the coordinates of the multilinestring.

Returns:
Coordinates.

Get the extent of the geometry.

Name Type Description
extent Extent | undefined

Extent.

Returns:
extent Extent.

Return the first coordinate of the geometry.

Returns:
First coordinate.

getKeys(){Array.<string>} inherited

Get a list of object property names.

Returns:
List of property names.

Return the last coordinate of the geometry.

Returns:
Last point.

Return the layout of the geometry.

Returns:
Layout.

Return the linestring at the specified index.

Name Type Description
index number

Index.

Returns:
LineString.

getLineStrings(){Array<LineString>}

Return the linestrings of this multilinestring.

Returns:
LineStrings.

getProperties(){Object.<string, *>} inherited

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited

Get the version number for this object. Each time the object is modified, its version number will be incremented.

Returns:
Revision.

Get the type of this geometry.

Returns:
Geometry type.

intersectsCoordinate(coordinate){boolean} inherited

Returns true if this geometry includes the specified coordinate. If the coordinate is on the boundary of the geometry, returns false.

Name Type Description
coordinate Coordinate

Coordinate.

Returns:
Contains coordinate.

intersectsExtent(extent){boolean}

Test if the geometry and the passed extent intersect.

Name Type Description
extent Extent

Extent.

Returns:
true if the geometry and the extent intersect.

on(type, listener){EventsKey | Array<EventsKey>} inherited

Listen for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

once(type, listener){EventsKey | Array<EventsKey>} inherited

Listen once for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

rotate(angle, anchor) inherited

Rotate the geometry around a given coordinate. This modifies the geometry coordinates in place.

Name Type Description
angle number

Rotation angle in counter-clockwise radians.

anchor Coordinate

The rotation center.

scale(sx, sy, anchor) inherited

Scale the geometry (with an optional origin). This modifies the geometry coordinates in place.

Name Type Description
sx number

The scaling factor in the x-direction.

sy number | undefined

The scaling factor in the y-direction (defaults to sx).

anchor Coordinate | undefined

The scale origin (defaults to the center of the geometry extent).

set(key, value, silent) inherited

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

silent boolean | undefined

Update without triggering an event.

setCoordinates(coordinates, layout)

Set the coordinates of the multilinestring.

Name Type Description
coordinates Array<Array<Coordinate>>

Coordinates.

layout GeometryLayout | undefined

Layout.

setProperties(values, silent) inherited

Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

Name Type Description
values Object.<string, *>

Values.

silent boolean | undefined

Update without triggering an event.

Create a simplified version of this geometry. For linestrings, this uses the Douglas Peucker algorithm. For polygons, a quantization-based simplification is used to preserve topology.

Name Type Description
tolerance number

The tolerance distance for simplification.

Returns:
A new, simplified version of the original geometry.

transform(source, destination){this} inherited

Transform each coordinate of the geometry from one coordinate reference system to another. The geometry is modified in place. For example, a line will be transformed to a line and a circle to a circle. If you do not want the geometry modified in place, first clone() it and then use this function on the clone.

Name Type Description
source ProjectionLike

The current projection. Can be a string identifier or a Projection object.

destination ProjectionLike

The desired projection. Can be a string identifier or a Projection object.

Returns:
This geometry. Note that original geometry is modified in place.

translate(deltaX, deltaY) inherited

Translate the geometry. This modifies the geometry coordinates in place. If instead you want a new geometry, first clone() this geometry.

Name Type Description
deltaX number

Delta X.

deltaY number

Delta Y.

un(type, listener) inherited

Unlisten for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

unset(key, silent) inherited

Unsets a property.

Name Type Description
key string

Key name.

silent boolean | undefined

Unset without triggering an event.