"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var meta_1 = require("@turf/meta"); var helpers_1 = require("@turf/helpers"); /** * Takes one or more features and calculates the centroid using the mean of all vertices. * This lessens the effect of small islands and artifacts when calculating the centroid of a set of polygons. * * @name centroid * @param {GeoJSON} geojson GeoJSON to be centered * @param {Object} [options={}] Optional Parameters * @param {Object} [options.properties={}] an Object that is used as the {@link Feature}'s properties * @returns {Feature} the centroid of the input features * @example * var polygon = turf.polygon([[[-81, 41], [-88, 36], [-84, 31], [-80, 33], [-77, 39], [-81, 41]]]); * * var centroid = turf.centroid(polygon); * * //addToMap * var addToMap = [polygon, centroid] */ function centroid(geojson, options) { if (options === void 0) { options = {}; } var xSum = 0; var ySum = 0; var len = 0; meta_1.coordEach(geojson, function (coord) { xSum += coord[0]; ySum += coord[1]; len++; }); return helpers_1.point([xSum / len, ySum / len], options.properties); } exports.default = centroid;