Class: Polygon

ol/geom/Polygon~Polygon


import Polygon from 'ol/geom/Polygon';

Polygon geometry.

new Polygon(coordinates, opt_layout, opt_ends)

Name Type Description
coordinates !Array.<Array.<module:ol/coordinate~Coordinate>> | !Array.<number>

Array of linear rings that define the polygon. The first linear ring of the array defines the outer-boundary or surface of the polygon. Each subsequent linear ring defines a hole in the surface of the polygon. A linear ring is an array of vertices' coordinates where the first coordinate and the last are equivalent. (For internal use, flat coordinates in combination with opt_layout and opt_ends are also accepted.)

layout module:ol/geom/GeometryLayout

Layout.

ends Array.<number>

Ends (for internal use with flat coordinates).

Fires:

Extends

Methods

appendLinearRing(linearRing)

Append the passed linear ring to this polygon.

Name Type Description
linearRing module:ol/geom/LinearRing~LinearRing

Linear ring.

applyTransform(transformFn) inherited

Apply a transform function to each coordinate 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 module:ol/proj~TransformFunction

Transform.

Make a complete copy of the geometry.

Returns:
Clone.

getArea(){number}

Return the area of the polygon on projected plane.

Returns:
Area (on projected plane).

getCoordinates(opt_right){Array.<Array.<module:ol/coordinate~Coordinate>>}

Get the coordinate array for this geometry. This array has the structure of a GeoJSON coordinate array for polygons.

Name Type Description
right boolean

Orient coordinates according to the right-hand rule (counter-clockwise for exterior and clockwise for interior rings). If false, coordinates will be oriented according to the left-hand rule (clockwise for exterior and counter-clockwise for interior rings). By default, coordinate orientation will depend on how the geometry was constructed.

Returns:
Coordinates.

Return the first coordinate of the geometry.

Returns:
First coordinate.

Return an interior point of the polygon.

Returns:
Interior point as XYM coordinate, where M is the length of the horizontal intersection that the point belongs to.

Return the last coordinate of the geometry.

Returns:
Last point.

getLayout(){module:ol/geom/Geometry~GeometryLayout} inherited

Return the layout of the geometry.

Returns:
Layout.

Return the Nth linear ring of the polygon geometry. Return null if the given index is out of range. The exterior linear ring is available at index 0 and the interior rings at index 1 and beyond.

Name Type Description
index number

Index.

Returns:
Linear ring.

getLinearRingCount(){number}

Return the number of rings of the polygon, this includes the exterior ring and any interior rings.

Returns:
Number of rings.

Return the linear rings of the polygon.

Returns:
Linear rings.

Get the type of this geometry.

Returns:
Geometry type.

intersectsExtent(extent){boolean}

Test if the geometry and the passed extent intersect.

Name Type Description
extent module:ol/extent~Extent

Extent.

Returns:
true if the geometry and the extent intersect.

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 radians.

anchor module:ol/coordinate~Coordinate

The rotation center.

scale(sx, opt_sy, opt_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

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

anchor module:ol/coordinate~Coordinate

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

setCoordinates(coordinates, opt_layout)

Set the coordinates of the polygon.

Name Type Description
coordinates Array.<Array.<module:ol/coordinate~Coordinate>>

Coordinates.

layout module:ol/geom/GeometryLayout

Layout.

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.