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

  • 相关阅读:
    思念
    空白
    curl json string with variable All In One
    virtual scroll list All In One
    corejs & RegExp error All In One
    socket.io All In One
    vue camelCase vs PascalCase vs kebabcase All In One
    element ui 表单校验,非必填字段校验 All In One
    github 定时任务 UTC 时间不准确 bug All In One
    input range & color picker All In One
  • 原文地址:https://www.cnblogs.com/edcoder/p/11712507.html
Copyright © 2011-2022 走看看