• 介绍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二次开发,如果有不对的地方,请多多包涵!

  • 相关阅读:
    MATLAB 简单多边形的核
    MATLAB Moravec算子
    MATLAB Sepia Tone滤镜
    MATLAB 异或分类
    MATLAB 神经网络分类
    MATLAB 地图上画经纬度
    MATLAB 最小二乘多项式拟合
    MATLAB 对应点集配准的四元数法
    MATLAB 高斯牛顿法最优化
    MATLAB Levenberg-Marquardt法最优化
  • 原文地址:https://www.cnblogs.com/edcoder/p/11718868.html
Copyright © 2020-2023  润新知