Add ol.geom.flat.linearRingsArea

This commit is contained in:
Tom Payne
2013-12-02 12:05:19 +01:00
parent f80cad531b
commit e90776a099
2 changed files with 35 additions and 0 deletions

View File

@@ -371,6 +371,31 @@ ol.geom.flat.linearRingPerimeter =
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.
* @param {Array.<number>} ends Ends.
* @param {number} stride Stride.
* @return {number} Area.
*/
ol.geom.flat.linearRingsArea = function(flatCoordinates, offset, ends, stride) {
var area = 0;
var i, ii;
for (i = 0, ii = ends.length; i < ii; ++i) {
var end = ends[i];
var linearRingArea =
ol.geom.flat.linearRingArea(flatCoordinates, offset, end, stride);
if (i === 0) {
area += linearRingArea;
} else {
area -= linearRingArea;
}
offset = end;
}
return area;
};
/**
* @param {Array.<number>} flatCoordinates Flat coordinates.
* @param {number} offset Offset.