孫嘉欣 何 杰
(寧夏大學資源環境學院,寧夏 銀川 750021)
關鍵字:道路交通;組件技術;Arc Engine;C#
本文通過遙感影像對陸地交通矢量化,得到寧夏回族自治區陸地交通矢量圖,包括:以高速公路為骨架,國家公路、省公路為干線,縣公路、鄉公路為支線的公路交通網及鐵路交通網為原始數據。Arc Engine和SQL Sever為工具,使用C#語言在.NET平臺上開發出一個適用道路交通管理的地理信息軟件,能夠提供數據瀏覽、統計分析和規劃管理的綜合信息支持系統。
Arc Engine是一個簡單、獨立與應用程序的Arc Objects編程環境,開發人員用于建立自定義應用程序的嵌入式GIS組件的一個完整類庫,具有簡易、快捷、低成本等優點。因而在寧夏交通地理信息系統設計中選擇它的接口,更實用、更方便。總體結構采用層次化的設計思想,將系統模塊化,擇優組合。
①表現層:負責向最終用戶展示應用程序的控制方式以及數據、信息的布局和格式。使用Arc Engine功能界面控件,合理布局,形成一個方便使用的寧夏道路交通地理信息系統界面。②業務邏輯層:系統核心部分,負責邏輯性數據生成、處理及轉換,包括基礎功能、可視化、規劃設計、數據訪問、制圖。主要使用Arc Engine接口,提高開發效率。③數據層:非原始數據操作層,為業務邏輯層提供數據服務,即對數據庫的操作,在本系統中數據層由控件數據引擎ArcSDE和關系數據庫管理系統(SQL Sever)組成。遙感影像、矢量數據、道路及基礎地理數據等均通過Geodatebase進行集成管理,用戶信息、用戶權限等通過SQL Sever進行管理。
寧夏道路交通地理信息系統的實現能為城市規劃管理、經濟建設、戰略布局等管理決策提供支持,系統使用過程中,使用者身份信息需要確認,設計過程中,需要登錄界面和程序主界面。主界面設計主要使用NET內置控件及Arc Engine相關控件,分布包括:菜單欄、工具欄、狀態欄、地圖數據目錄顯示區、鷹眼導航區和地圖顯示與操作區六大部分。系統將幾大功能模塊分別鍵入菜單欄,用戶在使用時點擊相應菜單跳轉進入對應功能。工具欄和地圖數據目錄顯示區使用框架控件TOCControl和ToolbarControl,同時向ToolbarControl中添加保存、縮放、全局顯示等常用工具,并與制圖控件綁定。鷹眼導航區和地圖顯示與操作區使用制圖控件MapControl和PageLayoutControl,MapControl用于地理數據顯示和分析,PageLayoutControl用于生成成品地圖。
寧夏道路交通地理信息系統為用戶提供道路分布瀏覽、道路信息查詢、道路測量、道路相關因子量化等功能,便于全省交通道路管理,對城市發展規劃、道路影響范圍界定提供科學的精準數據依據,為做出合理決策提供支持,具體功能模塊包括文件模塊、交通節點繪制模塊、道路測量模塊、道路查詢模塊、控件分析模塊、交通專題模塊六大模塊。
寧夏交通地理信息系統中數據庫包括主程序使用的ESRI提供的ArcSDK分管地理數據庫接口和管理人員入口使用的Microsoft提供的關系型數據庫管理系統SQL Sever兩大管理系統。
(1) 寧夏道路交通矢量數據、省市縣行政界線矢量數據等均存在于ArcSDK接口提供的Geodatabase中。
(2) 用戶信息登錄名、密碼、身份、系統日志等以關系表形式存在SQL Sever數據庫中。
C#是一種面向對象的開發語言,本系統采用Visual Studio2010作為開發環境。基于Arc Engine這個簡單、獨立與應用程序的Arc Object中進行開發本系統就是基于此環境下進行開發,通過ArcGIS SDE進行控件數據訪問,關系型數據庫采用SQL Sever。
(1) 文件模塊。常規的文件處理功能如圖像的加載、保存、刪除和退出。其中,圖像加載根據圖像格式不同分為加載地圖文檔、添加圖層、添加SHP文件、加載CAD文件。保存分為保存當前文檔和另存地圖文檔。
(2) 交通節點繪制模塊。在需要進行簡單編輯時,可在該模塊中繪制線、圓、矩形、多邊形等形式。
(3) 道路測量模塊。根據用戶使用需求,可用測量工具,對所需測量道路進行手動測量其長度。
(4) 道路查詢模塊。Arc Engine中MapControl控件提供selectFeature方法。在規劃管理、瀏覽信息中需要對要素信息進行查詢,在本模塊中分為目標查詢、范圍查詢和里程查詢。目標查詢: 可選定要素,查看其屬性信息、規劃信息等。范圍查詢:通過鼠標框選一定范圍,查詢此范圍內各種地物信息。里程查詢:查詢寧夏回族自治區內各種道路里程信息。
(5) 空間分析模塊。ITopogicalOperator接口提供緩沖區分析等方法,在此方法下實現對象緩沖區拓撲操作。寧夏道路交通系統中緩沖區應用十分廣泛,如在城市道路噪聲污染范圍預估;道路交點服務半徑;道路規劃過程中占地范圍確定多個方面。
(6) 交通專題圖模塊。瀏覽、查詢、分析等操作之后需要將結果以圖件的形式呈現出來,此模塊需在布局視圖下提供,指北針、圖例、比例尺、邊框、陰影和格網的添加。
系統中包含大量的信息,為了能夠快速了解所需信息,查詢功能是最好的工具,根據不同的查詢依據產生了多種查詢方式。寧夏交通地理信息系統中,為方便使用,開發了目標查詢、范圍查詢和里程查詢三種方式。
查詢需設置相應查詢條件,ArcGIS Engine中,FeatureLayer對象和IFeatureClass對象提供Search()方法專門用于空間數據查詢,查詢過程中使用游標Cursor連接Row對象或要素,使用過濾器對象,IQueryFilter接口設定查詢要求,篩選出要操作要素,得到查詢結果后利用圖像和要素對應關系,在地圖上對符合條件的要素進行定位并刷新背景燈。
在城市道路噪聲污染范圍預估、道路交點服務半徑、道路規劃過程中占地范圍確定多個方面,需對一種要素,給定一個數值確定它所包含范圍,在地理信息技術中就是對空間位置的拓撲關系的描述。
ArcEngine中提供ITopologicalOperator接口用于拓撲運算,通過對已存在的集合對象做空間拓撲運算,已產生新的結合對象。
寧夏交通地理信息系統充分利用地理信息系統技術和數據庫技術。通過三層架構實現道路交通數據瀏覽、查詢、統計和空間分析功能,為寧夏回族自治區的交通管理、城市規劃、經濟發展和戰略布局提供輔助決策和技術支持,產生巨大的經濟效益和社會效益。