GIS面向對象模型設計(二)

 

李泉 陳玉進 (南京跬步科技有限公司http://www.creable.cn

局部模塊設計

下列類圖中黑色菱形箭頭表示組合關係,空行三角箭頭表示繼承關係,虛線箭頭表示依賴關係,空心菱形箭頭表示聚合關係。曲線相連表示該類被使用在某個模塊中。

1.Controls模塊設計

本模塊的目的在於提供一個完整的前臺控件類,方便用戶使用GridGIS Mobile電子地圖引擎。圖2Controls模塊的UML類圖。MapControl類定義了電子地圖控件的外觀及當前地圖工具等信息,其中包括一個重要的Map屬性,此屬性是控制獲取地圖要素的入口。地圖工具MapTool類定義爲一個抽象類供用戶派生自己的地圖工具,而MapControl中統一將地圖工具視爲MapTool類來管理,達到擴展功能的目的。用戶程序可以通過定義自己的類,並實現ICustomDraw接口,再掛接到MapControl對象中,即可實現自繪製圖層,例如GPS動態圖層等效果。

 d31

 

2Display模塊設計

GIS對各個地圖要素的表現至關重要,地圖的表現力是GIS電子地圖引擎是否受歡迎的重要因素之一。Display模塊提供一個全局惟一的Display類來實現對地圖要素的實時繪製和自動標註,客戶程序可以通過使用該類的方法自己在地圖窗口中繪製相應的元素。DisplayTransformation類負責完成實際座標與設備座標之間的轉換,該類與Display類之間是組合的關係,Display類中僅包含一個惟一的DisplayTransformation類。FeatureRenderer虛類使用在FeatureLayer這種圖層中,用於對地圖渲染方式的定義,它的子類SimpleRenderer能夠完成將一個FeatureLayer使用單一符號樣式來渲染繪製的功能。另一個子類UniqueValueRenderer實現同一圖層不同樣式的渲染。Symbol虛類是所有符號樣式的父類,定義了符號樣式共同的特性,也爲方便在FeatureRenderer中管理不同類別的符號樣式提供了統一的方式。MarkerSymbol是一種對點狀地圖要素的符號樣式,LineSymbol描述線狀地圖要素,FillSymbol描述面狀地圖要素而TextSymbol用於描述特殊的地圖文字要素。FeatureRendererSymbol使用Bridge模式提供擴展性能,方便編寫新的渲染規則和符號樣式。讀者可以參看圖3所示的UML類圖來理解這一模塊的設計思想與設計方法。

 d32

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章