GIS平台結構設計


前言:      

    WebGIS由於技術發展和功能定位的原因,一般在進行架構設計的時候更多地考慮是否容易實現、用戶交互、數據傳輸方便、渲染效果等方面,對強GIS的應用考慮得少,所以架構上與桌面的GIS平台很不一樣。使用HTML5開發的GIS平台,由於性能的提高、海量矢量數據的支持,很多桌面上的GIS功能都能轉移到WebGIS上,這時候常見的WebGIS架構就難滿足要求了。本文介紹了桌面GIS的主體架構設計(主要參考開源GIS平台 DotSpatial),希望能對大家有點幫助。

1. 平台主要模塊

u地圖模塊:負責地圖的顯示控制、圖層管理、地圖文檔管理、屏幕坐標轉換等。

u數據模塊:負責空間數據、屬性數據、影像數據等數據格式的存取以及相關的操作。

u投影模塊:負責投影信息的定義和不同投影直接的坐標轉換。

u地圖繪制:包括地圖圖層風格的設置、影像圖層接口、矢量圖層接口和標注圖層接口等。

u拓撲模塊:包括空間拓撲關系計算、空間索引、幾何對象的操作方法等。

u基本繪制:基本圖形的繪制,不同平台分別實現。

 

2. 地圖模塊


u地圖顯示:MapView控件包括地圖刷新、圖層管理、屏幕坐標轉換等功能。

 

u地圖文檔:地圖文檔保存了顯示圖層信息、圖層風格、數據來源、地圖投影等信息。MapDocument對象負責地圖文檔的加載和保存。

 

3. 數據模塊


u數據集:數據集接口(IDataset)平台中各種數據格式的公共接口,它包括投影信息、數據集信息和數據集復制等基本操作。

u網絡數據:用於導航的一種數據格式,其存儲內容包括空間數據、拓撲關系和相關的屬性。

u影像數據:負責影像數據的加載和顯示,本平台中暫時支持瓦片影像格式,可使用在線瓦片影像或本地瓦片影像。

u矢量數據集:矢量數據集接口(IFeatureSet)用於對空間和屬性數據進行描述、管理和操作。包括基本的數據讀取、數據保存、數據查詢、數據編輯等方法。

u空間數據:矢量數據集的空間數據部分,負責空間數據文件的讀寫操作、空間索引的維護。本平台中包括底圖數據(EPJ)格式和可編輯數據格式兩種。

u屬性存儲:矢量數據集中屬性部分的存取,一般使用Sqlite保存屬性數據。

u記錄集:數據查詢結果集合,用於枚舉查詢結果。

u幾何對象Geometry,幾何對象的基類,包括基本的對象屬性和操作方法。子類包括:簡單點(Point)、簡單折線(Polyline)、簡單多邊形(Polygon)、多點(MultiPoint)、多線(MultiPolyline)、復合多邊形(MultiPolygon)。

 

4. 地圖繪制


u圖層接口:圖層接口(ILayer)是地圖顯示的單元,它定義了基本的圖層顯示屬性:最大最小顯示比例、是否顯示。圖層中包括一個數據集對象,用於獲取顯示的空間數據或影像數據。

u影像圖層:繼承於ILayer,實現影像圖層的繪制。

u矢量圖層:繼承於ILayer,實現矢量圖層的繪制。它包含矢量風格對象和標注圖層對象。

u標注圖層:繼承於ILayer,實現標注文本的繪制。

u風格方案:圖層風格管理。


u風格方案:IFeatureScheme,表示矢量圖層的顯示。

u顯示類別集合:顯示類別IFeatureCategory的集合,負責類別的插入和刪除。

u顯示類別:IFeatureCagetory,一個顯示類別表示一組相同的顯示方法,它包含有過濾條件屬性(FilterExpression)用於過濾符合條件的地物。IFeatureCagetory中包括常態的顯示風格Symbolizer和選中風格SelectionSymbolizer。

u顯示風格接口:IFeatureSymbolizer,點、線、面風格的公共接口。

u點風格:IPointSymbolizer,點要素的顯示接口,包含有Symbols屬性(ISymbol的數組)。

u符號接口:ISymbol,簡單點符號的繪制接口,由它的子類完成點要素的繪制。子類包括簡單符號、圖標、字體等符號 類型。

u線風格:ILineSymbolizer,線要素的顯示接口,包含有Strokes屬性(IStroke的數組)。

u筆畫接口:IStroke,筆畫的接口,包含線性、線寬、顏色和偏移量等屬性,由它的子類完成線要素的繪制。

u面風格:IPolygonSymbolizer,面要素的顯示接口,包含有Patterns(IPattern的數組)

u圖案接口:IPattern,圖案的接口,包括邊框風格、填充顏色、填充透明度等屬性。子類有簡單圖案、漸變填充、圖片填充等。

 

5. 地圖控件

 

 

6. 幾何對象


 

7. 數據訪問



 

《遠景地理信息系統|RemoteGIS》

RemoteGIS是基於HTML5開發的高性能WEBGIS,支持百萬級別矢量數據。

詳細介紹和在線演示地址:www.remotegis.net


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM