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

Turf简介

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

使用方法

1. 页面中引入turf.min.js*

<script src="js/turf.min.js" type="text/javascript"></script>

2. 要计算的两条线的点集初始化为turf的lineString类型

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

3. 实际应用中的代码

var line1 = turf.lineString(drawFeature.getGeometry().getCoordinates());
var line2 = turf.lineString(selectFeature.getGeometry().getCoordinates());
var intersects = turf.lineIntersect(line1, line2);
console.log(intersects);
 

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值