專利名稱:基于圖層疊加的動態(tài)交通信息服務提供方法
技術領域:
本發(fā)明涉及交通信息服務技術領域,特別是一種基于圖層疊加的動態(tài)交通信息服務提供方法。
背景技術:
工業(yè)化國家在市場經(jīng)濟的指導下,大都經(jīng)歷了經(jīng)濟的發(fā)展促進汽車的發(fā)展,而汽車產業(yè)的發(fā)展又刺激經(jīng)濟發(fā)展的過程,從而這些國家盡早實現(xiàn)了汽車化的時代。汽車化社會帶來的諸如交通阻塞、交通事故、能源消費和環(huán)境污染等社會問題日趨惡化,交通阻塞造成的經(jīng)濟損失巨大,使道路設施十分發(fā)達的美國、日本等也不得不從以往只靠供給來滿足需求的思維模式轉向采取供、需兩方面共同管理的技術和方法來改善日益尖銳的交通問題,這些建立在汽車輪子上的工業(yè)國家在探索既要維護汽車化社會,又要緩解交通擁擠問題的辦法中,旨在借助現(xiàn)代化科技手段來改善交通狀況達到"保障安全,提高效率、改善環(huán)境、節(jié)約能源"的目的,這樣ITS的概念便逐步形成。在智能交通領域,實時動態(tài)交通信息服務能夠為公眾出行、交通運輸?shù)忍峁└咝Э尚械慕煌ㄕT導和出行規(guī)劃信息,從而達到節(jié)省時間、降低成本和低碳環(huán)保等目的。目前浮動車(Floating Car Data,簡稱F⑶)技術是智能交通系統(tǒng)中獲取動態(tài)交通信息的最重要的技術手段之一。其基本原理是:根據(jù)裝備車載全球定位系統(tǒng)(GPS)的車輛,在車輛行駛過程中定期記錄的位置信息,應用包括地圖匹配、行車路線推測和道路交通擁堵信息計算等相關的計算模型和算法進行處理,從而使浮動車數(shù)據(jù)和城市道路在時間和空間上關聯(lián)起來,最終得到浮動車所經(jīng)過道路的車輛行駛速度以及道路的行車時間等交通擁堵信息。目前給互聯(lián)網(wǎng)用戶提供交通信息服務的方式大部分是:首先通過人工方式把交通信息服務提供商的發(fā)布路網(wǎng)與互聯(lián)網(wǎng)服務提供商的顯示路網(wǎng)進行匹配編碼,并制作成匹配關系表,然后互聯(lián)網(wǎng)提供商將獲取到的路況信息基于匹配表渲染到已有的地圖路網(wǎng)上去,再展現(xiàn)給公眾。當前我國經(jīng)濟的快速發(fā)展,道路交通行業(yè)也以爆發(fā)式地速度增長,城市城際道路數(shù)量巨大,原來的人工匹配方式需要大量的人工操作,費時費力,效率低下,且在匹配的過程中存在一定的精度損失。
發(fā)明內容
本發(fā)明的目的在于提供一種基于圖層疊加的動態(tài)交通信息服務提供方法,該方法提高了交通信息疊加到普通地圖的效率和準確性。為實現(xiàn)上述目的,本發(fā)明的技術方案是:一種基于圖層疊加的動態(tài)交通信息服務提供方法,該方法通過提供基礎GIS服務的基礎GIS服務器和提供路況信息瓦片圖的路況信息服務器的配合工作,為用戶提供基于圖層疊加的動態(tài)交通信息服務;所述基礎GIS服務器的工作流程包括以下步驟:步驟1.1:啟動服務,等待用戶的交通信息服務請求;步驟1.2:接收到交通信息服務請求后,向路況信息服務器發(fā)送路況圖片請求,申請一定比例尺下、一定經(jīng)緯度范圍內的路況信息瓦片圖,然后等待路況信息服務器的反饋;步驟1.3:接收到路況信息服務器返回的路況信息瓦片圖后,將所述路況信息瓦片圖與相同比例尺和經(jīng)緯度范圍的本地基本GIS地圖疊加,得到交通信息地圖并反饋給用戶顯示;所述路況信息服務器上創(chuàng)建有瓦片地圖金字塔模型,并對各瓦片地圖按比例尺、經(jīng)緯度范圍建立路網(wǎng)索引文件,所述路況信息服務器的工作流程包括以下步驟:步驟2.1:加載路網(wǎng)索引及相關配置文件,啟動服務;步驟2.2:創(chuàng)建一定時線程,定時檢索(本地檢索或遠程調用)并獲取最新實時路況數(shù)據(jù),根據(jù)不同比例尺和經(jīng)緯度范圍,通過路網(wǎng)索引文件讀取對應的路網(wǎng)信息,進行路況渲染,生成相應的路況信息瓦片圖,建立編號并存儲在指定目錄下;同時,監(jiān)聽多路的基礎GIS服務器的路況圖片請求;步驟2.3:接收到路況圖片請求后,解析出該路況圖片請求涉及的比例尺、經(jīng)緯度范圍;步驟2.4:根據(jù)解析出的比例尺、經(jīng)緯度范圍,計算出需調取的路況信息瓦片圖的數(shù)量和編號,從所述指定目錄中提取出對應的路況信息瓦片圖;步驟2.5:將提取出的路況信息瓦片圖通過信息流的方式返回給基礎GIS服務器。本發(fā)明的有益效果是可大大提高交通信息服務商的服務水平,為應用端節(jié)省繁瑣的路網(wǎng)匹配處理工作,簡化業(yè)務服務的調用復雜度,可基于B/S的ajax技術直接獲取路況圖片與當前已成熟的GIS瓦片API組合,達到路況信息圖與基本地圖的疊加效果,業(yè)務服務端無需關注路況圖片的渲染,專注于業(yè)務功能,大大減輕業(yè)務服務器的負載和開發(fā)人員的技術能力要求,從而為企業(yè)節(jié)省很大的人力物力成本。
圖1是本發(fā)明實施例中路況信息服務器的工作流程示意圖。圖2是本發(fā)明實施例中路況信息服務器的系統(tǒng)結構示意圖。
具體實施例方式本發(fā)明基于圖層疊加的動態(tài)交通信息服務提供方法,該方法通過提供基礎GIS服務的基礎GIS服務器和提供路況信息瓦片圖的路況信息服務器的配合工作,為用戶提供基于圖層疊加的動態(tài)交通信息服務;所述基礎GIS服務器的工作流程包括以下步驟:步驟1.1:啟動服務,等待用戶的交通信息服務請求;步驟1.2:接收到交通信息服務請求后,向路況信息服務器發(fā)送路況圖片請求,申請一定比例尺下、一定經(jīng)緯度范圍內的路況信息瓦片圖,然后等待路況信息服務器的反饋;步驟1.3:接收到路況信息服務器返回的路況信息瓦片圖后,將所述路況信息瓦片圖與相同比例尺和經(jīng)緯度范圍的本地基本GIS地圖疊加,得到交通信息地圖并反饋給用戶顯示;
所述路況信息服務器上創(chuàng)建有瓦片地圖金字塔模型,并對各瓦片地圖按比例尺、經(jīng)緯度范圍建立路網(wǎng)索引文件;如圖1所示,所述路況信息服務器的工作流程包括以下步驟:步驟2.1:加載路網(wǎng)索引及相關配置文件,啟動服務;步驟2.2:創(chuàng)建一定時線程,每隔幾分鐘檢索(本地檢索或遠程調用)并獲取最新實時路況數(shù)據(jù),根據(jù)不同比例尺和經(jīng)緯度范圍,通過路網(wǎng)索引文件讀取對應的路網(wǎng)信息,進行路況渲染(只渲染能清楚顯示路網(wǎng)的比例尺),生成相應的路況信息瓦片圖,建立編號并存儲在指定目錄下;同時,監(jiān)聽多路的基礎GIS服務器的路況圖片請求;步驟2.3:接收到路況圖片請求后,解析出該路況圖片請求涉及的比例尺、經(jīng)緯度范圍;步驟2.4:根據(jù)解析出的比例尺、經(jīng)緯度范圍,計算出需調取的路況信息瓦片圖的數(shù)量和編號,從所述指定目錄中提取出對應的路況信息瓦片圖;步驟2.5:將提取出的路況信息瓦片圖通過信息流的方式返回給基礎GIS服務器。在本發(fā)明的較佳實施例中,路況信息服務器的系統(tǒng)結構如圖2所示。上述路況信息服務器是以Apache搭建的Web服務器。路況信息服務器提供的路況信息服務被編譯為DSO動態(tài)庫模塊。系統(tǒng)開始運行后,啟動一 Apache進程,通過配置加載所述DSO動態(tài)庫模塊來啟動路況信息服務,以進行路況數(shù)據(jù)的定時更新和用戶端請求的監(jiān)聽。具體實施方法為:創(chuàng)建一定時線程,通過路況檢索模塊定時進行最新實時路況數(shù)據(jù)的檢索和獲取,然后將獲取的最新實時路況數(shù)據(jù)傳輸給路況渲染、圖片生成模塊進行路況渲染并生成相應的路況信息瓦片圖,最后通過路況瓦片保存模塊進行保存。當Apache服務器監(jiān)聽到有用戶端請求時,交由URL、處理、返回模塊進行比例尺、經(jīng)緯度范圍等的解析,然后調用瓦片范圍處理模塊計算出需調取的路況信息瓦片圖的數(shù)量和編號,以從指定目錄中提取出對應的路況信息瓦片圖,最后,URL、處理、返回模塊將提取出的路況信息瓦片圖通過信息流的方式返回給用戶端。下面對本發(fā)明涉及的相關技術作進一步的說明。1、普通路網(wǎng)渲染目前大部分道路信息的視覺化展現(xiàn)是通過互聯(lián)網(wǎng),以電子地圖的方式提供,電子地圖的展現(xiàn)過程主要有兩種方式,一種是矢量地圖方式,一種是靜態(tài)地圖方式。矢量地圖在現(xiàn)在互聯(lián)網(wǎng)領域已很少使用。靜態(tài)地圖方式也稱為瓦片地圖,一般是金字塔模型,瓦片地圖金字塔模型是一種多分辨率層次模型,從瓦片金字塔的底層到頂層,分辨率越來越低,但表示的地理范圍不變。首先確定地圖服務平臺所要提供的縮放級別的數(shù)量N,把縮放級別最低、地圖比例尺最大的地片作為金字塔的底層,即第O層,并對其進行分塊,從地片的左上角開始,從左至右、從上到下進行切割,分割成相同大小(比如256X256像素)的正方形地圖瓦片,形成第O層瓦片矩陣;在第O層地片的基礎上,按每2 X 2像素合成為一個像素的方法生成第I層地片,并對其進行分塊,分割成與下一層相同大小的正方形地圖瓦片,形成第I層瓦片矩陣;采用同樣的方法生成第2層瓦片矩陣;...;如此下去,直到第N-1層,構成整個瓦片金字塔。目前各大互聯(lián)網(wǎng)地圖服務商均采用此種方式。2、交通信息獲取這里的交通信息即為路況信息,一般是由專門的交通信息服務提供商發(fā)布,常見的是webservice形式,格式在中國范圍內一般是標準的DTI格式。如何通過url獲取交通信息不在本專利的討論范圍內,本專利的前提是有交通信息的情況下如何直接提供路況圖與基礎圖的疊加圖。3、路況圖渲染基于某種編程語言建立路況內存圖對象,一般大小為256*256像素,將路網(wǎng)點,道路平均運行速度,采用合適的顏色值,渲染到圖片對象中,并返回和保存渲染結果。渲染圖片是一種比較常見的技術,以java為例:
BufferedImage bi=newBufferedImage (width,height, Bufferedlmage.TYPE—INT—BGR);
Graphics2D g=b1.createGraphics (); //得到畫布 g.setFont (new Font (Font.SANS-SERIF, Font.BOLD, 20));
//設置字體
g.setColor (back);
g.f i I IRect (0, 0, width, height); //畫背景 g.setColor (f ront);
g.drawString (code, 18, 20);//畫字符
for (int i = 0, n=random.nextInt (20); i<n; i++) {
g.f iIIRect (random, nextInt (width), random, nextInt (heigh
t) ,1,1);
}
4、交通信息地圖疊加路況信息瓦片圖與基本GIS地圖疊加后能更好的展示道路狀況以及道路周邊的地物信息,這里以google的基本地圖為例描述交通信息地圖的疊加方法。Google地圖API提供了定義自己的自定義地圖類型,并開發(fā)全新的顯示樣式。要實現(xiàn)此效果,先構造一個GMapType對象,并使用GMap2.addMapType O方法將其添加到地圖上。地圖疊加需要解決的最基本問題是坐標系的建立和對應,相同地理位置的地圖必須疊加在一起才是正確的,下面簡單說明地圖服務所需要的坐標系?!愕貓D服務使用以下三種坐標系:(I)像素坐標,引用圖塊上的一個點;(2)圖塊坐標,引用圖塊層中的一個圖塊;(3)縮放層,定義總的圖塊數(shù)。每個坐標系說明如下:(I)像素坐標
Google地圖中的每個圖塊都包含256X256個像素。可以使用GPoint (x,y)對來引用特定圖塊上的某個點。每個圖塊的原點(0,0)表示為圖塊的西北角。因此,對于表示整個地球的單個圖塊,原點設置為在北極,經(jīng)度-180度。x(經(jīng)度)值越往東越大,而y(緯度)值越往南越大,一直到東南角(255,255)。在高一級的縮放級別,像素空間在X和y方向都擴大一倍。例如,在縮放級別1,地圖包括4個256 X 256像素的圖塊,產生512 X 512的像素空間。在縮放級別N,地圖上的每個X和y像素均可以使用O和.256*2N之間的值來引用。(2)圖塊坐標引用整個地圖上一個唯一的點通常是不實際的。在較高的縮放級別,Google地圖API不能使用一個圖像文件顯示整個地球。因此確定正在使用哪個圖塊,然后相對于該圖塊的原點計算像素坐標非常有用。任何自定義地圖都需要進行相同的圖塊值計算。Google地圖中的圖塊從與像素相同的原點開始計算,以便使原點圖塊始終處于地圖的西北角。圖塊使用從該原點算起的(x,y)坐標進行索引。例如,在縮放級別2,當?shù)厍蚍譃?6個圖塊時,每個圖塊可以通過一個唯一的(X,y)對來引用??梢杂?Google 地圖 API 構建一個 GTileLayer,將 GTileLayerOptions 參數(shù)作為對象常量傳遞。GTileLayerOptions參數(shù)包含tileUrlTemplate屬性,可根據(jù)圖塊坐標將圖塊
請求映射到網(wǎng)址。疊加層的構造函數(shù)可能如下所示:
var t iIeLayerOver lay = new GTiIeLayerOver lay (new GTi IeLayer (nul I, null, null, {ti IeUrITemplate:
'http: //domain, com/myimage— {Z} _ {X} _ {Y}.png', isPng: true, opacity: 1.0
})
);
map.addOver lay (t lo);利用此方法可輕松將路況信息瓦片圖與google地圖疊加,提供帶路況信息的GIS服務。(3)轉換投影坐標地球是一個球形,而地圖是平面的二維對象。Google地圖API中的地圖是這個球形在平面上的“投影”。最常見的是墨卡托投影。用最簡單的方式來看,投影可以定義為GLatLng值與地圖上的坐標之間的 一對一對應,GProjection接口提供了用于此用途的轉換實用工具。GProjection.fromLatLngToPixel O方法可將GLatLng值轉換為指定縮放級別的像素坐標。類似地,GProjection.fromPixelToLatLngO方法可將指定縮放級別的像素坐標轉換為GLatLng值。在不同的地圖類型位置點處理時這些方法非常有用,因為它們可讓您確定顯示哪些圖塊、怎樣顯示它們以及顯示它們時所使用的偏移值。最后所應說明的是,以上具體實施方式
僅用以說明本發(fā)明的技術方案而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的精神和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。
權利要求
1.一種基于圖層疊加的動態(tài)交通信息服務提供方法,其特征在于:該方法通過提供基礎Gis服務的基礎GIS服務器和提供路況信息瓦片圖的路況信息服務器的配合工作,為用戶提供基于圖層疊加的動態(tài)交通信息服務; 所述基礎GIS服務器的工作流程包括以下步驟: 步驟1.1:等待用戶的交通信息服務請求; 步驟1.2:接收到交通信息服務請求后,向路況信息服務器發(fā)送路況圖片請求,申請一定比例尺下、一定經(jīng)緯度范圍內的路況信息瓦片圖,然后等待路況信息服務器的反饋; 步驟1.3:接收到路況信息服務器返回的路況信息瓦片圖后,將所述路況信息瓦片圖與相同比例尺和經(jīng)緯度范圍的本地基本GIS地圖疊加,得到交通信息地圖并反饋給用戶顯示; 所述路況信息服務器上創(chuàng)建有瓦片地圖金字塔模型,所述路況信息服務器的工作流程包括以下步驟: 步驟2.1:啟動服務; 步驟2.2:定時獲取最新實時路況數(shù)據(jù),在對應的瓦片地圖上進行路況渲染,生成相應的路況信息瓦片圖并存儲;同時,監(jiān)聽多路的基礎GIS服務器的路況圖片請求; 步驟2.3:接收到路況圖片請求后,解析出該路況圖片請求涉及的比例尺、經(jīng)緯度范圍; 步驟2.4:根據(jù)解析出的比例尺、經(jīng)緯度范圍,提取出對應的路況信息瓦片圖; 步驟2.5:將提取出的路況信息瓦片圖通過信息流的方式返回給基礎GIS服務器。
2.根據(jù)權利要求1所述的基于圖層疊加的動態(tài)交通信息服務提供方法,其特征在于:所述路況信息服務器對瓦片地圖金字塔模型上的各瓦片地圖按比例尺、經(jīng)緯度范圍建立路網(wǎng)索引文件,在步驟2.2中,獲取最新實時路況數(shù)據(jù)后,根據(jù)不同比例尺和經(jīng)緯度范圍,通過所述路網(wǎng)索引文件讀取對應的路網(wǎng)信息,以進行路況渲染。
3.根據(jù)權利要求1所述的基于圖層疊加的動態(tài)交通信息服務提供方法,其特征在于:所述路況信息服務器對生成的路況信息瓦片圖建立編號并存儲在指定目錄下,在步驟2.4中,根據(jù)解析出的比例尺、經(jīng)緯度范圍,計算出需調取的路況信息瓦片圖的數(shù)量和編號,然后從所述指定目錄中提取出對應的路況信息瓦片圖。
4.根據(jù)權利要求1、2或3所述的基于圖層疊加的動態(tài)交通信息服務提供方法,其特征在于:所述路況信息服務器是以Apache搭建的Web服務器,所述路況信息服務器提供的上述路況信息服務被編譯為DSO動態(tài)庫模塊,通過配置加載所述DSO動態(tài)庫模塊來啟動路況信息服務。
全文摘要
本發(fā)明涉及交通信息服務技術領域,特別是一種基于圖層疊加的動態(tài)交通信息服務提供方法,該方法由提供基礎GIS服務的基礎GIS服務器和提供路況信息瓦片圖的路況信息服務器配合工作,基礎GIS服務器接收用戶請求,并向路況信息服務器申請一定比例尺、經(jīng)緯度范圍的路況信息瓦片圖,在得到反饋后,將路況信息瓦片圖與本地基本GIS地圖疊加,得到交通信息地圖并反饋給用戶顯示;路況信息服務器定時獲取最新實時路況數(shù)據(jù),進行路況渲染,生成路況信息瓦片圖并存儲,然后,接收路況圖片請求,從存儲目錄中提取出對應的路況信息瓦片圖返回給基礎GIS服務器。該方法提高了交通信息疊加到普通地圖的效率和準確性。
文檔編號G08G1/01GK103177577SQ201110441060
公開日2013年6月26日 申請日期2011年12月26日 優(yōu)先權日2011年12月26日
發(fā)明者周華彬, 于曉, 張高峰, 夏曙東 申請人:北京掌城科技有限公司