计算两条线或多边形的交点(LineString | MultiLineString | Polygon )

Turf.js是一款强大的JavaScript GIS库,用于空间数据分析。本文介绍如何使用Turf.js中的line-intersect模块来计算并获取任意LineString或Polygon GeoJSON的交点,适用于地图数据处理与空间分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算两条线或多边形的交点(LineString | MultiLineString | Polygon )

Turf简介

Turf是用JavaScript编写的模块化GIS地理空间引擎,用于空间分析的JavaScript库。它包括传统的空间操作,用于创建GeoJSON数据的辅助函数,以及数据分类、空间计算和统计工具。
使用Turf中的line-intersect模块可以获取任何LineString或Polygon GeoJSON的相交点。

使用方法

  1. 页面中引入turf.min.js*,文末提供此JS的下载链接;
// 选择你自己项目存放js的src
<script src="js/turf.min.js" type="text/javascript"></script>
  1. 将要计算的两条线的点集初始化为turf的lineString类型
// 选择你自己项目存放js的src
var line1 = turf.lineString([[126, -11], [129, -21]]);
var line2 = turf.lineString([[123, -18], [131, -14]]);
var intersects = turf.lineIntersect(line1, line2);

intersects 即为返回的两条线的交点,返回类型为FeatureCollection ,若无交点,返回为空集合
turf.lineString()中的参数支持如下类型Geometry | FeatureCollection | Feature<(LineString | MultiLineString | Polygon | MultiPolygon)>

  1. 实际应用中的代码;
var line1 = turf.lineString(drawFeature.getGeometry().getCoordinates());
var line2 = turf.lineString(selectFeature.getGeometry().getCoordinates());
var intersects = turf.lineIntersect(line1, line2);
console.log(intersects);

效果展示

在这里插入图片描述

下载链接

turf.min.js下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值