本書在系統介紹GIS的有關概念與分類、軟硬件環境、空間數據模型、空間數據質量、流行開發工具及其分類、開發基本方法、總體設計、詳細沒計及其相關技術的基礎上,主要以 Mapx、ArcEngine兩種典型的GIS組件化開發工具為例,詳細介紹了應用型地理信息系統的設計與殲發技術;同時,《地理信息系統設計與開發(第2 版)》匯集作者多年的教學與科研實踐,以作者自行開發的GIS基本軟件系統——DigMap為例,介紹了GIS基礎軟件系統及GIS組件設計與開發中的一些核心與關鍵問題,包括空間數據模型、空間數據管理、空問查詢檢索基本算法、空間分析模型實現,GIS組件的屬性、事件和方法設計等,為讀者提供了一個嘗試GIS基本軟件系統設計與開發的典型范例。本書由陳正江,張興國編著。
《普通高等院校"十二五"規劃教材:地理信息系統設計與開發(第2版)》既可作為高等院校地理信息系統、測繪等專業本科生、研究生教材,也可供相關專業人員參考。
第二版前言 第一版前言 第1章 地理信息系統設計與開發基礎 1.1 地理信息系統的概念、產生和發展趨勢 1.1.1 信息與信息系統 1.1.2 地理信息系統 1.1.3 地理信息系統的產生 1.1.4 當代地理信息系統的發展趨勢 1.2 地理信息系統的分類 1.2.1 應用型地理信息系統 1.2.2 工具型地理信息系統 1.3 地理信息系統的軟硬件環境 1.3.1 地理信息系統的硬件系統 1.3.2 地理信息系統的軟件系統 1.3.3 地理信息系統的軟硬件選擇 1.4 地理信息系統的空間數據模型 1.4.1 矢量數據及其拓撲關系模型 1.4.2 柵格數據模型 1.4.3 屬性數據及其表示 1.4.4 空間數據與屬性數據的連接 1.4.5 數據模型與GIS功能之間的聯系 1.5 空間數據質量及其控制 1.5.1 GIS空間數據質量的概述 1.5.2 GIS空間數據質量的內容 1.5.3 GIS空間數據質量的控制 1.6 流行開發工具及其分類 1.6.1 GIS開發工具簡介 1.6.2 流行開發工具的分類 習題 第2章 地理信息系統設計與開發方法概述 2.1 信息系統設計與開發的基本方法 2.1.1 結構化生命周期法 2.1.2 原型化方法 2.1.3 面向對象方法 2.2 地理信息系統設計的特點、內容、步驟和方法概述 2.2.1 GIS設計的特點 2.2.2 GIS設計的內容 2.2.3 GIS設計的步驟 2.2.4 GIS設計方法概述 2.3 需求分析 2.3.1 需求分析的內容 2.3.2 可行性研究 2.3.3 可行性研究報告 2.3.4 需求分析和可行性研究的一般原則 2.4 系統總體設計 2.4.1 系統總體設計的內容 2.4.2 系統總體設計的步驟 2.4.3 系統總體設計的基本要求 2.4.4 系統總體設計應把握的基本原則 2.5 系統詳細設計 2.5.1 GIS功能設計 2.5.2 地理數據庫設計 2.5.3 應用模型與方法設計 2.6 GIS軟件設計 2.6.1 應用型GIS軟件設計的基本特點 2.6.2 信息描述 2.6.3 軟件設計方法 2.7 用戶界面設計 2.7.1 用戶界面的作用 2.7.2 用戶界面設計的原則 2.7.3 用戶界面的主要類型及主要界面組件 2.7.4 GIS中常用的其他界面技術 習題 第3章 基于MapX的應用開發 3.1 MapInfo系列產品簡介 3.1.1 MapInfo系統簡介 3.1.2 MapInfo的主要技術特點 3.1.3 MapInfo地圖組織 3.1.4 MapInfo系列的開發方法 3.2 MapX及其對象模型 3.2.1 MapX簡介 3.2.2 MapX對象模型結構 3.2.3 實用工具GeoDictionary Manager和Geoset Manager 3.2.4 Map對象 3.2.5 圖層(Layer)與圖層集合(Laye) 3.2.6 圖元(Feature)與圖元集合(Features) 3.2.7 PanS集合 3.2.8 Selection集合 3.3 基于MapX的應用開發 3.3.1 基于控件開發GIS應用程序的體系結構 3.3.2 開發前的準備工作 3.3.3 MapX的調入與設置 3.3.4 基本地圖操作功能的實現 3.3.5 圖元的選取與簡單空間查詢 3.3.6 開發自定義地圖工具 3.3.7 通過圖元名稱查找圖元對象 3.3.8 圖元編輯 3.3.9 為地圖圖元連接外部屬性數據 3.3.10 專題地圖制作 3.3.11 MapX地圖的導出與打印 3.3.12 “鷹眼”——導航圖編程 3.3.13 空間分析 3.3.14 為應用系統加入聲、像多媒體信息 3.3.15 發布應用程序 第4章 基于ArcEngine的開發 4.1 組件對象模型(COM)與ArcObectS 4.1.1 組件對象模型(COM) 4.1.2 NET組件與COM組件的互操作 4.1.3 對象模型圖(OMD) 4.1.4 AE類庫 4.2 ArcEngine基礎 4.2.1 ArcEngine控件 4.2.2 地圖對象 4.2.3 地理數據的訪問與創建 4.2.4 元素數據和PageLayoutControl 4.2.5 Geometry和Geoprocessing 4.2.6 查詢要素 4.2.7 命令和工具 4.2.8 地圖的顯示 4.2.9 地圖互動 4.2.10 地圖編輯 4.3 柵格數據開發 4.3.1 柵格數據基礎 4.3.2 柵格數據相關功能開發 第5章 開發GIS基本系統——以DigMap為例 5.1 使用專業開發工具與自行開發GIS基本系統的優缺點比較 5.1.1 使用專業開發工具進行GIS應用開發的優點與不足 5.1.2 自行開發GIS基本系統的優點與缺點 5.2 GIS基本系統的功能要求 5.2.1 矢量圖形系統 5.2.2 遙感和柵格數據處理系統 5.2.3 屬性數據管理及其數據庫系統 5.2.4 矢量空間數據元素與屬性數據庫的鏈接 5.2.5 完整的空間數據管理、查詢、統計、分析和圖形圖像輸出功能 5.3 空間數據模型設計 5.3.1 DigMap的矢量數據模型 5.3.2 DigMap數據模型間的聯系與組織 5.4 空間數據管理與數據庫設計 5.4.1 地理信息的分層組織 5.4.2 數據層的類型屬性 5.4.3 空間數據管理 5.4.4 空間數據庫設計 5.5 矢量空間數據的輸入與編輯 5.5.1 矢量數據輸入、編輯作業的任務管理 5.5.2 空間數據編輯 5.5.3 寫入空間數據庫 5.6 矢量空間數據查詢、檢索的基本算法 5.6.1 點的抓取 5.6.2 折線、弧段的抓取 5.6.3 多邊形的抓取與多邊形拓撲 5.7 柵格數據處理 5.7.1 柵格數據的存儲組織與處理模式 5.7.2 矢量數據的柵格化 5.7.3 柵格數據的壓縮編碼 5.8 基于數字高程矩陣的地表形態分析 5.8.1 獲取數字高程矩陣數據 5.8.2 基于數字高程矩陣的地形分析 5.8.3 柵格數據的疊加分析 5.9 空間數據的顯示 5.9.1 Windows的繪圖機制與設備描述表 5.9.2 按比例縮放與坐標系統 5.9.3 裁剪、有效化及設備描述表的控制 5.9.4 繪圖函數 5.9.5 按屬性值大小渲染多邊形區域 5.9.6 面要素透明疊加顯示 5.10 GIS控件開發 5.10.1 GIS控件的功能設計 5.10.2 GIS控件的屬性設計 5.10.3 GIS控件的方法 5.10.4 事件 5.10.5 控件使用 5.10.6 應用實例 習題 主要參考文獻
2.7 用戶界面設計
2.7.1 用戶界面的作用
作為一種軟件產品,無論應用型地理信息系統,還是工具型地理信息系統,用戶界面對軟件使用效果都是極為重要的,主要表現在以下幾個方面。
1)為用戶提供一個易學、易用的使用環境
軟件系統的所有功能都是通過用戶界面介紹給用戶,并引導用戶使用的。所以,用戶界面應當為用戶提供一個易學、易用的使用環境。良好的用戶界面,邏輯清晰、層次分明、切合用戶的專業水平,容易將軟件的功能系統地展現給用戶。
2)引導用戶正確使用軟件功能
地理信息系統一般都具有較為復雜的功能結構。用戶界面重要的功能之一,就是引導用戶正確使用軟件功能。在用戶選擇某功能操作時,應循序漸進地引導用戶逐個滿足該操作必需的執行條件,并適時和自動地生成功能需要的一些窗口與對話框等。
3)避免用戶使用軟件時出現的邏輯錯誤
現代的軟件系統,功能都很復雜,用戶使用過程中,難免不出現邏輯上或其他方面的錯誤,而良好的用戶界面,都能在一定程度上防范這些錯誤的發生。例如,當某種功能尚不具備執行條件時,界面上執行該功能的菜單或圖標變為不可選(變成灰色),而當條件滿足時又自動變為可選(正常)。
4)提供完善的幫助系統
良好的用戶界面,一般都具有完善的幫助系統,以隨時提供使用者查詢或引導用戶解決出現的問題。而且這種幫助系統也具有一定的智能化性質,如隨著出現的錯誤自動打開相關的幫助內容等。
5)糾正可能的錯誤操作
完善、良好的用戶界面,還可能在一定程度上糾正用戶可能的誤操作,如對有些常犯錯誤進行強制糾正。
2.7.2 用戶界面設計的原則
在地理信息系統中,用戶界面的設計,關鍵是把握實用、美觀兩個基本點,并注重以下一些基本原則。
1)簡易性原則
即用戶界面的設計,盡可能簡單和易于使用。作為一種軟件,地理信息系統一般都具有龐大的規模、復雜的結構和眾多的功能,如果組織不好,邏輯不清,很容易形成復雜的用戶界面,并由此給用戶帶來使用中的茫然。