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

  • 相关阅读:
    Android View相关知识问答
    AMS工作原理:activity启动
    Android系统启动概要
    源码分析: 图片加载框架Picasso源码分析
    Android组件化、模块化、插件化
    Android技术文章收集
    一个功能强大的日志工具类
    Android Hook技术
    虚函数与纯虚函数
    二叉树的深度并判断是否是平衡二叉树
  • 原文地址:https://www.cnblogs.com/edcoder/p/11718868.html
Copyright © 2011-2022 走看看