• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

AO+C#设置栅格图层基高 制作三维

AO+C#设置栅格图层基高 制作三维
AO+C#设置栅格图层基高
2
推荐

private void setbaseheight()
        {
            ISceneGraph scenegraph = axSceneControl1.SceneGraph;
            IScene scene = scenegraph.Scene;
            ILayer layer;
            int j;
            

            layer = scene.get_Layer(0);

            IRasterLayer rlayer;
            rlayer = layer as IRasterLayer;
            IRaster raster;
            IRasterSurface rsurface = new RasterSurface();
            ISurface surface;

            raster = (IRaster)rlayer.Raster;

            IRasterBandCollection rasterbands = raster as IRasterBandCollection;
            IRasterBand rasterband = rasterbands.Item(0);
            rsurface.RasterBand = rasterband;
            surface = rsurface as ISurface;

            ILayerExtensions layerextensions = layer as ILayerExtensions;
            I3DProperties properties = new Raster3DPropertiesClass();
            int i;
            object p3d;
            for (i = 0; i < layerextensions.ExtensionCount; i++)
            {
                p3d = layerextensions.get_Extension(i);
                if (p3d != null)
                {
                    properties = (I3DProperties)p3d;
                    break;
                }

             
            }

            properties.BaseOption = esriBaseOption.esriBaseSurface;
            properties.BaseSurface = surface;
            properties.Apply3DProperties(layer);
        

            scenegraph = scene.SceneGraph;

            scenegraph.RefreshViewers();
         
        }

http://blog.gisforum.net/u/211/archives/2008/2013.html

posted on 2010-10-27 22:14  gisai  阅读(598)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3