首页 / Turf.js / 使用示例
计算中心点
一个 U 形地块,三种「中心」落在不同位置。 顶点均值直接掉进缺口里,这正是 centroid 与 centerOfMass 的区别。
源码与运行效果
说明
地块轮廓是「凹」进去的 U 形,上方中间缺了一块。 顶点均值受八个顶点位置影响,正好落在缺口中央; 外包盒中心同样落在缺口附近;只有按面积加权的重心留在实心区域。
| 函数 | 本案位置 | 适用场景 |
|---|---|---|
centroid | 缺口内,面外 | 多要素合并求代表点 |
center | 缺口附近,面外 | 快速居中视野 |
centerOfMass | U 形底部,面内 | 标注、符号放置 |
图中灰色小点是原始顶点,用来检查顶点分布是否均匀。
顶点密集的一侧会明显拉偏 centroid,
这也是它不适合直接用于标签定位的原因。
三种中心没有对错,只有语义差别。放到地图上的标注符号,
用 centerOfMass 至少能保证落在面内;
而把一组要素合并成一个点时,centroid 更符合「平均位置」的直觉。