Class: Polygon

ol/geom/Polygon~Polygon


import Polygon from 'ol/geom/Polygon';

Polygon geometry.

new Polygon(coordinates, opt_layout, opt_ends)

geom/Polygon.js, line 29
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)

geom/Polygon.js, line 102

Append the passed linear ring to this polygon.

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

Linear ring.

applyTransform(transformFn) inherited

geom/SimpleGeometry.js, line 200

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.

clone(){module:ol/geom/Polygon~Polygon}

geom/Polygon.js, line 118

Make a complete copy of the geometry.

Returns:
Clone.

getArea(){number}

geom/Polygon.js, line 151

Return the area of the polygon on projected plane.

Returns:
Area (on projected plane).

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

geom/Polygon.js, line 169

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.

getFirstCoordinate(){module:ol/coordinate~Coordinate} inherited

geom/SimpleGeometry.js, line 65

Return the first coordinate of the geometry.

Returns:
First coordinate.

getInteriorPoint(){module:ol/geom/Point~Point}

geom/Polygon.js, line 210

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.

getLastCoordinate(){module:ol/coordinate~Coordinate} inherited

geom/SimpleGeometry.js, line 81

Return the last coordinate of the geometry.

Returns:
Last point.

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

geom/SimpleGeometry.js, line 90

Return the layout of the geometry.

Returns:
Layout.

getLinearRing(index){module:ol/geom/LinearRing~LinearRing}

geom/Polygon.js, line 235

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}

geom/Polygon.js, line 221

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

Returns:
Number of rings.

getLinearRings(){Array.<module:ol/geom/LinearRing~LinearRing>}

geom/Polygon.js, line 248

Return the linear rings of the polygon.

Returns:
Linear rings.

getType(){module:ol/geom/GeometryType}

geom/Polygon.js, line 300

Get the type of this geometry.

Returns:
Geometry type.

intersectsExtent(extent){boolean}

geom/Polygon.js, line 308

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

geom/SimpleGeometry.js, line 211

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

geom/SimpleGeometry.js, line 226

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)

geom/Polygon.js, line 320

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

geom/SimpleGeometry.js, line 249

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.