GlobeControl添加图层时,包括三种类型:浮动图层、纹理图层(叠加图层)、高程图层。
浮动图层:使用偏移来显示,可以高出或低于球体表面;
纹理图层:覆盖在球体表面,相当于贴了一层纹理;
高程图层:给球体表面提供地形数据,使纹理图层有起伏。
添加图层:
axGlobeControl1.Globe.AddLayerType(layer, globeLayerType, true);
或 axGlobeControl1.Globe.GlobeDisplay.Scene.AddLayer(layer,true);
遍历图层:
for (int i = 0; i < axGlobeControl1.Globe.GlobeDisplay.Scene.LayerCount; i++)
{
ILayer layer = _Globe.GlobeDisplay.Scene.get_Layer(i);
}
加载场景工程文件:
axGlobeControl1.Load3dFile(@"D:\\ArcGlobe\\globe3.3dd");
场景不仅可以显示空间数据(图层的形式),还可以对一些元素对象进行显示(IGraphicsContainer 接口来管理)。
1、三维开发下获取BasicGraphicsLayer
IGraphicsLayer pGraphicsLayer = (axGlobeControl1.Globe as IBasicMap).BasicGraphicsLayer;
2、创建GraphicsLayer
IGraphicsContainer globeGraphicsLayer = new GlobeGraphicsLayerClass();
Ilayer pLayer = globeGraphicsLayer as ILayer;
pLayer.Name = "ElementLayer";
axGlobeControl1.Globe.GlobeDisplay.Scene.AddLayer(pLayer, true);