介绍ArcGIS中各种数据的打开方法——tin(栅格文件)

Posted edcoder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了介绍ArcGIS中各种数据的打开方法——tin(栅格文件)相关的知识,希望对你有一定的参考价值。

4、加载栅格文件

栅格数据是GIS中重要的数据源之一,如卫星图像扫描的地图照片等。

栅格数据常见的格式有Bmp、Tiff、Jpg、Grid等。

添加栅格数据主要使用Rasterlayer 组件类,以及IMap、ILayer、IRasterLayer接口等。Rasterlayer组件类实现了ILayer、IRasterlayer、TTable、IDataset等接口,主要用于栅格数据的打开、显示、操作状态等设置。

介绍一种打开栅格文件的方法

 

核心代码:

 

#region 添加TIN数据
        private void 添加TIN数据toolStripLabel1_Click(object sender, EventArgs e)
        {
            //方法:
            AddTinFile();
        }
        /// <summary>
        /// 加载栅格图层
        /// </summary>
        private void AddTinFile()
        {
            this.Cursor = Cursors.WaitCursor;
            IWorkspaceFactory pWorkspaceFactory = new TinWorkspaceFactoryClass();

            IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(m_Path, 0);
            ITinWorkspace pTinWorkspace = pWorkspace as ITinWorkspace;
            //声明一个pTin变量, 存储所打开的"tin"
            ITin pTin = pTinWorkspace.OpenTin("tin");
            //将TIN变为TIN图层
            ITinLayer pTinLayer = new TinLayerClass();
            pTinLayer.Dataset = pTin;
            pTinLayer.Name = "TIN";
            //也可以用三维空间AxSceneControl加载
            //axSceneControl1.Scene.AddLayer(pTinLayer, true);
            this.axMapControl1.AddLayer(pTinLayer);
            this.Cursor = Cursors.Default;

        }

        #endregion

 

加载Tin文件到SceneControll对象和到MapControl对象的方法大同小异。

只需要将

this.axMapControl1.AddLayer(pTinLayer);

换成

axSceneControl1.Scene.AddLayer(pTinLayer, true);

补充说明:

需从工具箱中拖曳SceneControl到界面窗口,自动生成SceneControll对象。

Tin文件的加载需要用到两个组件类:Scene和SceneGraph。

Scene是一个矢量、栅格和图形数据显示与处理的容器,该类实现了IScene接口,提供了控制 Scene的方法和属性,如Addlayer方法用于向场景中增加一个图层。

SceneGraph是一个记录在Scene中出现的数据和事件的容器,该类实现了ISceneGraph接口,提供了控制和处理Scene中图形的方法和属性。

 

效果图:

技术图片

 

 

 

谢谢观看!本人初学GIS二次开发,如果有不对的地方,请多多包涵!

以上是关于介绍ArcGIS中各种数据的打开方法——tin(栅格文件)的主要内容,如果未能解决你的问题,请参考以下文章

arcgis9.2 中的3D analyst ——tin 模块不可用 怎么办?

arcgis TIN转栅格无法创建输出数据应该怎么做

请问Arcgis中由高程点生成TIN数据时,为啥失败?

在ArcEngine中如何读取tin的数据,需要读所有三角网的点号、坐标?

ArcGIS教程:加权叠加

gis10.0 生成tin,怎样剔除异常高程值?