張恒,劉群
(四川建筑職業技術學院交通與市政工程系,四川德陽 618000)
基于SuperMap Objects的專題圖模塊開發研究
張恒?,劉群
(四川建筑職業技術學院交通與市政工程系,四川德陽 618000)
介紹了SuperMap Objects地圖控件的對象結構,專題圖接口類型及特點,闡述了使用VB6.0和SuperMap Objects組件開發專題圖模塊的思路,給出了單值專題圖和標簽專題圖的開發實例。
專題圖;SuperMap Objects;COMGIS;開發
專題圖制作是GIS軟件的常見功能,專題圖以各種圖形樣式(如符號、線型、顏色、填充模式等)圖形化地顯示地圖信息,能形象直觀的表達數據,有助于發現隱藏在數據中的某種對象的發展趨勢和規律。SuperMap Objects作為常用的COMGIS開發工具,提供了多種創建專題圖的接口方法,本文就SuperMap Objects地圖控件的結構及開發專題圖模塊的思路進行分析,并給出了VB6.0平臺下利用SuperMap Objects開發專題圖的開發實例。
理類型相同的空間數據,如點、線、面、文本等數據集。數據集被賦予特定的顯示風格,并以圖層(Layer)的方式顯示在地圖窗口中,一個圖層對應著一個數據集。圖層的顯示風格可根據應用需要進行修改,可通過修改圖層風格或制作專題圖的方法實現。例如,SuperMap提供了單值圖、點密度圖、分段圖、標簽圖、統計圖、等級符號圖等多種制作專題圖的方法,針對Grid數據,還可制作單值或范圍分段專題圖。
SuperMap Objects地圖控件的對象結構如圖1所示。
SuperMap以數據集(DataSet)的方式來組織和管

圖1 SuperMap Objects地圖控件的對象結構[1]

專題圖類別及特點[1,2]表1

統計圖專題圖把制圖區域分成幾個區劃單位(通常是以行政區為區劃單位),按其相應的統計數據,描繪不同形式的統計圖表,以表示并比較各個區劃單位內現象的總和及其動態,統計圖通常繪制在地圖上各相應的分區內。統計圖的類型包括面積圖、階梯圖、折線圖、點狀圖、柱狀圖、餅圖、玫瑰圖等類型。等級符號專題圖采用不同形狀、顏色和大小的符號,表示各自獨立的、以整體概念顯示的各個物體的數量與質量特征。Grid單值專題圖根據柵格數據集的特征信息值,并用相應的色階來反映不同的特征信息值,以此來反映特征信息在空間上的差異。Grid分段專題圖根據柵格數據集的特征信息值,將特征信息值進行分級,并用相應的色階,反映特征信息的集中程度或發展水平的空間分布差異。
制作專題圖的關鍵是根據某個特定圖層對地圖進行符號化。在設計專題圖模塊時,應深入分析應用型GIS系統的共性、設計并開發可復用的專題圖模塊,這些模塊以函數的形式進行封裝,在使用時僅需指定具體的參數調用即可。使用SuperMap Objects進行專題圖開發的思路如下:
①添加用于制作專題圖的符號庫、線型庫和填充模式庫,即SuperWorkspace.Resources.SymbolLib.ImportEx(符號庫文件,是否覆蓋已有的符號文件)、Super-Workspace.Resources.LineStyleLib.Import(線型庫文件的全路徑,是否覆蓋已有的線型庫)和SuperWorkspace.Resources.FillStyleLib.Import(導入的填充模式庫文件名,是否覆蓋當前的填充模式庫);
②采用Set objlayer=SuperMap.Layers.AddDataset (加載的數據集,是否放置到最頂層)方法加載數據集,獲取當前圖層;
③創建soStyle對象,設置幾何對象的填充顏色(BrushColor)、填充模式(BrushStyle)、漸變填充類型(BrushGradientMode)、線型(PenStyle)、點對象符號風格(SymbolStyle)等參數創建圖層顯示風格;
④通過設置soLayer對象的Style屬性獲取圖層的顯示風格,即Set objlayer.Style=objstyle;
⑤對單值專題圖、點密度專題圖、等級符號等專題圖風格,應使用soLayer對象的ThemeUnique、Theme-DotDensity、ThemeGraduatedSymbol等屬性設置,如Set objThemeunique=objlayer.ThemeUnique,Set objTheme-DotDensity=objlayer.ThemeDotDensity等。同時應創建soThemeUnique對象、soThemeDotDensity對象及soThemeGraduatedSymbol等對象的實例,并通過其Style屬性設置相應的顯示風格;
⑥在退出函數時,應將創建的圖層、單值專題圖等對象釋放;
⑦建立圖例控件與地圖對象之間的連接,地圖窗口中的圖層、該圖層的各類專題圖及其具體值將以樹狀節點的形式顯示在地圖窗口中;設置圖例窗口的編輯、折疊、拖動調整、右鍵快捷菜單等屬性,刷新圖例控件和地圖控件。
3.1 制作單值專題圖
在創建單值專題圖時,可設計數據集名稱、制作專題圖的字段名稱及專題圖顯示的地圖控件等函數參數。調用函數時,即加載指定的空間數據集,并按字段的取值設置各要素的顯示風格。該函數的參考代碼如下。

3.2 制作標簽專題圖
標簽專題圖常用于在圖層上顯示特定字段的內容,從而增強地圖的可讀性,如在道路圖層中顯示各級道路的名稱,在單位圖層中顯示單位的名稱等。制作標簽專題圖的函數代碼如下。

圖2 單值專題圖和標簽專題圖界面


本文介紹了采用SuperMap Objects組件工具制作專題圖的思路和開發實例。開發實踐表明,專題圖可以滿足用戶對數據可視化提出的要求,能生動形象地說明各種數據之間的關系,GIS開發人員應設計并開發具有通用性和可復用性的專題圖模塊,從而顯著提高開發效率。
[1] 北京超圖地理信息技術有限公司.SuperMap Objects 5.0開發教程.北京,2004
[2] 吳信才,鄭貴洲,謝忠等.地理信息系統的設計與實現[M].北京:電子工業出版社.2002
[3] 張恒.基于COMGIS的工程圖文信息管理系統的設計與實現[D].成都:西南交通大學碩士學位論文.2007
[4] 聶小波,吳北平,何保國.基于ArcGIS Engine的專題圖模塊的設計與實現[J].地理空間信息.2006(2)
[5] 馬金鋒,潘瑜春,郭占軍等.應用ArcIMS Java connector制作動態專題圖[J].計算機應用研究.2008(5)
[6] 張恒,劉群.應用型GIS系統開發的集成框架及關鍵技術[J].城市勘測.2009(6)
Development Research of Thematic Maps Model Based on SuperMap Objects
Zhang Heng,Liu Qun
(Sichuan College of Architectural Technology,Traffic and Municipal engineering department,Deyang 618000,China)
This paper introduced the structure of SuperMap Objects map components,interface types and characteristics of the thematic maps,elaborated the development methods based on VB6.0 and SuperMap Objects components,provided the unique theme and label theme develop examples.
Thematic Maps;SuperMap Objects;COMGIS;Development
1672-8262(2010)06-54-03
P208
B
2010—03—27
張恒(1980—),男,碩士,講師,研究方向:地理信息系統開發及應用。
多源遙感數據協同的汶川大地震次生山地地質災害評估研究(20090415CL)。