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

  • 相关阅读:
    Hibernate 中出现 XXXX is not mapped 问题
    记录一下表格用poi的导出word
    [转帖] 悟透JavaScript
    JAVA读取Oracle中的blob图片字段并显示
    vs2010代码段,用得飞起~
    FontFamily获取中文名字
    vs2010快捷键
    WPF Binding基础
    Binding对数据的转换和校验
    WPF个UI元素
  • 原文地址:https://www.cnblogs.com/edcoder/p/11712507.html
Copyright © 2011-2022 走看看