zoukankan      html  css  js  c++  java
  • 最简单的ArcGIS Engine应用程序(上)

    名词:

    IWorkspaceFactory 工作空间工厂

    ShapeFileWorksapceFactory 矢量文件工作空间工厂

    IWorkspce 工作空间

    IFeatrueWorkspace 要素工作空间

    IFeatureClass 要素类

    IFeatureLayer 要素图层

    FeatureLayerClass 要素图层类

    ILayer 图层对象

    IMap 地图对象

     

    加载指定的shp文件(代码分析)

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    using ESRI.ArcGIS.DataSourcesFile;
    using ESRI.ArcGIS.Geodatabase;
    using ESRI.ArcGIS.Carto;
    
    namespace SimpleArcEngineDemo
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void menuAddShp_Click(object sender, EventArgs e)
            {
                //通过工作空间工厂创建一个矢量文件工作空间工厂, 通过矢量文件工作空间加载数据并保存在一个新创建的工作空间中。
                IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();
                IWorkspace pWorkspace1 = pWorkspaceFactory.OpenFromFile(@"D:data", 0);  //数据目录
                
                //将这个新创建的工作空间强转成要素工作空间,通过要素工作空间打开一个要素类并保存在一个新创建的要素类中。
                IFeatureWorkspace pFeatureWorkspce = pWorkspace1 as IFeatureWorkspace;
                IFeatureClass pFC = pFeatureWorkspce.OpenFeatureClass("华东地区.shp");
    
                //通过要素图层创建一个要素图层类,将新创建的要素类放在刚创建的要素图层类中并按照原本的名字命名。
                IFeatureLayer pFLayer = new FeatureLayerClass();
                pFLayer.FeatureClass = pFC;
                pFLayer.Name = pFC.AliasName;
    
                //将创建的要素图层类强转成图层对象并保存一个新创建的图层对象中。
                ILayer pLayer = pFLayer as ILayer;
                
                //绑定地图对象到控件axMapControl
                IMap pMap = axMapControl1.Map;
    
                //地图对象添加新创建的图层对象
                pMap.AddLayer(pLayer);
                
                //将控件axMapControl设置为动态刷新
                axMapControl1.ActiveView.Refresh();
    
            }
        }
    }

    简述:

    通过工作空间工厂创建一个矢量文件工作空间工厂,通过矢量文件工作空间加载数据并保存在一个新创建的工作空间中。

    将这个新创建的工作空间强转成要素工作空间,通过要素工作空间打开一个要素类并保存在一个新创建的要素类中。

    通过要素图层创建一个要素图层类,将新创建的要素类放在刚创建的要素图层类中并按照原本的名字命名。

    将创建的要素图层类强转成图层对象并保存一个新创建的图层对象中。

    绑定地图对象到控件axMapControl。

    地图对象添加新创建的图层对象。

    将控件axMapControl设置为动态刷新。

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

  • 相关阅读:
    Python--my first try!
    AB PLC首次IP地址如何分配
    如何解压DMK固件
    罗克韦尔自动化官网如何下载设备固件
    如何使用AB PLC仿真软件Studio 5000 Logix Emulate
    Studio 5000指令IN_OUT管脚实现西门子风格
    AB PLC分类
    罗克韦尔自动化发展简史
    C#曲线分析平台的制作(五,Sqldependency+Signalr+windows 服务 学习资料总结)
    自动化监控上位机系统二次开发之我见
  • 原文地址:https://www.cnblogs.com/edcoder/p/11712507.html
Copyright © 2011-2022 走看看