首页 / 浏览问题 / 组件GIS / 问题详情
BOX裁剪的相关问题
17EXP 2017年09月21日

我在桌面里面测试了一下BOX的位置、高度什么的,然后想在组件里面去实现,但是一直没办法实现这个功能,麻烦帮忙看看哪里出问题了,感谢,代码如下:

        private void toolStripButtonLayer_Click(object sender, EventArgs e)
        {
                GeoStyle3D geostyle3d = new GeoStyle3D();

                //box风格设置
                geostyle3d.AltitudeMode = AltitudeMode.ClampToGround;
                geostyle3d.FillBackColor = Color.FromArgb(50, 125, 0, 0);
                geostyle3d.FillForeColor = Color.FromArgb(50, 125, 0, 0);
                geostyle3d.MarkerColor = Color.FromArgb(50, 125, 0, 0);
                geostyle3d.LineColor = Color.FromArgb(50, 125, 0, 0);
                geobox.Style3D = geostyle3d;

                //box位置设置
                geobox.Position = new Point3D(-140, 100, -18.95);
                geobox.BottomSize = new Size2D(250, 230);
                geobox.Height = 30.25;

                //场景剖面
                foreach (Layer3D clipLayer in sceneControlDemo.Scene.Layers)
                {
                    clipLayer.ClipLineColor = Color.Red;
                    clipLayer.ClipByBox(geobox, BoxClipPart.ClipOuter);
                    //clipLayer.UpdateData();
                }
        }

2 个回答

您好,可以参考范例,进入http://support.supermap.com.cn

然后搜索box裁剪

点击超图代码,即可看见范例。

5,985EXP 2017年09月21日

我就是参考这个写的,也不知道哪里理解错了还是怎么了crying

您好,请问您要裁剪的是什么图层呢?

Box裁剪支持的数据类型有:倾斜摄影数据,模型数据集、模型OSGB缓存,管线数据集、管线scv缓存、管线OSGB缓存;不支持的数据类型有:CAD数据集、模型scv缓存。

另外,如果您要裁剪的是球面场景的话,请确保裁剪包围盒在经纬度范围内,即-180~180,-90~90.
5,560EXP 2017年09月21日
模型的切片OSGB缓存
平面场景还是球面场景?
平面场景
我测试了下,木有问题哈。你那边是什么效果?抛什么异常了?
没有抛异常,就是没有裁剪,你是说用我上面那个代码没问题吗?
嗯,我就改了下position,然后把updatedata的注释给取消了。
嗯嗯,我刚试了一下确实是可以的,但是把图层分组的情况下还是有些问题。
图层分组相关的建议等一下正式版发布哈。
好吧,看来这部分还是不是很稳定咯?
嗯,毕竟现在还是beta版嘛
...