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

mac2024-06-06  40

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)