首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用turfjs实现多边形与多多边形的交叉

利用turfjs实现多边形与多多边形的交叉
EN

Stack Overflow用户
提问于 2016-08-01 03:01:28
回答 1查看 3.1K关注 0票数 1

我使用turfjs执行塔楼的交叉功能,运行了一个错误

绘制层是“多边形”,而我希望它在"MultiPolygon“层中相交。

下面是我的代码片段:

代码语言:javascript
复制
$.getJSON("FloodHazard_CRB_100Year.json", function(baha) { 
            //addDataToMap(data, map); 
            console.log(json);
            console.log(baha);
            //check_intersect(baha,json);
            f1 = baha.features;
            f2 = json.features;

            var conflictlist;

            for (var i = 0; i < f1.length; i++) {
                var parcel1 = f1[i];
                for (var j = 0; j <f2.length; j++) {
                    var parcel2 = f2[j];
                    //console.log("Processing",i,j);
                        var conflict = turf.intersect(parcel1, parcel2);
                        if (conflict != null) {
                            conflictlist = conflict;
                        }
                }
            }
            var intersect_style = {
                fillColor: "#ff0000",
                color: "#000",
                opacity: 1,
                weight:0.5,
                fillOpacity: 0.8
            };
            L.geoJson(conflictlist,{
                style: intersect_style
            }).addTo(map);
            console.log(conflictlist);

            //check_intersect(json);
        });
EN

回答 1

Stack Overflow用户

发布于 2016-08-01 04:09:43

首先要注意的是,Turf需要完整的GeoJSON 对象作为参数,而不仅仅是它们的geometry

那么,如果我的理解是正确的,您的第二个循环是一个解决方案,只需要将多边形传递给turf.intersect,而不是MultiPolygons?

在这种情况下,您首先需要正确地将您的MutiPolygon转换为具有多边形几何的特性集合或数组。然后你可以在它们上循环来执行你的交集。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38690420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档