梁后軍 劉小虎 馬澤生 蔡國成
(淮河水利委員會水文局(信息中心) 蚌埠 233001)
開源地理信息系統OpenScales的功能擴展實踐
梁后軍 劉小虎 馬澤生 蔡國成
(淮河水利委員會水文局(信息中心) 蚌埠 233001)
OpenScales是一種基于ActionScript3和Flex的開源、免費的地圖應用開發框架工具集合。然而,OpenScales提供的功能遠不能滿足實際開發的需要,需要進一步擴充,就水利行業而言還需擴充等值線、色斑圖、熱圖、站點顯示自動分級、地形圖、影像圖等功能。本文介紹了在工程實踐中對開源GIS OpenScales所作的功能擴展,使之更符合水利信息化發展的需要。
WEBGIS OpenScales遙測信息 GIS應用 功能擴展
OpenScales起源于FlexLayers開放源代碼項目,融合了多個開源AS3/JS的GIS項目。從OpenScales項目開展以來,OpenScales已經對原有基礎代碼進行了廣泛的修改和完善,使其成為一個具備良好適應性的GIS引擎。主要功能特點包括:支持點、線、面等多種不同的圖層,兼容支持OGC的多種協議;利用FLASH功能,提供強有力的矢量數據繪制、編輯、造型;提供功能豐富的樣式API,支持彈出窗口;實現快速矢量渲染,增加了平移,縮放和圖片拼接的漸變效果;支持在運行時通過XML配置,從經過編譯的SWF應用程序動態獲取地圖;支持當前的大多數互聯網瀏覽器,近期發布的OpenScalesGL還提供了對HTML5的支持。
一個典型的BS架構的遙測GIS應用由OpenScales平臺、數據庫管理系統、文件系統、WEB服務發布管理系統、WebService應用組件、計算機網絡、應用終端組成。其應用模式如圖1所示。

圖1 BS架構示意圖
這種模式統一了客戶端,將系統功能實現的核心部分集中到服務器上,簡化了系統的開發、維護和使用。
功能擴展,既可以直接用OpenScales的開發語言Flex在客戶端實現;也可以使用ASP.net、C#等工具在服務器端實現,客戶端只需簡單調用即可實現所需功能。直接在客戶端實現的優點是服務器負擔輕、不需再發布新的服務;缺點是若切換到新的開發工具就需要重寫此軟件模塊。在服務器端實現的優點是功能模塊與客戶端開發語言無關,不管客戶端開發語言如何改變,均無需重寫服務器端程序;缺點是服務器負擔重。對一些簡單的功能,可以直接用Flex在OpenScales源代碼的基礎上修改、添加;而對復雜的、代碼量大的功能,為了提高軟件利用率、避免重復勞動應優先選用在無服務器端擴展功能,在前臺調用的方式。
3.1 過程線、柱狀圖、信息提示功能
過程線模塊主要用于展示水情(如河流、水庫的水位)信息,柱狀圖功能主要用于展示雨情信息。在操作電子地圖的過程中,鼠標滑到某個站點后,可以彈出此站點的概要信息,如站點的名稱、坐標、所屬省市等。用鼠標左鍵點擊此站點,可以顯示該站點各時段的雨量柱狀圖或水位過程線。根據需要,也可以在界面輸入新的時間段,重新查詢。
3.2 報表功能
該功能用于統計某個時間段,各地市、縣區、分中心所轄的遙測站、雨量站的水情信息。查詢結果保存在一個報表中,并可以導出為Excel文件。
4.1 自動分級功能
隨著水文遙測站的逐漸增多,很多地方的站點已從原來的幾百個增加到數千個。這么多的站點若全部在地圖上顯示,不僅加載速度慢,而且密密麻麻看不清楚,因而有必要將遙測站分級顯示,在地圖的第一級先顯示少量站點,隨著地圖逐漸放大再顯示更多的站點。合理的分級方法應該兼顧降雨強度和站點密集程度,優先顯示降雨強度最大的站點,離此站點一定距離范圍內的其他站點放在下一級顯示,遞歸使用此算法可確定出所有站點的顯示級別。它的好處是即使在降雨量小的區域各站點也會比較均勻地顯示出來,不會出現疏密分布不均的情況,使用新的站點自動分級算法后,站點顯示效果一目了然。
4.2 等值線、等值面、熱圖分析功能
等值線圖是以圖表語言客觀描述一定區域范圍內水文變量時空分布特點與規律的圖像,具有信息表達豐富、真切和形象的特點,能形象、準確地表達出水文變量的空間連續分布狀況,是傳統水文信息展示的重要方式之一。然而,等值線比較適合專業人員使用,對非專業人員而言,還不夠直觀、明白。比較而言,色斑圖更能清晰地展現出水文信息的空間分布狀況,即使是非專業人員也很容易看懂。色斑圖與等值線圖類似,只是按等值線的級別在內部填充了不同的顏色。從色斑圖上更容易看出區域下半部分降雨強度較大(顏色越深表示降雨越多)而上半部分較少。色斑圖的一大缺點是假設了等值線內部的雨量大小相同,這顯然是不合理的,實際的降雨分布受多種因素影響不可能如此規整。因此,在水利信息化的工程實踐中,又開發了熱圖分析模塊,對OpenScales的功能進行進一步的擴展。熱圖分析比等值面分析更細,它將每一個像素按值的大小以不同顏色顯示出來,可以更加真實、直觀地表現水文信息的密度及分布情況,不同區域和站點之間的雨量對比更加明顯,有助于進一步分析降雨發展趨勢。
4.3 動畫功能
服務器端生成等值線圖、色斑圖及熱圖的功能為在客戶端以動畫方式展現水文信息提供了基礎。單獨的一幅等值線圖(或色斑圖或熱圖)只能反映水文信息的空間分布情況,而一系列按時間順序生成的圖片以動畫的方式展示出來,不但能展現水文信息的空間分布情況,而且能反映出水文信息的時間分布情況。
具體方式是:客戶端先給服務器端發送請求,同時將數據時間段、圖片數等參數傳遞給服務器;服務器根據傳過來的參數生成一系列圖片并傳送給客戶端;客戶端將接收到的圖片連續快速的顯示出來,給人以動畫的視覺效果。它能清楚地展示出水文信息(比如雨情)的演變、中心分布和移動情況及發展過程。
開源GIS OpenScales具有代碼量小、速度快、完全免費、接口開放、容易擴展等優點。與其他開源軟件類似,OpenScales也存在不少缺陷和局限性,如在空間分析、中文支持、三維建模等方面功能較弱,開發案例和文檔較少。在水利信息化實踐中發現OpenScales還缺少報表、等值線等功能。擴展后的OpenScales開發的應用軟件已經在安徽水文局、河南水文局以及部分地市水文局實際應用,得到了用戶和相關部門的肯定與認可■