李鳳玲,楊永國,劉元鳳,朱 靜
(中國礦業大學資源與地球科學學院,江蘇徐州221008)
江蘇省社會經濟專題圖系統設計與實現
李鳳玲,楊永國,劉元鳳,朱 靜
(中國礦業大學資源與地球科學學院,江蘇徐州221008)
社會經濟統計年鑒包含豐富的信息,但數據形式不直觀明了,本研究將專題圖與江蘇省社會統計年鑒相結合,為大眾提供可視化的信息服務。研究采用基于ArcGISEngine二次開發的方法,開發平臺選用VS.NET2005,數據庫訪問采用ADO.NET技術,GIS空間數據庫采用文件系統格式,順利開發完成了江蘇省社會經濟專題圖制作系統。該系統具有強大的專題圖制作功能及輔助功能,并且界面友好,具有實用性,擴展性和獨立性。
GIS;ArcEngine;C#.NET;專題圖;統計年鑒

統計行業本質上是一種信息服務行業。在信息社會高度發展與豐富的今天,傳統的報表或文字公布形式已經遠遠不能滿足信息服務的要求。GIS系統能將各種統計數據基于地理信息集成,圖文并茂的展現,并可進行動態的綜合分析。鑒于以上趨勢,本論文研究以專題地圖的形式實現江蘇省社會經濟統計年鑒的可視化,為大眾提供更高一級的信息服務。
可視化開發工具VisualStudio.NET,界面友好,操作簡單,功能齊全。在開發過程中能給程序員提供友好美觀的操作界面,和強大的數據庫操作功能,如數據查詢,數據更新等。結合二次開發平臺ArcGISEngine提供的數據連接接口,可以方便地實現屬性數據與地圖數據的實時動態連接。ArcGIS Engine功能強大,能夠滿足開發專題圖系統的各項功能,例如各類專題圖繪制功能,地圖的瀏覽功能,圖形查詢功能,地圖輸出功能等。程序開發完畢后打包時,將ArcGIS Engine RunTime組件包集成在安裝包中后,應用程序就可以脫離開發平臺,獨立運行,擺脫運行環境的限制了。
以各種專題地圖形式,對現有的統計年鑒數據進行可視化顯示,直觀形象地向社會公眾展現江蘇省社會經濟發展情況,為政府或企業的管理和決策提供依據,是本次研究的主要目標。在系統開發前進行詳細的需求分析,得出系統需要滿足的要求有:實現數據的實時更新和擴充,地圖數據和屬性數據的加載,地圖瀏覽等基本操作,屬性數據瀏覽、查詢,各種專題圖渲染,圖形修飾、地圖的輸出。在此基礎上,對系統結構及功能做了設計,如圖1所示。

系統包括空間數據和屬性數據兩部分,本論文采用傳統的GIS空間數據庫管理模式,即空間數據和屬性數據分離的模式,如圖 2所示。其屬性數據采用通用的Access數據庫格式。按照統計年鑒的數據組織模式,建立一個數據庫,把數據進行分類建表,數據表都采用編號命名,用行政單元編號作為數據表的主鍵。空間數據采用ArcGIS的數據格式,用行政單元的編號作為要素對象的唯一標識。采用外部關聯的模式,利用ADO.NET技術和ArcEngine提供的接口,實現地圖數據和空間數據的動態連接。這種空間數據管理模式,使系統變得靈活可用,用戶搭建程序的運行環境更容易,能方便地實現地圖數據和屬性數據的更新和擴展。

4.1 地圖瀏覽
首先,搭建了系統的基礎框架。首先向開發環境中加載ArcGIS組件和所需的ESRI類庫,然后向窗體添加各種存放控件的容器包括 SplitContainer、Tool-StripContainer、TabControl,還有menuStrip、ToolStrip、 statusBar等。將LicenseControl、axMapConortl、pageL-ayoutConortl、TOCContorl和ToolbarContorl添加到窗體上相應的容器控件中;向窗體上添加一個 GroupBox、一個ComboBox,一個Button和一個ListView。控件添加完以后,重新調整窗體上各個控件的大小和位置,設置各個控件的屬性。
實現axMapConortl、pageLayoutConortl控件的同步顯示,使用的接口為IMapControl3、IPageLayoutControl2、ITool、ArrayList。其次,向ToolbarConrtol中增加命令,借助ToolbarConrtol的Add Item方法實現。ArcGISEngine提供了120多個命令和工具,它們與MapContorl、pageLayoutConortl和 ToolbarControl直接相互協作。這些命令和工具大量提供了經常使用的地圖導航、圖形管理、地物選擇等方面的GIS功能。系統中使用了兩ToolbarControl,分別與MapContorl和pageLayoutConortl綁定。最后,實現TOOControl、MapControl和PageL-ayeroutControl控件右擊事件實現。實現的運行界面效果,如圖3所示。

