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

coordReduce

描述

coordReduce 函数可以将一系列的坐标点列表转化成单个点,具体的转换方式可以通过传入的 reducer 函数指定。例如,将一段路线中的所有点转化成该路线的中心点。

语法

coordReduce(points, reducer)

参数

  • points (Array<Number[]>):一系列坐标点数组的数组,例如 [[lng1, lat1], [lng2, lat2], ...]
  • reducer (Function):一个用于执行坐标点约简操作的自定义函数。该函数应该接受两个参数:一个累加器和当前的坐标点。该函数应该返回一个新的累加器值。

返回值

  • (Array<Number>): reduced coords

reducer 函数指定

作为 coordReduce 函数的第二个参数,reducer 函数应该满足以下两个条件:

  1. 接受两个参数,一个累加器和当前的坐标点,例如 reducer(accumulator, currentPoint)
  2. 返回一个新的累加器值。

示例

import { coordReduce } from '@turf/turf';

const points = [
  [-79.0269, 43.2581],
  [-104.9847, 39.7376],
  [-104.9850, 39.7392],
  [-104.9855, 39.7400]
];

const reducer = (accumulator, currentPoint) => [
  accumulator[0] + currentPoint[0],
  accumulator[1] + currentPoint[1]
];

const center = coordReduce(points, reducer);

console.log(center); // [-348.98199999999997, 162.97489999999998]

注意事项

该函数默认使用累加器初始值为 [0,0]。请注意传入的 reducer 函数应该使用有效的累加器值类型。