Polygon is a collection of Geometry.LinearRings.
ALKMaps. | 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 | |
ALKMaps. | 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. |
createGeodesicPolygon | Create a regular polygon around a radius. |
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.
components | {Array(ALKMaps.Geometry.LinearRing)} |
getGeodesicArea: function( projection )
Calculate the approximate area of the polygon were it projected onto the earth.
projection | {ALKMaps.Projection} The spatial reference system for the geometry coordinates. If not provided, Geographic/WGS84 is assumed. |
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 https://trs-new.jpl.nasa.gov
{float} The approximate geodesic area of the polygon in square meters.
containsPoint: function( point )
Test if a point is inside a polygon. Points on a polygon edge are considered inside.
point | {ALKMaps.Geometry.Point} |
{Boolean | Number} The point is inside the polygon. Returns 1 if the point is on an edge. Returns boolean otherwise.
intersects: function( geometry )
Determine if the input geometry intersects this one.
geometry | {ALKMaps.Geometry} Any type of geometry. |
{Boolean} The input geometry intersects this one.
distanceTo: function( geometry, options )
Calculate the closest distance between two geometries (on the x-y plane).
geometry | {ALKMaps.Geometry} The target geometry. |
options | {Object} Optional properties for configuring the distance calculation. |
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. |
{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.
ALKMaps.Geometry.Polygon.createRegularPolygon = function( origin, radius, sides, rotation )
Create a regular polygon around a radius. Useful for creating circles and the like.
origin | {ALKMaps.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. |
ALKMaps.Geometry.Polygon.createGeodesicPolygon = function( origin, radius, sides, rotation, projection )
Create a regular polygon around a radius. Useful for creating circles and the like.
origin | {ALKMaps.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. |
projection | {ALKMaps.Projection} the map’s projection |
Calculated by subtracting the areas of the internal holes from the area of the outer hole.
getArea: function()
Calculate the approximate area of the polygon were it projected onto the earth.
getGeodesicArea: function( projection )
Test if a point is inside a polygon.
containsPoint: function( point )
Determine if the input geometry intersects this one.
intersects: function( geometry )
Calculate the closest distance between two geometries (on the x-y plane).
distanceTo: function( geometry, options )
Create a regular polygon around a radius.
ALKMaps.Geometry.Polygon.createRegularPolygon = function( origin, radius, sides, rotation )
Create a regular polygon around a radius.
ALKMaps.Geometry.Polygon.createGeodesicPolygon = function( origin, radius, sides, rotation, projection )