GIS專題開發(fā)與設(shè)計(jì)實(shí)驗(yàn)教程 版權(quán)信息
- ISBN:9787030700414
- 條形碼:9787030700414 ; 978-7-03-070041-4
- 裝幀:一般膠版紙
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>
GIS專題開發(fā)與設(shè)計(jì)實(shí)驗(yàn)教程 內(nèi)容簡介
本書通過具體實(shí)驗(yàn)教學(xué)案例,介紹桌面GIS、WebGIS、移動GIS等地理信息系統(tǒng)開發(fā)的技術(shù)方法和實(shí)現(xiàn)步驟。本書部分主要介紹如何利用開源組件DotSpatial創(chuàng)建桌面GIS開發(fā),第二部分介紹基于ArcGIS Engine的WebGIS開發(fā),第三部分介紹基于GeoServer的WebGIS開發(fā),第四部分介紹基于ArcGIS的移動GIS開發(fā)。 本書可作為高等院校地理科學(xué)、地理信息科學(xué)及相關(guān)專業(yè)本科生的實(shí)驗(yàn)教材,也可作為地理信息系統(tǒng)開發(fā)技術(shù)人員的培訓(xùn)教材和參考書。
GIS專題開發(fā)與設(shè)計(jì)實(shí)驗(yàn)教程 目錄
叢書前言
前言
**部分 基于DotSpatial的桌面GIS開發(fā)系列實(shí)驗(yàn) 1
實(shí)驗(yàn)1-1 地理數(shù)據(jù)加載與地圖瀏覽 1
實(shí)驗(yàn)1-2 地理要素查詢與檢索 5
實(shí)驗(yàn)1-3 專題地圖渲染 10
實(shí)驗(yàn)1-4 地理要素編輯 17
實(shí)驗(yàn)1-5 空間分析與統(tǒng)計(jì) 25
實(shí)驗(yàn)1-6 地圖打印輸出 30
第二部分 基于ArcGIS Engine的開發(fā)系列實(shí)驗(yàn) 38
實(shí)驗(yàn)2-1 ArcGIS Engine控件的使用 38
實(shí)驗(yàn)2-2 地圖文檔及相關(guān)對象 47
實(shí)驗(yàn)2-3 幾何對象與空間參考 55
實(shí)驗(yàn)2-4 參數(shù)傳遞與鷹眼地圖 67
實(shí)驗(yàn)2-5 命令封裝與右鍵菜單 71
實(shí)驗(yàn)2-6 空間可視化 80
實(shí)驗(yàn)2-7 空間數(shù)據(jù)庫 91
實(shí)驗(yàn)2-8 空間數(shù)據(jù)查詢 98
實(shí)驗(yàn)2-9 空間數(shù)據(jù)編輯 105
實(shí)驗(yàn)2-10 空間分析 112
實(shí)驗(yàn)2-11 地圖整飾輸出 120
第三部分 基于GeoServer的WebGIS開發(fā)系列實(shí)驗(yàn) 131
實(shí)驗(yàn)3-1 GeoServer的安裝與使用 131
實(shí)驗(yàn)3-2 地圖圖層的發(fā)布與管理 134
實(shí)驗(yàn)3-3 地圖瀏覽 139
實(shí)驗(yàn)3-4 地圖圖層疊加顯示 146
實(shí)驗(yàn)3-5 屏幕交互操作 158
第四部分 基于ArcGIS的Android移動GIS開發(fā)系列實(shí)驗(yàn) 166
實(shí)驗(yàn)4-1 ArcGIS SDK for Android開發(fā)環(huán)境及配置 166
實(shí)驗(yàn)4-2 地圖工程創(chuàng)建 171
實(shí)驗(yàn)4-3 數(shù)據(jù)顯示與瀏覽 174
實(shí)驗(yàn)4-4 數(shù)據(jù)查詢與檢索 190
實(shí)驗(yàn)4-5 數(shù)據(jù)采集與編輯 197
實(shí)驗(yàn)4-6 數(shù)據(jù)實(shí)時同步 199
主要參考文獻(xiàn) 203
GIS專題開發(fā)與設(shè)計(jì)實(shí)驗(yàn)教程 節(jié)選
**部分 基于DotSpatial的桌面GIS開發(fā)系列實(shí)驗(yàn) 實(shí)驗(yàn)1-1 地理數(shù)據(jù)加載與地圖瀏覽 DotSpatial以控件方式提供地理數(shù)據(jù)的加載、展示和分析功能。 DotSpatial是開源軟件,組件核心為 DotSpatial.Controls.dll動態(tài)鏈接庫,特點(diǎn)是代碼完全開放,類庫可供其他程序直接調(diào)用。使用者可以從其官網(wǎng)上下載源代碼供個人修改研發(fā)。 (1)實(shí)驗(yàn)?zāi)康模和ㄟ^地理數(shù)據(jù)加載與地圖瀏覽實(shí)習(xí),熟悉在.NET環(huán)境和 Visual Studio平臺下搭建和運(yùn)行 DotSpatial類庫,初步了解開源桌面 GIS的二次開發(fā)模式,初步認(rèn)識 DotSpatial類庫的基本組織架構(gòu),初步掌握 DotSpatial主要控件的功能和特性,并使用 DotSpatial類庫加載矢量和柵格數(shù)據(jù)的方法,實(shí)現(xiàn)對地圖視圖的基本瀏覽操作。 (2)相關(guān)實(shí)驗(yàn): GIS專業(yè)實(shí)驗(yàn)設(shè)備與環(huán)境配置中的“ GIS應(yīng)用開發(fā)環(huán)境”和“ GIS應(yīng)用開發(fā)資源”。 (3)實(shí)驗(yàn)數(shù)據(jù):本教材系列實(shí)驗(yàn)數(shù)據(jù)。 (4)實(shí)驗(yàn)環(huán)境: Visual Studio2010、DotSpatial 1.7庫、.NET Framework 4.0框架、C#編程語言。 (5)實(shí)驗(yàn)內(nèi)容:通過在 Visual Studio下加載 DotSpatial類庫,添加 DotSpatial控件,初步熟悉利用 DotSpatial進(jìn)行二次開發(fā)的環(huán)境搭建過程和控件的簡單操作;通過在 Visual Studio下使用 Map控件和代碼編寫一個窗體應(yīng)用程序?qū)崿F(xiàn)加載矢量和柵格數(shù)據(jù)的功能;通過在 Visual Studio下使用 Map控件和代碼編寫一個窗體應(yīng)用程序?qū)崿F(xiàn)對地圖的放大、縮小、漫游、居中等基本視圖操作功能。 1.環(huán)境初識 啟動 Visual Studio2010,依次選擇“文件”→“新建”→“項(xiàng)目”,彈出“新建項(xiàng)目”對話框,如圖1-1-1所示。選擇 Visual C#項(xiàng)目模板,再選擇項(xiàng)目類型為 Windows窗體應(yīng)用程序,輸入項(xiàng)目名稱并選擇項(xiàng)目位置,點(diǎn)擊“確定”按鈕后,則成功新建一個 WinFrom窗體程序,并自動生成一個名為 From1的窗體。 圖1-1-1 新建窗體應(yīng)用程序界面 在窗體設(shè)計(jì)界面的工具箱上右擊空白處,選擇“添加選項(xiàng)卡”并命名為“DotSpatial”,鼠標(biāo)右擊 DotSpatial選項(xiàng)卡,選擇“選擇項(xiàng)”,則彈出“選擇工具箱項(xiàng)”對話框。選擇“.NET Framework組件”,如圖1-1-2所示,點(diǎn)擊“瀏覽”按鈕,在彈出的對話框中找到本地的 DotSpatial.Controls.dll文件(其打包了一系列 GIS桌面開發(fā)所需的基本控件),如圖1-1-3所示,點(diǎn)擊“確定”后工具箱中出現(xiàn)常用的 DotSpatial相關(guān)控件。 圖1-1-2 工具箱加載 DotSpatial控件界面 圖1-1-3 本地 DotSpatial.Controls.dll文件界面 右擊解決方案資源管理器中的項(xiàng)目名稱,選擇添加引用,從“瀏覽”中找到本地的4個文件,如圖1-1-4所示,點(diǎn)擊“確定”后,工程引用中出現(xiàn)了添加的 DotSpatial庫。 設(shè)置好后,右擊解決方案中的項(xiàng)目名稱,選擇屬性,如圖1-1-5所示,在屬性窗體中選擇目標(biāo)框架為“.NET Framework 4”版本后,將配置完成 DotSpatial的開發(fā)環(huán)境。 圖1-1-4 添加 DotSpatial庫引用界面 圖1-1-5 項(xiàng)目屬性界面 自主練習(xí):創(chuàng)建新工程,配置完成 DotSpatial的開發(fā)環(huán)境。 2.地理數(shù)據(jù)加載 DotSpatial可加載矢量和柵格數(shù)據(jù):矢量數(shù)據(jù)支持 ERSI公司的 shp格式,而柵格數(shù)據(jù)支持 bgd、tif、jpg、bmp等多種格式。DotSpatial自帶 Legend控件,不需要編寫煩瑣的代碼程序就能實(shí)現(xiàn)基本的圖層管理功能。程序設(shè)計(jì)時可拖拽 Legend控件到主窗體上,并將 Map控件屬性中的 Legend屬性設(shè)置為 Legend1即可。但通常利用代碼方式進(jìn)行程序開發(fā),本實(shí)驗(yàn)將全部使用代碼編寫。 將工具箱中的 Map控件拖拽到主窗體中,再拖拽兩個 Button按鈕到主窗體中,分別命名為“btnLoad”和“btnClear”,按鈕文本為“添加圖層”和“刪除圖層”。分別雙擊“添加圖層”和“刪除圖層”按鈕,并在按鈕的事件中編寫相應(yīng)的代碼。 DotSpatial提供了如下加載不同類型數(shù)據(jù)的方法: map1.AddLayer();//加載單個矢量或柵格圖層 map1.AddLayers();//加載多個矢量或柵格圖層 map1.AddFeatureLayer();//加載單個矢量圖層 map1.AddRasterLayer();//加載單個柵格圖層 map1.AddFeatureLayers();//加載多個矢量圖層 map1.AddRasterLayers();//加載多個柵格圖層 map1.AddImageLayer();//加載單個位圖圖層 map1.AddImageLayers(); //加載多個位圖圖層 map1.ClearLayers();//刪除所有圖層 本實(shí)驗(yàn)代碼如下: using DotSpatial.Controls; //加載矢量或柵格數(shù)據(jù) private void btnLoad_Click(object sender, EventArgs e) { map1.AddLayer(); } //刪除所有圖層 private void btnClear_Click(object sender, EventArgs e) { map1.ClearLayers(); } 點(diǎn)擊 Visual Studio的啟動調(diào)試項(xiàng),運(yùn)行程序,出現(xiàn)程序主界面,點(diǎn)擊“添加圖層”按鈕,在彈出的選擇文件對話框中分別選擇本地 shp和 tif格式的數(shù)據(jù),矢量數(shù)據(jù)和柵格數(shù)據(jù)添加分別如圖1-1-6和圖1-1-7所示。 Map控件中將分別顯示矢量和柵格圖層。點(diǎn)擊“刪除圖層”按鈕將刪除界面的所有圖層。 自主練習(xí):完善按鈕的事件中對應(yīng)的添加地圖數(shù)據(jù)的相應(yīng)代碼,實(shí)現(xiàn)添加矢量數(shù)據(jù)、柵格數(shù)據(jù)。 3.地圖瀏覽 圖層視圖操作只需調(diào)用 DotSpatial已經(jīng)封裝好的方法即可,如放大、縮小、漫游、居中、選擇等功能。 圖1-1-6 添加矢量數(shù)據(jù)界面 圖1-1-7 添加?xùn)鸥駭?shù)據(jù)界面 拖拽4個 Button按鈕到主窗體中,分別命名為“ btnZoomIn”“btnZoomOut”“btnPan”“btnExtent”,按鈕文本分別為“放大”“縮小”“漫游”“居中”。分別雙擊各個按鈕,并在按鈕的事件中編寫相應(yīng)的代碼。 實(shí)驗(yàn)代碼如下: using DotSpatial.Controls; //放大地圖 private void btnZoomIn_Click(object sender, EventArgs e) { map1.FunctionMode = FunctionMode.ZoomIn; } //縮小地圖 private void btnZoomOut_Click(object sender, EventArgs e) { map1.FunctionMode = FunctionMode.ZoomOut; } //漫游地圖 private void btnPan_Click(object sender, EventArgs e) { map1.FunctionMode = FunctionMode.Pan; } //居中顯示地圖 private void btnExtent_Click(object sender, EventArgs e) { map1.ZoomToMaxExtent(); } 運(yùn)行程序,加載地圖,點(diǎn)擊“放大”按鈕,在界面上選中要放大的區(qū)域后松開鼠標(biāo),該區(qū)域?qū)幢壤糯螅欢c(diǎn)擊“漫游”按鈕,則可拖動鼠標(biāo)實(shí)現(xiàn)地圖平移。點(diǎn)擊其他按鈕執(zhí)行操作可出現(xiàn)相應(yīng)結(jié)果。放大、居中、漫游等代碼運(yùn)行效果如圖1-1-8~圖1-1-10所示。 圖1-1-8 放大地圖界面 圖1-1-9 居中顯示地圖界面 圖1-1-10 漫游地圖界面 自主練習(xí):完善各按鈕的事件中對應(yīng)的地圖瀏覽的相應(yīng)代碼,實(shí)現(xiàn)數(shù)據(jù)的放大、縮小、漫游、全圖顯示。 實(shí)驗(yàn)1-2地理要素查詢與檢索 DotSpatial的 Map控件中,已集成好圖形查詢功能,點(diǎn)擊地圖區(qū)域即可彈出屬性對話框,但通常需要在屬性表窗體上進(jìn)行屬性值修改。本節(jié)實(shí)驗(yàn)主要完成地理要素查詢檢索功能的開發(fā)。 (1)實(shí)驗(yàn)?zāi)康模和ㄟ^地理要素查詢與檢索實(shí)驗(yàn),進(jìn)一步了解 DotSpatial主要控件的功能和特性,初步掌握使用 DotSpatial類庫從空間圖形查詢屬性和從屬性查詢檢索圖形信息的方法。 (2)相關(guān)實(shí)驗(yàn):實(shí)驗(yàn)1-1地理數(shù)據(jù)加載與地圖瀏覽。 (3)實(shí)驗(yàn)數(shù)據(jù):本教材系列實(shí)驗(yàn)數(shù)據(jù)。 (4)實(shí)驗(yàn)環(huán)境: Visual Studio2010、DotSpatial 1.7庫、.NET Framework 4.0框架、C#編程語言。 (5)實(shí)驗(yàn)內(nèi)容:通過在 Visual Studio下使用 Map控件和代碼編寫一個窗體應(yīng)用程序,實(shí)現(xiàn)由點(diǎn)選和框選圖形查詢空間數(shù)據(jù)屬性的功能;通過在 Visual Studio下使用 Map控件和代碼編寫一個窗體應(yīng)用程序,實(shí)現(xiàn)根據(jù)屬性條件查詢圖形和檢索空間數(shù)據(jù)的功能。 1.由空間圖形查詢屬性 本節(jié)實(shí)驗(yàn)要求編寫代碼實(shí)現(xiàn)圖形選擇、彈出屬性表窗體功能。 彈框顯示要素信息代碼為 this.map1.FunctionMode = FunctionMode.Info; 1)選擇圖斑事件編輯 按照本章實(shí)驗(yàn)1-1的步驟添加 Map控件和加載、刪除、放大、縮小圖層的 Button按鈕并編寫好相應(yīng)代碼。拖拽一個 Button按鈕到主窗體中,命名為“ btnSelect”,按鈕文本為“選擇圖斑”,在按鈕的事件中編寫相應(yīng)的代碼。右擊主窗體,在屬性事件中雙擊 Form1_Load編寫窗體初始化代碼,修改加載圖層按鈕中的方法并綁定到 Map控件中的 Load事件下。 實(shí)驗(yàn)代碼如下: using DotSpatial.Controls; //定義當(dāng)前選擇圖層 IMapFeatureLayer currentLayer = null; //定義選擇圖斑方法 MapFunctionSelect selectFunction = null; //窗體初始化 private void Form1_Load(object sender, EventArgs e) { selectFunction1= new MapFunctionSelect(this.map1); this.map1.MapFunctions.Add(selectFunction); this.map1.ProjectionModeReproject = ActionMod
- >
回憶愛瑪儂
- >
朝聞道
- >
巴金-再思錄
- >
【精裝繪本】畫給孩子的中國神話
- >
人文閱讀與收藏·良友文學(xué)叢書:一天的工作
- >
名家?guī)阕x魯迅:朝花夕拾
- >
李白與唐代文化
- >
山海經(jīng)