4.2 查詢檢索功能
此模塊實現了三種查詢功能,使用戶在地圖中更方便地查詢到所需要的區域和相關信息。圖層屬性表查詢顯示,空間查詢,空間對象屬性查詢,滿足了各方的查詢要求。圖層屬性表查詢的具體功能是選中地圖中的某一圖層,查詢顯示該圖層的總體屬性表。空間查詢的功能是通過設置所要查詢的空間對象的屬性條件定位空間對象,在地圖中以對象邊界高亮顯示的方式顯示查詢結果。空間對象屬性查詢的功能是通過選擇地圖上的空間對象,顯示該對象的屬性信息。
4.3 數據輸入輸出功能
此模塊功能包括,向運行環境中實時加載 mxd、Shape、layer格式的地圖數據和 mdb數據庫中的數據表,完成地圖圖層和屬性表的關聯,為制作專題圖提供基礎數據。實現了向系統中加載矢量圖形當用戶完成各項操作以后,為用戶提供地圖集保存功能和圖片輸出功能。系統以mxd格式保存通用地圖窗口中的地圖數據,保存方式包括直接保存和另存為兩種。系統可以以JPEG格式和PDF格式輸出通用地圖窗口中的地圖圖像。另外,可以通過打印輸出功能輸出布局窗口中的地圖布局。加載地圖數據的功能是利用ArcEngine提供的接口實現的,系統利用ADO.NET技術和Transact-SQL語句提供了向數據庫中增加數據表和向數據表中增加記錄的接口,都是基于可視化的窗體界面實現的,用戶可以方便地完成操作。
4.4 專題圖功能模塊實現
專題圖模塊共有5種。這些模塊在實現的時候,都要使用IMap、ILayer、和IFeatureLayer這些接口來獲取某一地圖的中某一圖層,在使用IGeoFeatureLayer接口將該圖層設置為渲染圖層;在渲染時利用IFeatureClass接口來訪問圖層中的各個要素;此外,還分別要使用相應的渲染接口、符號等接口實現渲染屬性的設置;最后,將各個渲染接口的實例賦值給渲染圖層的Renderer屬性,刷新圖層后就實現專題圖的制作。各個模塊的功能實現情況如下:
1)單一符號圖模塊使用的渲染接口為 ISample-Rendrer,符號接口為ISimpleFillSymbol。單一符號圖模塊實現對圖層的單一符號渲染,對同一圖層中的所有地圖要素以相同符號表示。渲染前,用戶可以選擇符號的顏色,和區域邊界線的顏色及線寬。
2)單值圖模塊使用的渲染接口為IUniqueValueRenderer,符號接口為ISimpleFillSymbol、還使用了隨機顏色生成器接口 IR and omColorRamp和符號數組接口ISymbolArray。單值圖模塊主要實現圖層的基于某種屬性的單值渲染。對于屬性值相同的空間實體(面)將以相同符號進行渲染。該模塊中,用戶可以選擇圖層、設置屬性字段及渲染色帶。
3)點密度圖模塊使用的渲染接口為IDotDensityR-enderer,符號接口為IDotDensityFillSymbol。點密度圖模塊實現對圖層的點密度圖渲染。該功能只對面圖層有效。渲染前,用戶可以選擇渲染圖層和屬性字段;設定所選的圖層整體背景顏色;設定點符號的尺寸及顏色、設定一個點符號所代表的數目。
4)圖表圖模塊使用的渲染接口為IChartRenderer,餅狀圖和柱狀圖使用的符號接口分別為IPieChartSymbol和IBarChartSymbol。另外還是用了數據統計接口IData-Statistics,實現數據的統計功能。圖表圖模塊可以以餅狀圖、柱狀圖渲染圖層。渲染前,可以選擇圖層及渲染字段、設定符號尺寸選擇色帶。
5)等級圖模塊使用的渲染接口為IClassBreaksRenderer,復合接口也是ISimpleFillSymbol。使用了IClassifyGEN實現對要素的等級劃分。該模塊可以對圖層進行顏色漸變符號渲染。可選擇欲渲染的圖層和分類方式,可以選擇渲染色帶。分類方式有五種:等間距、自定義等間距、數量等分、自然間斷和標準偏差。部分專題圖生成運行效果見圖4和圖5。

