OpenLayers.Geometry.LinearRing

A Linear Ring is a special LineString which is closed.  It closes itself automatically on every addPoint/removePoint by adding a copy of the first point as the last point.

Also, as it is the first in the line family to close itself, a getArea() function is defined to calculate the enclosed area of the linearRing

Inherits

Summary
 OpenLayers.Geometry.LinearRing A Linear Ring is a special LineString which is closed. Constructor OpenLayers.Geometry.LinearRing Linear rings are constructed with an array of points. Functions addComponent Adds a point to geometry components. removeComponent Removes a point from geometry components. move Moves a geometry by the given displacement along positive x and y axes. rotate Rotate a geometry around some origin resize Resize a geometry relative to some origin. transform Reproject the components geometry from source to dest. getCentroid {OpenLayers.Geometry.Point} The centroid of the collection getArea getGeodesicArea Calculate the approximate area of the polygon were it projected onto the earth. intersects Determine if the input geometry intersects this one. getVertices Return a list of all points in this geometry.

OpenLayers.Geometry.LinearRing

Linear rings are constructed with an array of points.  This array can represent a closed or open ring.  If the ring is open (the last point does not equal the first point), the constructor will close the ring.  If the ring is already closed (the last point does equal the first point), it will be left closed.

Parameters

 points {Array(OpenLayers.Geometry.Point)} points

Functions

 addComponent: function( point, index )

Adds a point to geometry components.  If the point is to be added to the end of the components array and it is the same as the last point already in that array, the duplicate point is not added.  This has the effect of closing the ring if it is not already closed, and doing the right thing if it is already closed.  This behavior can be overridden by calling the method with a non-null index as the second argument.

Parameters

 point {OpenLayers.Geometry.Point} index {Integer} Index into the array to insert the component

Returns

{Boolean} Was the Point successfully added?

removeComponent

 removeComponent: function( point )

Removes a point from geometry components.

Parameters

 point {OpenLayers.Geometry.Point}

Returns

{Boolean} The component was removed.

move

 move: function( x, y )

Moves a geometry by the given displacement along positive x and y axes.  This modifies the position of the geometry and clears the cached bounds.

Parameters

 x {Float} Distance to move geometry in positive x direction. y {Float} Distance to move geometry in positive y direction.

rotate

 rotate: function( angle, origin )

Rotate a geometry around some origin

Parameters

 angle {Float} Rotation angle in degrees (measured counterclockwise from the positive x-axis) origin {OpenLayers.Geometry.Point} Center point for the rotation

resize

 resize: function( scale, origin, ratio )

Resize a geometry relative to some origin.  Use this method to apply a uniform scaling to a geometry.

Parameters

 scale {Float} Factor by which to scale the geometry.  A scale of 2 doubles the size of the geometry in each dimension (lines, for example, will be twice as long, and polygons will have four times the area). origin {OpenLayers.Geometry.Point} Point of origin for resizing ratio {Float} Optional x:y ratio for resizing.  Default ratio is 1.

Returns

 {} The current geometry.

transform

 transform: function( source, dest )

Reproject the components geometry from source to dest.

Parameters

 source {OpenLayers.Projection} dest {OpenLayers.Projection}

getCentroid

 getCentroid: function()

Returns

{OpenLayers.Geometry.Point} The centroid of the collection

getArea

 getArea: function()
 Note The area is positive if the ring is oriented CW, otherwise it will be negative.

Returns

{Float} The signed area for a ring.

getGeodesicArea

 getGeodesicArea: function( projection )

Calculate the approximate area of the polygon were it projected onto the earth.  Note that this area will be positive if ring is oriented clockwise, otherwise it will be negative.

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 signed geodesic area of the polygon in square meters.

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.

getVertices

 getVertices: function( nodes )

Return a list of all points in this geometry.

Parameters

 nodes {Boolean} For lines, only return vertices that are endpoints.  If false, for lines, only vertices that are not endpoints will be returned.  If not provided, all vertices will be returned.

Returns

{Array} A list of all vertices in the geometry.

 addComponent: function( point, index )
Adds a point to geometry components.
 removeComponent: function( point )
Removes a point from geometry components.
 move: function( x, y )
Moves a geometry by the given displacement along positive x and y axes.
 rotate: function( angle, origin )
Rotate a geometry around some origin
 resize: function( scale, origin, ratio )
Resize a geometry relative to some origin.
 transform: function( source, dest )
Reproject the components geometry from source to dest.
 getCentroid: function()
{OpenLayers.Geometry.Point} The centroid of the collection
Point geometry class.
 getArea: function()
 getGeodesicArea: function( projection )
Calculate the approximate area of the polygon were it projected onto the earth.
 intersects: function( geometry )
Determine if the input geometry intersects this one.
 getVertices: function( nodes )
Return a list of all points in this geometry.
A LineString is a Curve which, once two points have been added to it, can never be less than two points long.
Methods for coordinate transforms between coordinate systems.
A Geometry is a description of a geographic object.