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

lineToPolygon

先看结论

把闭合或接近闭合的线转成面要素,用于围栏与范围提取。

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

参数

参数类型说明
linesFeature / FeatureCollection一条或多条线,需构成闭合环
options.propertiesobject输出面的属性
options.autoCompleteboolean自动补上缺口,默认 true
options.orderCoordsboolean调整环的绕向

返回值

面要素。多条线需要首尾相接,方向错乱时结果可能自相交。

示例

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)。