MEASUREMENT
COORDINATE MUTATION
TRANSFORMATION
FEATURE_CONVERSION
MISC
HELPER
RANDOM
GRIDS
AGGREGATION
META
ASSERTIONS
BOOLEANS
UNIT CONVERSION
DATA
JOINS
CLASSIFICATION

flattenReduce

功能

将一个GeoJSON对象数组(FeatureCollectionFeature或者Geometry)扁平化并进行缩减,返回一个包含所有坐标的数组。

语法

turf.flattenReduce(features, reducer, initialValue)

参数

  • features (FeatureCollection|Feature|Geometry) - GeoJSON对象数组。
  • reducer (Function) - 数组的缩减函数,接受两个参数:累加值和当前值。可以使用JavaScript的reduce函数
  • initialValue (Any) - 可选的累加值的初始值。如果未提供此参数,数组的第一个元素将成为初始值。

返回值

  • (Array) - 包含所有坐标的数组。

示例

var points = turf.featureCollection([
  turf.point([0, 0]),
  turf.polygon([[[1,1], [1,2], [2,2], [2,1]]])
]);

// 累加所有坐标的距离
var reducer = function(sum, coord) {
  return sum + coord[0] + coord[1];
};

var distance = turf.flattenReduce(points, reducer, 0);
// distance === 10

异常

  • Error - 如果features不是一个FeatureCollectionFeature或者Geometry对象,将抛出此异常。
  • Error - 如果reducer不是一个函数,将抛出此异常。