From d45734634a5f5c5cd2ca5af7c1e7b865d3d69055 Mon Sep 17 00:00:00 2001 From: Tom Payne Date: Tue, 26 Nov 2013 16:26:35 +0100 Subject: [PATCH] Add ol.geom.flat.linearRingPerimeter --- src/ol/geom/flatgeom.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/ol/geom/flatgeom.js b/src/ol/geom/flatgeom.js index df418f842a..5744c99822 100644 --- a/src/ol/geom/flatgeom.js +++ b/src/ol/geom/flatgeom.js @@ -216,6 +216,24 @@ ol.geom.flat.linearRingIsClockwise = }; +/** + * @param {Array.} flatCoordinates Flat coordinates. + * @param {number} offset Offset. + * @param {number} end End. + * @param {number} stride Stride. + * @return {number} Perimeter. + */ +ol.geom.flat.linearRingPerimeter = + function(flatCoordinates, offset, end, stride) { + var perimeter = + ol.geom.flat.lineStringLength(flatCoordinates, offset, end, stride); + var dx = flatCoordinates[end - stride] - flatCoordinates[offset]; + var dy = flatCoordinates[end - stride + 1] - flatCoordinates[offset + 1]; + perimeter += Math.sqrt(dx * dx + dy * dy); + return perimeter; +}; + + /** * @param {Array.} flatCoordinates Flat coordinates. * @param {number} offset Offset.