# OpenLayers.Geometry.Polygon

Polygon is a collection of Geometry.LinearRings.

#### Inherits from

- OpenLayers.Geometry.Collection
- OpenLayers.Geometry

Summary

OpenLayers.Geometry.Polygon | Polygon is a collection of Geometry.LinearRings.
Properties |
componentTypes | {Array(String)} An array of class names representing the types of components that the collection can include.
Constructor |
OpenLayers.Geometry.Polygon | Constructor for a Polygon geometry.
Functions |
getArea | Calculated by subtracting the areas of the internal holes from the area of the outer hole.
getGeodesicArea | Calculate the approximate area of the polygon were it projected onto the earth.
containsPoint | Test if a point is inside a polygon.
intersects | Determine if the input geometry intersects this one.
distanceTo | Calculate the closest distance between two geometries (on the x-y plane).
createRegularPolygon | Create a regular polygon around a radius.

### Properties

### componentTypes

{Array(String)} An array of class names representing the types of components that the collection can include. A null value means the component types are not restricted.

### Constructor

### OpenLayers.Geometry.Polygon

Constructor for a Polygon geometry. The first ring (this.component[0])is the outer bounds of the polygon and all subsequent rings (this.component[1-n]) are internal holes.

#### Parameters

components | {Array(OpenLayers.Geometry.LinearRing)}

### Functions

### getArea

> getArea: function()

Calculated by subtracting the areas of the internal holes from the area of the outer hole.

#### Returns

{float} The area of the geometry

### getGeodesicArea

> getGeodesicArea: function( | projection | )

Calculate the approximate area of the polygon were it projected onto the earth.

#### Parameters

projection | {OpenLayers.Projection} The spatial reference system for the geometry coordinates. If not provided, Geographic/WGS84 is assumed.

#### Reference

Robert. G. Chamberlain and William H. Duquette, “Some Algorithms for Polygons on a Sphere”, JPL Publication 07-03, Jet Propulsion Laboratory, Pasadena, CA, June 2007 http://trs-new.jpl.nasa.gov/dspace/handle/2014/40409

#### Returns

{float} The approximate geodesic area of the polygon in square meters.

### containsPoint

> containsPoint: function( | point | )

Test if a point is inside a polygon. Points on a polygon edge are considered inside.

#### Parameters

point | {OpenLayers.Geometry.Point}

#### Returns

{Boolean | Number} The point is inside the polygon. Returns 1 if the point is on an edge. Returns boolean otherwise.

### intersects

> intersects: function( | geometry | )

Determine if the input geometry intersects this one.

#### Parameters

geometry | {OpenLayers.Geometry} Any type of geometry.

#### Returns

{Boolean} The input geometry intersects this one.

### distanceTo

> distanceTo: function( | geometry,
> | options | )

Calculate the closest distance between two geometries (on the x-y plane).

#### Parameters

geometry | {OpenLayers.Geometry} The target geometry.
options | {Object} Optional properties for configuring the distance calculation.

#### Valid options

details | {Boolean} Return details from the distance calculation. Default is false.
edge | {Boolean} Calculate the distance from this geometry to the nearest edge of the target geometry. Default is true. If true, calling distanceTo from a geometry that is wholly contained within the target will result in a non-zero distance. If false, whenever geometries intersect, calling distanceTo will return 0. If false, details cannot be returned.

#### Returns

{Number | Object} The distance between this geometry and the target. If details is true, the return will be an object with distance, x0, y0, x1, and y1 properties. The x0 and y0 properties represent the coordinates of the closest point on this geometry. The x1 and y1 properties represent the coordinates of the closest point on the target geometry.

### createRegularPolygon

> OpenLayers.Geometry.Polygon.createRegularPolygon = function( | origin,
> | radius,
> | sides,
> | rotation | )

Create a regular polygon around a radius. Useful for creating circles and the like.

#### Parameters

origin | {OpenLayers.Geometry.Point} center of polygon.
radius | {Float} distance to vertex, in map units.
sides | {Integer} Number of sides. 20 approximates a circle.
rotation | {Float} original angle of rotation, in degrees.

> getArea: function()

Calculated by subtracting the areas of the internal holes from the area of the outer hole.

> getGeodesicArea: function( | projection | )

Calculate the approximate area of the polygon were it projected onto the earth.

> containsPoint: function( | point | )

Test if a point is inside a polygon.

> intersects: function( | geometry | )

Determine if the input geometry intersects this one.

> distanceTo: function( | geometry,
> | options | )

Calculate the closest distance between two geometries (on the x-y plane).

> OpenLayers.Geometry.Polygon.createRegularPolygon = function( | origin,
> | radius,
> | sides,
> | rotation | )

Create a regular polygon around a radius.
A Collection is exactly what it sounds like: A collection of different Geometries.
A Geometry is a description of a geographic object.
A Linear Ring is a special LineString which is closed.
Methods for coordinate transforms between coordinate systems.
Point geometry class.
Close