Class: Polygon

ol.geom.Polygon

Polygon geometry.

new ol.geom.Polygon(coordinates, opt_layout)

src/ol/geom/polygon.js, line 34
Name Type Description
coordinates Array.<Array.<ol.Coordinate>>

Coordinates.

layout ol.geom.GeometryLayout

Layout.

Fires:
  • change experimental - Triggered when the revision counter is increased.
  • propertychange (ol.ObjectEvent) - Triggered when a property is changed.

Extends

Methods

ol.geom.Polygon.circular(sphere, center, radius, opt_n){ol.geom.Polygon}

src/ol/geom/polygon.js, line 387

Create an approximation of a circle on the surface of a sphere.

Name Type Description
sphere ol.Sphere

The sphere.

center ol.Coordinate

Center ([lon, lat] in degrees).

radius number

The great-circle distance from the center to the polygon vertices.

n number

Optional number of vertices for the resulting polygon. Default is 32.

Returns:
The "circular" polygon.

ol.geom.Polygon.fromCircle(circle, opt_sides, opt_angle){ol.geom.Polygon} experimental

src/ol/geom/polygon.js, line 433

Create a regular polygon from a circle.

Name Type Description
circle ol.geom.Circle

Circle geometry.

sides number

Number of sides of the polygon. Default is 32.

angle number

Start angle for the first vertex of the polygon in radians. Default is 0.

Returns:
Polygon geometry.

ol.geom.Polygon.fromExtent(extent){ol.geom.Polygon} experimental

src/ol/geom/polygon.js, line 410

Create a polygon from an extent. The layout used is XY.

Name Type Description
extent ol.Extent

The extent.

Returns:
The polygon.

appendLinearRing(linearRing)

src/ol/geom/polygon.js, line 91

Append the passed linear ring to this polygon.

Name Type Description
linearRing ol.geom.LinearRing

Linear ring.

applyTransform(transformFn) inherited

src/ol/geom/simplegeometry.js, line 255

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 ol.TransformFunction

Transform.

changed() inherited experimental

src/ol/observable.js, line 50

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

clone(){ol.geom.Polygon}

src/ol/geom/polygon.js, line 109

Make a complete copy of the geometry.

Returns:
Clone.

dispatchEvent(event) inherited experimental

src/ol/observable.js, line 72

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 goog.events.EventLike

Event object.

get(key){*} inherited

src/ol/object.js, line 147

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

getArea(){number}

src/ol/geom/polygon.js, line 150

Return the area of the polygon on projected plane.

Returns:
Area (on projected plane).

getClosestPoint(point, opt_closestPoint){ol.Coordinate} inherited

src/ol/geom/geometry.js, line 125

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

Name Type Description
point ol.Coordinate

Point.

closestPoint ol.Coordinate

Closest point.

Returns:
Closest point.

getCoordinates(opt_right){Array.<Array.<ol.Coordinate>>}

src/ol/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.

getExtent(opt_extent){ol.Extent} inherited

src/ol/geom/geometry.js, line 163

Get the extent of the geometry.

Name Type Description
extent ol.Extent

Extent.

Returns:
extent Extent.

getFirstCoordinate(){ol.Coordinate} inherited

src/ol/geom/simplegeometry.js, line 111

Return the first coordinate of the geometry.

Returns:
First coordinate.

getInteriorPoint(){ol.geom.Point}

src/ol/geom/polygon.js, line 212

Return an interior point of the polygon.

Returns:
Interior point.

getKeys(){Array.<string>} inherited

src/ol/object.js, line 161

Get a list of object property names.

Returns:
List of property names.

getLastCoordinate(){ol.Coordinate} inherited

src/ol/geom/simplegeometry.js, line 129

Return the last coordinate of the geometry.

Returns:
Last point.

getLayout(){ol.geom.GeometryLayout} inherited

src/ol/geom/simplegeometry.js, line 139

Return the layout of the geometry.

Returns:
Layout.

getLinearRing(index){ol.geom.LinearRing}

src/ol/geom/polygon.js, line 239

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} experimental

src/ol/geom/polygon.js, line 224

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

Returns:
Number of rings.

getLinearRings(){Array.<ol.geom.LinearRing>}

src/ol/geom/polygon.js, line 257

Return the linear rings of the polygon.

Returns:
Linear rings.

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

src/ol/object.js, line 171

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited experimental

src/ol/observable.js, line 81

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

Returns:
Revision.

getType(){ol.geom.GeometryType}

src/ol/geom/polygon.js, line 317

Get the type of this geometry.

Returns:
Geometry type.

intersectsExtent(extent){boolean}

src/ol/geom/polygon.js, line 326

Test if the geometry and the passed extent intersect.

Name Type Description
extent ol.Extent

Extent.

Returns:
true if the geometry and the extent intersect.

on(type, listener, opt_this){goog.events.Key} inherited

src/ol/observable.js, line 94

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.

this Object

The object to use as this in listener.

Returns:
Unique key for the listener.

once(type, listener, opt_this){goog.events.Key} inherited

src/ol/observable.js, line 107

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.

this Object

The object to use as this in listener.

Returns:
Unique key for the listener.

set(key, value, opt_silent) inherited

src/ol/object.js, line 201

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

silent boolean

Update without triggering an event.

setCoordinates(coordinates, opt_layout)

src/ol/geom/polygon.js, line 338

Set the coordinates of the polygon.

Name Type Description
coordinates Array.<Array.<ol.Coordinate>>

Coordinates.

layout ol.geom.GeometryLayout

Layout.

setProperties(values, opt_silent) inherited

src/ol/object.js, line 221

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

Update without triggering an event.

simplify(tolerance){ol.geom.Geometry} inherited experimental

src/ol/geom/geometry.js, line 184

Create a simplified version of this geometry. For linestrings, this uses the 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){ol.geom.Geometry} inherited

src/ol/geom/geometry.js, line 253

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 ol.proj.ProjectionLike

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

destination ol.proj.ProjectionLike

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

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

translate(deltaX, deltaY) inherited

src/ol/geom/simplegeometry.js, line 267

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, opt_this) inherited

src/ol/observable.js, line 120

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.

this Object

The object which was used as this by the listener.

unByKey(key) inherited

src/ol/observable.js, line 133

Removes an event listener using the key returned by on() or once(). Note that using the ol.Observable.unByKey static function is to be preferred.

Name Type Description
key goog.events.Key

The key returned by on() or once().

unset(key, opt_silent) inherited

src/ol/object.js, line 235

Unsets a property.

Name Type Description
key string

Key name.

silent boolean

Unset without triggering an event.