首页 / Turf.js / API 文档
lineToPolygon
先看结论
把闭合或接近闭合的线转成面要素,用于围栏与范围提取。
turf.lineToPolygon(lines, options) → Feature
参数
| 参数 | 类型 | 说明 |
|---|---|---|
lines | Feature / FeatureCollection | 一条或多条线,需构成闭合环 |
options.properties | object | 输出面的属性 |
options.autoComplete | boolean | 自动补上缺口,默认 true |
options.orderCoords | boolean | 调整环的绕向 |
返回值
面要素。多条线需要首尾相接,方向错乱时结果可能自相交。
示例
var ring = turf.lineString([
[116.30, 39.86], [116.46, 39.86], [116.46, 39.96],
[116.30, 39.96], [116.30, 39.86]
]);
var area = turf.lineToPolygon(ring);
console.log(turf.area(area) / 1e6 + ' km²');
与 polygon 的差别
turf.polygon 直接由坐标构造面,不检查闭环;
lineToPolygon 会处理多条线拼接与缺口,
适合从绘制结果转成面。
autoComplete 的副作用
打开后,未闭合的线会被直线补上缺口,面积可能比预期大。 对精度敏感的场景关掉它,并保证输入闭合。
线交叉时结果是不可预期的。手绘围栏常见自相交, 转面之前先做一次自相交检查,或提示用户修正。
经纬志(2026)。《lineToPolygon》。https://www.jingweizhi.com/turf/api/line-to-polygon.html(访问日期 2026-11-03)。