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

  • 相关阅读:
    mongodb数组操作
    tmux使用心得
    redis设置key总结
    gitbook构建文档命令
    js中for in,of区别
    redis清除缓存和连接远程服务器
    Postman使用记录
    asp.net中导出Execl的方法
    CASE WHEN 用法
    js 字符串转换数字
  • 原文地址:https://www.cnblogs.com/edcoder/p/11712507.html
Copyright © 2020-2023  润新知