在用多线线对多边形进行切割动作时,某些返回的几何形状是分组的,而其他几何形状则不是?
我有一个简单的程序,用户可以使用SketchViewModel创建多边形。然后,用户使用SketchViewModel创建了一个多线线。然后,我从每个草图中拿出几何形状,然后从几何文化中剪切。我从切割中得到一系列几何形状,并在删除原始多边形和多线线的同时将它们添加到层中。我希望能分别获得每个细分的部分,但由于某种原因,有些人即使没有连接,有些人也将其分组为一个几何。
//polylineLayer and polygonLayer are graphiclayers
//submit is a html button to call the execution
submit.addEventListener("click", function() {
//subDivisions is an Geometry[] for the produced geometries
//ex. one line through a circle polygon would produce
// two geometries of each half. (this works)
// anything more complicated starts having grouping issues
// (see pictures)
var subDivisions =
geometryEngine.cut(polygonLayer.graphics.getItemAt(0).geometry,
polylineLayer.graphics.getItemAt(0).geometry);
polygonLayer.removeAll();
polylineLayer.removeAll();
//show the number of subdivisions
alert("size: " + subDivisions.length);
// add created geometries to the graphiclayer
for (var i = 0; i < subDivisions.length; i++){
tempGraphic = new Graphic ({
geometry: subDivisions[i]
});
polygonLayer.graphics.add(tempGraphic,i);
}
});
(对不起,链接到照片,我没有10个声誉来发布照片,这是一个非常可视的项目/问题(
开屏:https://ibb.co/wdcgmsn
绘制第一个多边形:https://ibb.co/wd6cdbv
绘制多线线以切割多边形:https://ibb.co/bg32863
预期分区-10实际-7:https://ibb.co/0vmshgg
有些分为单个多边形:https://ibb.co/skxcjr8
其他人不是:https://ibb.co/7wqnb9q
全部分解的碎片:https://ibb.co/pr0smrw
希望我可以发表评论,而不仅仅是回答,但很难说出代码。
基本上您要获得多边形多边形,您需要分解这些多边形。
使用阵列中的拆分来分解多部分的多边形("]],[["(
使用几何服务简化多边形也值得一试。(切割前后(
https://developers.arcgis.com/rest/services-reference/geometry-service.htm