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