漸 猛, 張俊友
(山東理工大學 交通與車輛工程學院, 山東 淄博 255091)
交通擁堵不僅嚴重影響了人們的出行,而且制約著社會和經濟的可持續發展,如何緩解交通擁堵成為當前急需解決的問題.道路交通狀態的準確判別對于制定合理的交通管控措施具有重要的現實意義.
隨著社會經濟的快速發展,傳統的依靠增加道路交通基礎設施解決城市交通擁堵問題的方法已經遠遠不能滿足交通管理的需求,只有在科學規劃的前提下,增加道路設施同時結合智能交通系統(Intelligent Transportation System,ITS)[1]技術才是治理交通問題的關鍵.在這樣的背景下,本文以浮動車信息采集技術為基礎,以地理信息系統為平臺,并以淄博市張店區區域路網為例,建立了基于ArcGIS Engine的路網運行狀態判別系統,為交通管理部門的交通管理組織提供依據,為用戶出行提供決策支持,在現有交通基礎設施的情況下,最大程度的緩解交通擁堵問題.
城市道路交通狀態判別系統研究的目的就是在GIS-T技術的支持下,根據浮動車信息采集技術獲得行駛在路網中的浮動車全天候實時數據,一方面能夠為出行者提供實時動態交通信息,為實現動態誘導提供數據和技術基礎,為ITS交通信息采集提供一種全新、經濟、可靠的方法.同時,通過歷史數據的積累和分析,實現路網運行狀態分析、路段速度變化趨勢分析、擁堵點段分析、擁堵評價等,為交通規劃、決策和管理部門長期、全面的分析路網運行狀態、把握交通擁堵態勢提供支持[2].
系統在設計時遵循以下基本原則:實用性、高效性、穩定性和可擴充性[3].
基于ArcGIS Engine的路網運行狀態判別系統的構建是以浮動車信息采集技術為基礎,以地理信息系統為平臺,結合城市主要道路電子地圖,完成對城市路網路況的實時判別.系統總體上有四部分組成,分別為信息采集子系統、數據庫及應用支撐環境支持[4]、信息處理子系統和信息發布子系統.系統的整體框架如圖1所示.
系統軟件體系結構如圖2所示.整個系統基于ArcGIS Engine組件,以Visual basic.NET語言為開發工具,采用集成開發方式,在Visual Studio 2008開發環境中實施,系統包含四層機構:數據存儲層、數據訪問層、業務邏輯層和用戶層.
數據存儲層用來存儲系統的空間數據和屬性數據,系統提供兩種數據管理手段:一是使用Oracle 11g數據庫管理系統對路網的靜態信息以及浮動車的動態屬性信息進行管理;二是通過ArcSDE把地圖數據庫中的數據存放到Oracle 11g中[5],數據操作通過存儲過程實現.
在數據訪問層中[6],客戶端的道路網以及浮動車等屬性數據是通過ADO.NET技術進行訪問,而電子地圖數據是利用ArcGIS Engine組件技術實現訪問和操作.
業務邏輯層集中了系統的業務邏輯處理功能,是應用軟件系統中的核心部分.系統的業務邏輯功能既可以周期性激活,也可以應用戶需求而激活.業務邏輯主要包括:數據采集、交通信息處理和系統輔助服務.
用戶層包括信息服務系統和數據源系統,它們通過接口與系統進行交互,向系統提供數據或從系統獲取數據.
系統的工作流程為:車載終端通過GPS信息接收模塊接收GPS數據,經過處理后發送到交通信息中心,信息中心服務器接收GPS模塊發過來的緯度、經度、時間、速度等數據,在地理信息系統的支持下,采用基于ArcGIS Engine組件技術的點到線的地圖匹配算法直接進行地圖匹配,得到浮動車在道路上的準確行駛位置;在此基礎上估算路段的平均行程速度,從而分析路段的交通狀態,最后將交通狀態的判別結果在GIS電子地圖中用不同顏色顯示.系統的工作流程如圖3所示.
系統中的數據包括地圖數據和屬性數據,其中地圖數據大多數是ArcGIS所支持的mxd格式文件和Shp格式數據.統計數據主要是系統中用來查詢、分析的浮動車實時數據以及統計所需要的歷史數據,這些數據可以分為空間數據和屬性數據.因此,本系統分別采用空間數據庫和屬性數據庫來保存相應數據.
目前的地理信息系統[7]都是以圖層的方法來規劃空間數據的.在GIS中,把特征相同或相近的地理實體歸類為一個圖層.例如在一個城市的交通電子地圖中,所有的建筑物可以構成一個點圖層;所有的道路可以構成一個線圖層;所有的小區可以構成一個面圖層,通過圖層的疊加,形成一個電子地圖.根據淄博市張店區主要道路網絡矢量化形式,可以分為3種類型:點狀、線狀和面狀、而且每一種數據都有自己的元數據,即屬性數據,如圖4所示.
除了建立空間數據庫之外,還需要另外設計屬性數據庫,用于存儲道路屬性以及實時的路況信息.屬性數據庫主要采用關系型數據庫,每一個數據表存儲一類實體對象的關鍵字段ID和非地理屬性字段.根據用戶需求,將選擇Oracle 11g數據庫來設計屬性數據庫中屬性數據表,部分屬性數據表見表1和表2.
系統的主要功能包括四部分:GPS信息采集模塊、數據庫管理模塊、交通信息處理模塊和交通狀態判別模塊.系統的功能結構如圖5所示.
GPS信息采集 包括浮動車數據的采集、數據清洗和數據轉換.利用車載GPS接收機將定位所需的經、緯度、速度、時間等定位導航信息采集到計算機中,在數據清洗和數據轉換方面,通過自定義各種類型的檢查規則[4],實現對錯誤數據的甄別、無效數據的剔除,以實現數據的標準化和規范化.
數據庫管理 包括空間數據庫管理和屬性數據庫管理兩個部分.空間數據庫管理可以實現對當前路網圖形元素(點、線、面)的管理;而屬性數據庫管理主要實現對屬性數據的添加、查詢、統計以及分析等操作,以保證數據可以動態使用以及對歷史數據長期安全、有效有序的存儲與管理.
交通信息處理 包括道路路段劃分、坐標轉換、地圖匹配、車輛行駛方向判斷等.通過該功能模塊,系統對采集到的原始浮動車數據進行處理,根據處理后的浮動車信息,結合歷史數據,建立相關算法和模型,分析道路交通的實時狀態.
交通狀態判別 包括路段平均行程速度估計和交通狀態判別.選取路段平均行程速度作為路況判別的交通流參數,根據公安部制定的相關標準,結合道路等級信息,實時的判別道路交通狀態,并在GIS電子地圖上用不同顏色顯示[8].
依據以上系統開發方法和系統設計需求分析,以及系統功能模塊設計,調用每條道路實時的浮動車數據,結合道路等級得到該道路的交通狀態信息.將道路交通狀態劃分為三個等級,分別用三種不同的顏色在GIS電子地圖上顯示,如圖6所示.其中,綠色表示道路暢通,黃色表示緩慢,紅色表示擁堵.
本系統基于ArcGIS Engine組件,以Visual basic.NET語言為開發工具,采用集成開發方式進行系統開發.本文的GIS系統以淄博市張店區地圖為基礎數據庫,空間數據為SHP文件自帶的數據格式,并利用ESRI公司的ArcSDE空間數據庫引擎進行空間數據的高效管理.系統根據實際應用需求,在后端選用了關系數據庫Oracle 11g作為數據庫開發工具,并以對象關聯的方式與ArcGIS Engine功能組件相關聯,實現系統基本功能.當然,整體系統的建成還需進一步完善,還要通過在實踐中檢驗其中的交通流模型與相關算法等內容.如何充分利用歷史數據和當前實時數據,進行數據挖掘和知識發現的研究以及建立更完善、更專業的交通數學模型將是下一步工作的核心[5].
[1]姜桂艷.道路交通狀態判別技術與應用[M].北京:人民交通出版社,2004:69-70.
[2]隆志堅.基于GoogleMap的導航與交通信息采集系統的設計與實現[D].長沙:國防科技大學,2011.
[3]謝小惠,向南平.基于ArcGIS Engine的開發原理和方法的探討[J].城市勘測,2006,14(2):72-75.
[4]李曉斌.交通出行信息平臺及其關鍵技術應用研究[D].廣州:華南理工大學,2010.
[5]李標,武連港.基于ArcGIS Engine的城市干道網絡通行能力仿真系統設計與實現[J].重慶交通大學學報,2012,6(13):82-85.
[6]吳建華.基于ArcGIS Engine的車輛監控GIS系統開發[J].地理信息系統學報,2011,13(1):88-93.
[7]趙連柱.北京市交通專題數據庫管理系統設計與實現[J].北京測繪,2009,13(1):75-78.
[8]袁浩.基于GPS/GIS的交通狀態自動判別系統研究[J].計算機工程與設計,2009,30(9):2 293-2 296.