• 大小: 1.32MB
    文件类型: .zip
    金币: 2
    下载: 1 次
    发布日期: 2023-11-19
  • 语言: C#
  • 标签: ArcEngine  ArcGIS  C#  

资源简介

开发环境:C#+ArcEngine10.2+vs2010
《GIS程序设计教程》主要介绍了组件式GIS开发技术,重点是利用ArcGISEngine开发组件库,在.Net环境下利用C#语言进行GIS程序开发。全书由浅人深,从组件式GIS基本概念入手,介绍了ArcGISEngine10.0的特性;从地图显示浏览入手,介绍了GIS数据的组织与访问、制图渲染与输出、空间数据编辑、GIS分析及栅格图像处理,涵盖了GIS数据采集、编辑、处理、分析、输出等的基本功能;进一步地,分析了ArcGIS所提供的功能扩展模块,为GeoProcessing及3D分析等深入开发提供了案例。

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ESRI.ArcGIS.Carto;
using System.Data;
using ESRI.ArcGIS.Geodatabase;
using System.IO;
using ESRI.ArcGIS.DataSourcesFile;
using ESRI.ArcGIS.esriSystem;
using ESRI.ArcGIS.Geometry;

namespace _5_8AOI
{
    class DataOperator
    {
        //保存当前地图对象
        public IMap m_map;
        //用于传入当前地图对象构造函数
        public DataOperator(IMap map)
        {
            m_map = map;
        }
        //获取图层
        public ilayer GetlayerByName(string slayerName)
        {
            //判断图层名或地图对象是否为空,若为空,函数返回空
            if (slayerName == ““ || m_map == null)
            {
                return null;
            }
            //对地图对象中的所有图层进行遍历,若某一图层的名称与指定图层名相同,则返回该图层
            for (int i = 0; i < m_map.layerCount; i++)
            {
                if (m_map.get_layer(i).Name == slayerName)
                {
                    return m_map.get_layer(i);
                }
            }
            //若地图对象中的所有图层名均与指定图层名不匹配,函数返回空
            return null;
        }
        public DataTable GetContinentsNames()
        {
            ilayer layer = GetlayerByName(“Continents“);
            IFeaturelayer featurelayer = layer as IFeaturelayer;    //      接口查询(Query Interface)
            if (featurelayer == null)
            {
                return null;
            }
            IFeature feature;
            IFeatureCursor featureCursor = featurelayer.Search(null false);
            feature = featureCursor.NextFeature();
            if (feature == null)
            {
                return null;
            }
            DataTable dataTable = new DataTable();  //用于函数返回
            DataColumn dataColumn = new DataColumn();
            dataColumn.ColumnName = “序号“;
            dataColumn.DataType = System.Type.GetType(“System.Int32“);
            dataTable.Columns.Add(dataColumn);
            dataColumn = new DataColumn();
            dataColumn.ColumnName = “名称“;
            dataColumn.DataType = System.Type.GetType(“System.String“);
            dataTable.Columns.Add(dataColumn);
            DataRow dataRow;
            while (feature != null)
            {
                dataRow = dataTable.NewRow();
                dataRow[0] = feature.get_Value(0);
                dataRow[1] = feature.get_Value(2);
                dataTable.Rows.Add(dataRow);
                feature = featureCursor.NextFeature();
            }
            return dataTable;
        }
        public IFeatureClass CreateShapefile(String sParentDirectory   //上级路径
            String sWorkspaceName      //包含Shape文件的文件夹名 
            string sFileName)           //Shape文件名
        { 
            //判定路径和文件夹是否已存在存在则删除
            if (Directory.Exists(sParentDirectory + sWorkspaceName))
            {
                Directory.Delete(sParentDirectory + sWorkspaceName true);
            }
            //创建工作空间工厂对象,再创建Shape文

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-28 15:47  5-8AOI\
     目录           0  2018-06-15 21:39  5-8AOI\5-8AOI\
     文件        9216  2018-05-28 15:48  5-8AOI\5-8AOI.suo
     文件       11178  2018-06-15 14:33  5-8AOI\5-8AOI\5-8AOI.csproj
     文件         452  2018-05-27 22:57  5-8AOI\5-8AOI\5-8AOI.csproj.user
     文件         853  2018-05-31 14:41  5-8AOI\5-8AOI\5-8AOI.sln
     文件       78336  2018-06-16 17:56  5-8AOI\5-8AOI\5-8AOI.suo
     文件         162  2018-06-15 08:20  5-8AOI\5-8AOI\5-8AOI.v3.ncrunchsolution.user
     文件        1652  2018-06-15 21:39  5-8AOI\5-8AOI\5-8AOI_TemporaryKey.pfx
     文件         117  2018-06-02 18:12  5-8AOI\5-8AOI\app.config
     目录           0  2018-05-28 15:39  5-8AOI\5-8AOI\bin\
     目录           0  2018-06-16 17:20  5-8AOI\5-8AOI\bin\Debug\
     文件      418816  2018-06-16 17:55  5-8AOI\5-8AOI\bin\Debug\5-8AOI.exe
     文件         117  2018-06-02 18:12  5-8AOI\5-8AOI\bin\Debug\5-8AOI.exe.config
     文件      108032  2018-06-16 17:55  5-8AOI\5-8AOI\bin\Debug\5-8AOI.pdb
     文件       11608  2018-06-16 17:56  5-8AOI\5-8AOI\bin\Debug\5-8AOI.vshost.exe
     文件         117  2018-06-02 18:12  5-8AOI\5-8AOI\bin\Debug\5-8AOI.vshost.exe.config
     文件         490  2012-06-06 02:06  5-8AOI\5-8AOI\bin\Debug\5-8AOI.vshost.exe.manifest
     目录           0  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\
     文件        5291  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\5-8AOI.application
     目录           0  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\Application Files\
     目录           0  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\Application Files\5-8AOI_1_0_0_0\
     文件         117  2018-06-02 18:12  5-8AOI\5-8AOI\bin\Debug\app.publish\Application Files\5-8AOI_1_0_0_0\5-8AOI.exe.config.deploy
     文件      418816  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\Application Files\5-8AOI_1_0_0_0\5-8AOI.exe.deploy
     文件       14431  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\Application Files\5-8AOI_1_0_0_0\5-8AOI.exe.manifest
     文件        9171  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\publish.htm
     文件      431512  2018-06-15 21:39  5-8AOI\5-8AOI\bin\Debug\app.publish\setup.exe
     目录           0  2018-05-27 23:00  5-8AOI\5-8AOI\bin\Release\
     文件        9567  2018-06-02 10:59  5-8AOI\5-8AOI\DataOperator.cs
     目录           0  2018-06-15 12:13  5-8AOI\5-8AOI\Forms\
     文件         991  2018-06-16 17:21  5-8AOI\5-8AOI\Forms\createRaster.cs
............此处省略48个文件信息

评论

共有 条评论