首页 / 浏览问题 / 三维GIS / 问题详情
三维缓冲分析得到的Geometry3D如何显示出来?
581EXP 2016年12月07日

产品:iObjects 8.1

通过做三维缓冲分析得到的Geometry3D,我想将这个Geometry3D在场景中显示出来,请问怎么弄?

1个回答

您好,有2个办法:

(1)把这个对象存在三维数据集(或者CAD数据集)再加到场景;

(2)加到场景跟踪层。
3,389EXP 2016年12月07日

SupErMap iObject .NET 8C 三维缓冲区分析结果添加到跟踪图层,为什么显示不出来?

通过Geometrist3D.CreateBuffer方法生成的三维缓冲区模型无法添加到跟踪图层和KML图层,要把它添加到模型数据集,在把模型数据集添加到场景图层。

所以讲三维缓冲分析得到的Geometry3D加载到场景的方法应该只有一个,就是先添加到三维数据集(或者CAD数据集)或者模型数据集,然后在把模型数据集添加到场景图层

能不能具体说下如何添加到场景跟踪层?

Scene.TrackingLayer.Add(Geometry)

用户是这样写的,场景中没有变化,缓冲区域也没有出现

您好,调试看看geometry3d有值没?

通过跟踪,geometry3d是有值的,

你刷新一下场景,如果还没有,就是风格没对所以看不见,

然后高度模式你用的是相对地下?

你用绝对高度看看,给一个高程,保证能看见的地方看看有没有。

现在就是用绝对高度了,还是看不见

您好,请问用的什么坐标系。
用的是WGS_1984坐标系
您好,是不是跟踪层没有打开可编辑~~~

跟踪层如何打开可编辑呢?

我做路线飞行,横断面分析等时绘制的线加入到跟踪层都能够显示的
TrackingLayer3D.IsEditable
设置了,依然没有显示

TrackingLayer3D trackinglayer = m_SceneControl.Scene.TrackingLayer;
                    trackinglayer.IsEditable = true;
                    trackinglayer.IsVisible = true;
                    trackinglayer.Add(geometry3d, "点");
那可能是您风格设置的有问题,导致没显示出来。
风格我是这样设置的,不知道是不是风格的问题

Geometry3D geometry3d = SuperMap.Realspace.SpatialAnalyst.Geometrist3D.CreateBuffer(geometry, bufferAnalyst3DParameter, prjCoordSys);
                    GeoStyle3D geoStyle3D = new GeoStyle3D();
                    geoStyle3D.AltitudeMode = AltitudeMode.Absolute;
                    geoStyle3D.BottomAltitude = 200;

                    geoStyle3D.FillMode = FillMode3D.Fill;
                    m_FileColor = Color.Red;
                    geoStyle3D.FillForeColor = m_FileColor;
                    geometry3d.Style3D = geoStyle3D;
您是对什么对象做的三维缓冲区?
三维线数据集,
远程客户电脑查看了一下,确实不行,采取的办法是把查询返回的Geometry3D存在模型数据集,再把模型数据集添加到场景。
问题已按照您给的思路解决了,非常感谢!
...