資源簡(jiǎn)介
開(kāi)發(fā)環(huán)境:C#+ArcEngine10.2+vs2010
《GIS程序設(shè)計(jì)教程》主要介紹了組件式GIS開(kāi)發(fā)技術(shù),重點(diǎn)是利用ArcGISEngine開(kāi)發(fā)組件庫(kù),在.Net環(huán)境下利用C#語(yǔ)言進(jìn)行GIS程序開(kāi)發(fā)。全書(shū)由淺人深,從組件式GIS基本概念入手,介紹了ArcGISEngine10.0的特性;從地圖顯示瀏覽入手,介紹了GIS數(shù)據(jù)的組織與訪問(wèn)、制圖渲染與輸出、空間數(shù)據(jù)編輯、GIS分析及柵格圖像處理,涵蓋了GIS數(shù)據(jù)采集、編輯、處理、分析、輸出等的基本功能;進(jìn)一步地,分析了ArcGIS所提供的功能擴(kuò)展模塊,為GeoProcessing及3D分析等深入開(kāi)發(fā)提供了案例。
《GIS程序設(shè)計(jì)教程》主要介紹了組件式GIS開(kāi)發(fā)技術(shù),重點(diǎn)是利用ArcGISEngine開(kāi)發(fā)組件庫(kù),在.Net環(huán)境下利用C#語(yǔ)言進(jìn)行GIS程序開(kāi)發(fā)。全書(shū)由淺人深,從組件式GIS基本概念入手,介紹了ArcGISEngine10.0的特性;從地圖顯示瀏覽入手,介紹了GIS數(shù)據(jù)的組織與訪問(wèn)、制圖渲染與輸出、空間數(shù)據(jù)編輯、GIS分析及柵格圖像處理,涵蓋了GIS數(shù)據(jù)采集、編輯、處理、分析、輸出等的基本功能;進(jìn)一步地,分析了ArcGIS所提供的功能擴(kuò)展模塊,為GeoProcessing及3D分析等深入開(kāi)發(fā)提供了案例。

代碼片段和文件信息
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
????{
????????//保存當(dāng)前地圖對(duì)象
????????public?IMap?m_map;
????????//用于傳入當(dāng)前地圖對(duì)象構(gòu)造函數(shù)
????????public?DataOperator(IMap?map)
????????{
????????????m_map?=?map;
????????}
????????//獲取圖層
????????public?ilayer?GetlayerByName(string?slayerName)
????????{
????????????//判斷圖層名或地圖對(duì)象是否為空,若為空,函數(shù)返回空
????????????if?(slayerName?==?““?||?m_map?==?null)
????????????{
????????????????return?null;
????????????}
????????????//對(duì)地圖對(duì)象中的所有圖層進(jìn)行遍歷,若某一圖層的名稱(chēng)與指定圖層名相同,則返回該圖層
????????????for?(int?i?=?0;?i?yerCount;?i++)
????????????{
????????????????if?(m_map.get_layer(i).Name?==?slayerName)
????????????????{
????????????????????return?m_map.get_layer(i);
????????????????}
????????????}
????????????//若地圖對(duì)象中的所有圖層名均與指定圖層名不匹配,函數(shù)返回空
????????????return?null;
????????}
????????public?DataTable?GetContinentsNames()
????????{
????????????ilayer?layer?=?GetlayerByName(“Continents“);
????????????IFeaturelayer?featurelayer?=?layer?as?IFeaturelayer;????//??????接口查詢(xún)(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();??//用于函數(shù)返回
????????????DataColumn?dataColumn?=?new?DataColumn();
????????????dataColumn.ColumnName?=?“序號(hào)“;
????????????dataColumn.DataType?=?System.Type.GetType(“System.Int32“);
????????????dataTable.Columns.Add(dataColumn);
????????????dataColumn?=?new?DataColumn();
????????????dataColumn.ColumnName?=?“名稱(chēng)“;
????????????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???//上級(jí)路徑
????????????String?sWorkspaceName??????//包含Shape文件的文件夾名?
????????????string?sFileName)???????????//Shape文件名
????????{?
????????????//判定路徑和文件夾是否已存在存在則刪除
????????????if?(Directory.Exists(sParentDirectory?+?sWorkspaceName))
????????????{
????????????????Directory.Delete(sParentDirectory?+?sWorkspaceName?true);
????????????}
????????????//創(chuàng)建工作空間工廠對(duì)象,再創(chuàng)建Shape文
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????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個(gè)文件信息
評(píng)論
共有 條評(píng)論