经纬志
首页 / Turf.js / API 文档

tin

先看结论

把散点连成互不重叠的三角形,作为插值与三维地形的基础。

最后验证 2026-11-03 · Turf.js 7.x · 更新 2026-10-27 · 引用本文
turf.tin(points, options) → FeatureCollection

参数

参数类型说明
pointsFeatureCollection至少三个点
options.zstring用作高度的属性名,不传为二维三角网

返回值

三角形集合。每个要素的属性含 a、b、c 三个顶点在原数组中的下标,坐标按逆时针排列。

示例

var pts = turf.featureCollection([
  turf.point([116.30, 39.88], { z: 12 }),
  turf.point([116.45, 39.90], { z: 28 }),
  turf.point([116.38, 39.96], { z: 19 }),
  turf.point([116.50, 39.95], { z: 34 })
]);

var mesh = turf.tin(pts, { z: 'z' });
console.log(mesh.features.length);

覆盖范围

三角网只覆盖点集的凸包。边界之外是空白, 需要在矩形范围内铺满时,把四个角点补进点集。

与等值线的配合

三角网上的线性插值比反距离加权更保形,适合做陡变地形的初步建模。 用三角形顶点做重心插值,可以只在需要的位置计算高程。

点重合会破坏剖分。两个点坐标完全相同时,算法可能产生零面积三角形, 表现为渲染时的细缝。生成前按精度去重。

引用本文

经纬志(2026)。《tin》。https://www.jingweizhi.com/turf/api/tin.html(访问日期 2026-11-03)。