首页 / Turf.js / API 文档
lineIntersect
先看结论
返回两条线相互交叉处的点,共线重叠时结果另算。
turf.lineIntersect(line1, line2) → FeatureCollection
参数
| 参数 | 类型 | 说明 |
|---|---|---|
line1 | Feature / Geometry | LineString、MultiLineString 或 Polygon |
line2 | Feature / 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)。