Javascript OpenLayers 3,几何图形之间的区域相交

Javascript OpenLayers 3,几何图形之间的区域相交,javascript,intersection,openlayers-3,Javascript,Intersection,Openlayers 3,我正在评估OpenLayers3是否能帮助我们开发日常所需的工具,我发现有一个功能必须存在,但我找不到相关信息 我需要知道OpenLayers是否允许我们计算两个多边形之间的相交面积 我们将在地图上加载不同的图层。通常是一个带有地形分隔的图层,另一个带有地形类 我们需要确定每一类的地形在每一个间隔中有多少,我最好的办法是在不同的层中相交多边形 我在OpenLayers3文档中找不到这样的功能的示例或信息 如果你们中有人知道更好的方法来计算地块中的土地类型数量,我也很高兴知道 编辑:如何实现多边形

我正在评估OpenLayers3是否能帮助我们开发日常所需的工具,我发现有一个功能必须存在,但我找不到相关信息

我需要知道OpenLayers是否允许我们计算两个多边形之间的相交面积

我们将在地图上加载不同的图层。通常是一个带有地形分隔的图层,另一个带有地形类

我们需要确定每一类的地形在每一个间隔中有多少,我最好的办法是在不同的层中相交多边形

我在OpenLayers3文档中找不到这样的功能的示例或信息

如果你们中有人知道更好的方法来计算地块中的土地类型数量,我也很高兴知道


编辑:如何实现多边形碰撞算法?可以吗?

OpenLayers 3本身不提供计算多边形之间相交的函数。但与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)));

OpenLayers 3本身不提供计算多边形之间相交的函数。但与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)));

这似乎很有希望,我可能无法在未来几天投入时间,但一旦我能确认它符合我们的需要,我就会接受答案。我花了相当长的时间才意识到,为了将其与Turf.js一起使用,您必须将OL功能格式转换为GeoJSON。编辑:仍然适用于OL6这似乎很有希望,我可能无法在未来几天投入时间,但一旦我能确认它符合我们的需要,我就会接受答案。我花了相当长的时间才意识到,为了将其用于Turf.js,您必须将OL功能格式转换为GeoJSON。编辑:仍然适用于OL6