Bar*_*rdo 1 javascript intersection openlayers-3
我正在评估OpenLayers3是否能够为我们提供日常所需的一些工具,而且我遇到了一个我不得不存在但我无法找到相关信息的功能.
我需要知道OpenLayers是否允许我们计算两个多边形之间的交叉区域.
我们将在地图上加载不同的图层.通常是具有地形分离的图层和具有地形类的其他图层.
我们需要在每个分离中确定每个类的地形有多少,而我最好的拍摄是通过在不同层中交叉多边形.
我无法在OpenLayers3文档中找到有关此功能的示例或信息.
如果你们中的任何一个人都知道一个更好的方法来计算一个地块中的土地类型数量,我也很高兴知道它.
编辑:如何实现多边形碰撞算法?将萨瑟兰-Hodgman算法做的伎俩?
OpenLayers 3本身不提供计算多边形之间交集的函数.但它是相对简单的使用Turf.js与OL3:
var polygon1 = new ol.Feature(new ol.geom.Polygon(...));
var polygon2 = new ol.Feature(new ol.geom.Polygon(...));
var format = new ol.format.GeoJSON();
var intersection = format.readFeature(
turf.intersect(
format.writeFeatureObject(polygon1),
format.writeFeatureObject(polygon2)));
Run Code Online (Sandbox Code Playgroud)