将一个GeoJSON对象数组(FeatureCollection
、Feature
或者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
不是一个FeatureCollection
、Feature
或者Geometry
对象,将抛出此异常。Error
- 如果reducer
不是一个函数,将抛出此异常。