获取地理点位数组的中心点。
此函数接收一个 ESJVector3DArray 类型的点位数组,首先检查数组的首尾点是否一致,如果不一致则将首点添加到数组末尾, 以确保形成一个封闭的多边形。然后使用 turf 库中的函数计算该多边形的质心,并返回该质心作为中心点。
点位数组,每个点由一个长度为 3 的数组 [x, y, z] 表示。
计算得到的中心点,也是一个长度为 3 的数组 [x, y, z]。如果原数组中没有提供 z 坐标, 则默认使用首点的 z 坐标,若首点也没有 z 坐标,则 z 坐标默认为 0。
// 示例点位数组const positions: ESJVector3DArray = [ [100, 0, 0], [101, 0, 0], [101, 1, 0], [100, 1, 0]];// 计算中心点const center = geoCenterOfMass(positions);console.log(center); // 输出计算得到的中心点 复制
// 示例点位数组const positions: ESJVector3DArray = [ [100, 0, 0], [101, 0, 0], [101, 1, 0], [100, 1, 0]];// 计算中心点const center = geoCenterOfMass(positions);console.log(center); // 输出计算得到的中心点
获取地理点位数组的中心点。
此函数接收一个 ESJVector3DArray 类型的点位数组,首先检查数组的首尾点是否一致,如果不一致则将首点添加到数组末尾, 以确保形成一个封闭的多边形。然后使用 turf 库中的函数计算该多边形的质心,并返回该质心作为中心点。