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

lineIntersect

先看结论

返回两条线相互交叉处的点,共线重叠时结果另算。

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

参数

参数类型说明
line1Feature / GeometryLineString、MultiLineString 或 Polygon
line2Feature / Geometry同上,两个参数顺序无关

返回值

点要素集合。没有交点时返回空集合,不返回 null。

示例

var a = turf.lineString([[116.30, 39.90], [116.50, 39.92]]);
var b = turf.lineString([[116.35, 39.85], [116.40, 39.98]]);

var pts = turf.lineIntersect(a, b);
console.log(pts.features.length);   // 1
console.log(pts.features[0].geometry.coordinates);

共线与端点

两条线部分重合时,返回的往往只有重合段的端点,而不是整段。 需要重合段本身,改用 intersect 求两个线的交集, 或先把线转成面再做交集。

与 intersect 的区别

lineIntersect 输出点,intersect 输出几何体。 判断「两条路是否相交」用前者更直接;需要相交段长度时用后者。

浮点坐标可能漏掉交点。两条线在端点处理论上相接, 但小数位不同就会判定不相交。参与运算前统一坐标精度。

引用本文

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