GIS平臺結構設計

前言:      數組

    WebGIS因爲技術發展和功能定位的緣由,通常在進行架構設計的時候更多地考慮是否容易實現、用戶交互、數據傳輸方便、渲染效果等方面,對強GIS的應用考慮得少,因此架構上與桌面的GIS平臺很不同。使用HTML5開發的GIS平臺,因爲性能的提升、海量矢量數據的支持,不少桌面上的GIS功能都能轉移到WebGIS上,這時候常見的WebGIS架構就難知足要求了。本文介紹了桌面GIS的主體架構設計(主要參考開源GIS平臺 DotSpatial),但願能對你們有點幫助。

1. 平臺主要模塊

網絡

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

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

u投影模塊:負責投影信息的定義和不一樣投影直接的座標轉換。字體

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

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

u基本繪製:基本圖形的繪製,不一樣平臺分別實現。架構設計

 

2. 地圖模塊設計


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

 

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

相關文章
相關標籤/搜索