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