# segmentReduce

Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce() (Multi)Point geometries do not contain segments therefore they are ignored during this operation.
在任何GeoJSON对象中减少2-vertex线段,类似于Array.reduce()(多)Point几何图形不包含线段,因此在此操作期间将忽略它们。

> npm install @turf/meta

参数

参数 类型 描述
geojson (FeatureCollection|Feature|Geometry) any GeoJSON
callback Function 回调函数 (previousValue, currentSegment, currentIndex)
initialValue (*) 回调函数第一个参数初始值

返回

undefined - undefined

示例

// 注意:polygon首尾坐标要一致
var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);

// Iterate over GeoJSON by 2-vertex segments
turf.segmentReduce(polygon, function (previousSegment, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {
  //= previousSegment
  //= currentSegment
  //= featureIndex
  //= multiFeatureIndex
  //= geometryIndex
  //= segmentInex
  return currentSegment
});

// Calculate the total number of segments
var initialValue = 0
var total = turf.segmentReduce(polygon, function (previousValue) {
    previousValue++;
    return previousValue;
}, initialValue);
Last Updated: 1/17/2023, 5:38:58 PM