4.5 地圖修飾功能
布局地圖窗口,用于實現地圖的各種修飾功能和查看地圖最終輸出的布局。專業的地圖輸出是帶有很多地圖修飾要素的,例如,網格,邊框,圖例,指北針等。本系統實現了七項地圖修飾要素的生成,部分還能修改這些要素的屬性。根據用戶選擇的屬性字段,系統可以自動地向當前圖層中添加地圖標注,也可以撤銷標注;當用戶需要添加圖例時,點擊相應菜單后,系統會自動獲取地圖要素的屬性信息,在用戶所畫矩形區域創建當前地圖的圖例;用相同的方法可以在地圖布局窗口中添加當前地圖的比例尺,創建指北針;系統通過交互式窗體,并根據地圖的坐標系統,生成背景網格;還可以修改布局窗口中的圖框屬性,選擇適當的圖框風格。
實現這些功能主要用到IMapFrame接口,利用這個接口來獲得當前地圖的框架實例,在向其中添加要素或修改其中已有的要素屬性。
本次研究開發使用面向對象的開發語言C#.NET,利用ArcGISEngine提供的組件及接口,有效地提高了系統的開發效率。系統的空間數據采用靈活的組織模式,具有較高的通用性,數據更新簡單。集成ArcGIS EngineRunTime組件包后,系統可以脫離ArcGIS軟件,在Windows環境下獨立運行。總的來說系統符合實用性、通用性原則,能將此軟件推廣使用,為大眾提供更形象化的信息服務。
[1] 廖克.現代地圖學的最新進展與新時期的展望[J].測繪科學,2004,29(1):5-9
[2] 潘燕.一種基于GIS的專題地圖制作模式[J].測繪通報,2005 (9):41-43
[3] 王志恒,楊國東,吳瓊,等.基于ArcEngine的虛擬校園信息管理系統的設計與實現[J].地理信息世界.2008(3):80-82
[4] 聶小波,吳北平,何保國.基于ArcGISEngine的專題圖模塊的設計與實現[J].地理空間信息,2006,4(1):12-14
[5] 朱凌.ArcGIS9的特點及其ArcObjects Controls版的使用體會[J].北京測繪,2004(l):16-18
[6] 劉瑩.ArcGIS Engine的開發及應用研究[J].城市勘測,2006 (2):37-39
[7] 黃勇奇,韋合勇,謝玉波.基于ArcGISEngine的專題地圖制作的實現[J].安徽農業科學,2007(14):70-73
[8] 郭新慧,張和生.第三代地理數據模型--Geodatabase及其實現[J].太原科技大學學報,2008.29(1):5-8
[9] 張佐幫,尚穎娟.基于Geodatabase的面向對象空間數據庫設計[J].地理空間信息,2005,3(2):33-35
[10]吳瑋,李小帥,張斌.基于ArcGIS Engine的GIS開發技術探討[J].科學技術與工程,2006(2):74-76
Design and Implementation of Socio-econom ic Tematic Map System of Jiangsu Province
LI Fengling,YANG Yongguo,LIU Yuanfeng,ZHU Jing
(School of Resources and the Earth Science,China University of M ining and Technology, Xuzhou 221008,China)
Socio-economic Statistical Yearbook contains a wealth of information,but the data format is not intuitive enough to underst and .This paper studies to combine the thematic maps and the Statistical Yearbook of Jiangsu Province,in order to provide the public w ith visualized information services.This study is based on ArcGIS Engine,uses VS.NET2005 as development platform and ADO.NET as database access technology, and GIS spatial databaseuses the filesy stem format.Thesocio-econom ic thematic map system of JiangSu Province was successfully developed.It has strong thematic map production function and related auxiliary functions, and is easy to operate because of friendly interface.The completed system has very good practicability,expansibility and independence.
GIS;ArcEngine;C#.NET;thematic map;Statistical Yearbook
2009-07-09
項目來源:國家973計劃資助項目(2009CB219605)。
P208
B
1672-4623(2010)01-0099-03
李鳳玲,碩士研究生,研究方向為地理信息系統應用。