專利名稱:矢量地圖數據的多級切片處理方法
技術領域:
本發(fā)明主要涉及到地理信息系統(tǒng)領域,特指一種矢量地圖數據的多級切片處理方法,其 主要適用于矢量地圖數據的傳輸等領域。
背景技術:
隨著無線通信技術的快速發(fā)展,位置服務(Location-based Service, LBS)有望成為殺手 級應用。LBS應用系統(tǒng)由服務器、移動終端和連接兩者的無線通信網絡組成。移動終端存在 屏幕小、電源持續(xù)供電時間短、存儲資源偏少、CPU計算能力低等特性。無線通信網絡存在 信道不穩(wěn)定,帶寬偏低等問題。
LBS應用系統(tǒng)中在線傳輸地圖數據能夠向用戶提供實時的、滿足個性需求的信息,而且 移動終端本地沒有預存的地圖集,不需要用戶更新維護。然而,在線傳輸地圖數據面臨以下 問題。第一,無線通信比較耗電,而移動終端的電源持續(xù)供電時間短。第二,地圖數據量大, 而無線網絡有時信道不穩(wěn)定、帶寬偏低。
相比于柵格地圖,矢量地圖的數據量更少。矢量地圖是地圖要素組成的集合。在線傳輸 以地圖要素作為基本單元,存在以下問題。第一,每次移動終端一側進入新的目標區(qū)域,必 須向服務器發(fā)送數據請求。即使本地緩存?zhèn)溆行履繕藚^(qū)域的全部數據,由于無法判斷這一點, 所以需要重新獲取數據。這增加了不必要的連接次數和通信量。第二,送到移動終端的要素 包含了全部的細節(jié),而在小比例尺地圖上部分細節(jié)不被使用。這增加了數據通信量。第三, 把不需要的細節(jié)從要素的數據體內剝離出來,需要執(zhí)行大計算量的地圖自動綜合操作。
發(fā)明內容
本發(fā)明要解決的技術問題就在于針對現有技術存在的技術問題,本發(fā)明提供一種能夠 大幅提高在線傳輸矢量地圖數據的效率,既能減少在線傳輸地圖數據的連接次數和通信量, 又能減少移動終端一側的地圖處理計算規(guī)模,從而既能減少電力消耗又能降低帶寬要求的矢 量地圖數據的多級切片處理方法。
為解決上述技術問題,本發(fā)明提出的解決方案為 一種矢量地圖數據的多級切片處理方 法,其特征在于步驟為
A.多級切片的生成
(1)切片將全幅地圖縱橫切割等分成4塊,得到第1級切片;接著把每一個1級多級
切片又等分成4塊,得到第2級切片,即共42=16塊......,依次類推,直至生成第m級切片,
對于每一次切分,被切者稱為父切片,所得到的4塊切片稱為子切片;
3(2) 分級將地圖比例尺按照大小依次劃分成n個級別,其中1級至n級比例尺依次變 小,將地圖要素按權重大小依次分成n個級別,其中n級要素是出現在n級比例尺地圖中卻 沒有出現在n-l級比例尺地圖中的要素,為比例尺級別和多級切片級別之間建立對應關系, 把與某級切片相交的某級要素歸為一組,稱這一分組為L級切片,并稱這組要素屬于該切片; 同時,定義某級切片的兄長切片,S級兄長切片指的是與L級切片對應區(qū)域相交的S級要素 組成的集合,其中S^,2,…,L-1; S級父切片指的是L級切片的級別等于S的祖先切片或父 切片,S級兄長切片是S級父切片的一部分;
(3) 增量要素的增量是在兩個比例尺級別之間,同一要素的細節(jié)數據的差值,當增量 相比于要素的數據總量超過設定的比例下限時,設置增量;
B.由多級切片合成完整地圖的步驟
(1) 多級切片檢索合成L級比例尺下區(qū)域A的地圖所要用到的是與區(qū)域A相交的L級 切片組成的集合,記為QSet;
(2) 數據集成對于QSet內的每一個L級切片,數據集成是沿著切片的兄長關系向上追 溯,除了各級切片所屬的要素的匯總,這一過程還包括同一要素的增量的合并;
(3) 切片拼接上一步得到了每一個與目標區(qū)域A相交的L級切片的數據匯總,接下來 就是把這些L級切片的數據匯總依據空間鄰近關系拼接,最終得到完整的地圖。
與現有技術相比,本發(fā)明的優(yōu)點就在于
1、 把多級切片用作緩存單元有利于減少移動終端和服務器之間的通信連接次數與數據通
信量。理由有二。第一,每當進入新的區(qū)域(假定為L級比例尺下區(qū)域A)時,通過判別本 地緩存中的L級切片拼接在一起是否能夠覆蓋區(qū)域A,它能夠得出需要的全部數據是否已在 本地緩存中這一結論。如果恰好被覆蓋,則不需要連接服務器更新數據。第二,可以只把要 素的部分細節(jié)而不是全部細節(jié)傳輸到移動終端一側;
2、 多級切片提高了移動終端一側重用地圖數據的機會,有利于減少數據通信量?;?多級切片對地圖要素進行分組,不僅維持了空間上的鄰近關系,而且兼顧了權重。在地圖顯 示中,同樣權重的要素要么一起出現,要么都不出現。這樣,多級切片一起使用的概率最高, 高于僅僅依據空間鄰近關系生成的分組;
3、 使用多級切片能減少移動終端一側的計算負荷。 一方面,多級切片把地圖要素或要素 增量按權重不同分開組織,這免除了大計算量的自動綜合操作。另一方面,移動終端上顯示 的地圖發(fā)生平移的時候,地圖應用可對顯示區(qū)域進行局部更新,即加入最新進入目標區(qū)域的 多級切片和去除剛移出目標區(qū)域的多級切片。這比全部更新整個顯示區(qū)域更快,計算量更少;
發(fā)明的方法能有效減少地圖數據傳輸規(guī)模和移動終端一側的地圖處理計算規(guī)模,這.種方法與傳統(tǒng)方法有著明顯不同,其每個切片包含的數據內容更加準確、豐富; 一方面數據 類型不同,本發(fā)明的多級切片是所針對的是矢量型地圖數據,另一方面,多級切片包含的是 同一權重的要素。
圖1是本發(fā)明對矢量地圖數據進行多級切分的示意圖2是本發(fā)明中生成多級切片過程的流程圖3-1是本發(fā)明中由多級切片合成完整地圖的流程示意圖3-2是本發(fā)明中具體實施例中針對一個多級切片Q的數據集成操作流程示意圖; 圖4是應用本發(fā)明方法的系統(tǒng)構成示意圖。
具體實施例方式
以下將結合附圖和具體實例對本發(fā)明做進一步詳細說明。
多級切片有兩方面含義, 一方面是地圖中的一塊正方形區(qū)域,另一方面是與該區(qū)域相交 的、權重相同的地圖要素/增量組成的集合。下面敘述多級切片的生成步驟和合成完整地圖的 步驟。
參見圖1和圖2所示,本發(fā)明中多級切片的生成步驟為
(1) 切片。首先把全幅地圖縱橫切割等分成4塊,得到第1級多級切片(如圖1);接著 把每一個1級多級切片又等分成4塊,得到第2級多級切片(一共42=16塊);......,依次類
推,直至生成第m級切片。對于每一次切分,被切者稱為父切片,所得到的4塊切片稱為子 切片。
多級切片采用以下方法進行編號,如圖1所示。首先,4塊1級切片沿著左上、右上、 右下、左下的順序依次編號為1, 2, 3, 4;接著,每一個1級切片等分而成的2級切片沿著同 樣的順序編號為1,2,3,4;,其父切片的編號后跟本級的編號即得2級多級切片的編號;......,
依次類推,可得出其余各級多級切片的編號。
(2) 分級。首先,把地圖比例尺劃分成n個級別(其中,1級比例尺最高,2級次之,......,
n級最低)。相應地,地圖要素按權重大小也分成n個級別。1級要素是出現于1級比例尺地 圖中的要素。2級要素是出現在2級比例尺地圖中卻沒有出現在1級比例尺地圖中的要 素,......,n級要素是出現在n級比例尺地圖中卻沒有出現在n-l級比例尺地圖中的要素。接
著,為比例尺級別和多級切片級別之間建立對應關系。實際應用中,必有n^n,也就是說1 級比例尺地圖上有4^nw個m-n+l級切片。(為敘述方便,文中假定n^n,也就是說1級比例 尺與1級切片對應。這一假定不影響方案的基本原理敘述。)最后,把與L級切片相交的L 級要素歸為一組,稱這一分組為L級切片,并稱這組要素屬于該切片。文中也把L級切片所屬要素的數據集合稱作L級切片。
另外,定義L級切片的兄長切片。S級(S=l,2,…,L-1)兄長切片指的是與L級切片對 應區(qū)域相交的S級要素組成的集合。S級父切片指的是L級切片的級別等于S的祖先切片或 父切片。S級兄長切片是S級父切片的一部分。
(3)增量。地圖顯示中,大型要素在高級別比例尺中顯示的細節(jié)少,在低級別比例尺中 顯示的細節(jié)多。要素的增量是在兩個比例尺級別L, K之間,同一要素的細節(jié)數據的差值。 要素的L級權重的增量(稱之為L級增量)是相對于在L-1級比例尺下顯示該要素所使用的 全部數據的增量。無論是否使用L級增量,在L-l級比例尺下該要素的顯示效果不產生可察 覺區(qū)別。
只有當增量相比于要素的數據總量超過設定的比例下限V時,才設置增量。也就是說, 如果增量的占比小于下限V,則這一增量將不在L級設置,而是和L-l級或者更高級的要素/ 增量合并。這是為了保證增量帶來的好處大于由此在計算上造成的損耗。
L級切片的增量由與該切片相交的、權重級別更高的要素的L級增量組成。要素增量既
包括所增加的細節(jié)數據(一些坐標點),也包括坐標點插入的位置。增量的數據結構定義如下 struct IncrementPart { long FID; short pointCount; struct IncrementPoint points [];
其中,FID用來存放要素ID。 pointCount用來存放增量的坐標點總數。points數組用來存 放各坐標點及其插入位置,它的數據結構定義如下 struct IncrementPoint {
struct Coordinate px, pyj
short insertPosition;
其中,px,py是坐標點的縱橫坐標。insertPosition是插入點位置,是說坐標點將插入相對 于上一級比例尺下顯示該要素所使用的全部數據中的第insertPosition個點之后。 參見圖3-l和圖3-2所示,由多級切片合成完整地圖的步驟為
(1) 多級切片檢索。合成L級比例尺下區(qū)域A的地圖所要用到的是與區(qū)域A相交的L級 切片組成的集合,記為QSet。
(2) 數據集成。對于QSet內的每一個L級切片Q,數據集成是既有要素的匯總又有增量 的合并。具體步驟如下1) 把切片Q加入到鏈表TList中。令0 =切片Q。
2) 如果切片G不是1級,則把G的兄長切片加入到切片鏈表TList的頭部。
3) 令G-G的上級切片,轉步驟2,直至G的級別到達1級。
4) 從頭到尾遍歷切片鏈表TList,對于每一個切片,把其所屬的要素匯總到集成結果中, 把所屬的增量合并到相應的要素中。
(3)切片拼接。上一步得到了每一個與目標區(qū)域A相交的L級切片的數據匯總,接下來 就是把這些L級切片的數據匯總依據空間鄰近關系拼接,最終得到完整的地圖。
應用本發(fā)明的系統(tǒng)由服務器和移動終端組成,兩者之間通過通信網絡連接在一起,如圖 4所示。服務器的構成成分有地圖數據服務部件和矢量地圖數據庫。它的主要功能之一是向 移動終端發(fā)送多級切片(含兄長切片)。多級切片可以預先存儲在數據庫內也可以動態(tài)生成。 移動終端一側包含地圖應用、緩存管理器和多級切片緩存集。緩存管理器管理和維護多級切 片緩存集,供地圖應用檢索和讀取多級切片。所有接收自服務器的多級切片都將存入多級切 片緩存集。移動終端每次發(fā)起針對多級切片的地圖數據請求,將附帶終端已有要素記錄表。
服務器收到請求后,地圖數據服務部件檢索地圖數據庫,得到所要求的切片及其兄長切片, 而后根據終端已有要素記錄表去除已在終端的要素,最后把這些切片發(fā)送給移動終端。
權利要求
1、一種矢量地圖數據的多級切片處理方法,其特征在于步驟為A. 多級切片的生成(1)切片將全幅地圖縱橫切割等分成4塊,得到第1級切片;接著把每一個1級多級切片又等分成4塊,得到第2級切片,即共42=16塊......,依次類推,直至生成第m級切片,對于每一次切分,被切者稱為父切片,所得到的4塊切片稱為子切片;(2)分級將地圖比例尺按照大小依次劃分成n個級別,其中1級至n級比例尺依次變小,將地圖要素按權重大小依次分成n個級別,其中n級要素是出現在n級比例尺地圖中卻沒有出現在n-1級比例尺地圖中的要素,為比例尺級別和多級切片級別之間建立對應關系,把與某級切片相交的某級要素歸為一組,稱這一分組為L級切片,并稱這組要素屬于該切片;同時,定義某級切片的兄長切片,S級兄長切片指的是與L級切片對應區(qū)域相交的S級要素組成的集合,其中S=1,2,...,L-1;S級父切片指的是L級切片的級別等于S的祖先切片或父切片,S級兄長切片是S級父切片的一部分;(3)增量要素的增量是在兩個比例尺級別之間,同一要素的細節(jié)數據的差值,當增量相比于要素的數據總量超過設定的比例下限時,設置增量;B. 由多級切片合成完整地圖的步驟(1)多級切片檢索合成L級比例尺下區(qū)域A的地圖所要用到的是與區(qū)域A相交的L級切片組成的集合,記為QSet;(2)數據集成對于QSet內的每一個L級切片,數據集成是沿著切片的兄長關系向上追溯,除了各級切片所屬的要素的匯總,這一過程還包括同一要素的增量的合并;(3)切片拼接上一步得到了每一個與目標區(qū)域A相交的L級切片的數據匯總,接下來就是把這些L級切片的數據匯總依據空間鄰近關系拼接,最終得到完整的地圖。
全文摘要
本發(fā)明公開了一種矢量地圖數據的多級切片處理方法,其包括多級切片生成步驟和地圖合成步驟(1)多級切片生成步驟是首先對地圖進行L(L=1,2,…,m)級4等分,得到L級正方形區(qū)域,接著把與其相交的、權重級別為L或配對級別的要素歸入稱之為“多級切片”的數據集。要素的細節(jié)數據過多時,以增量方式歸入一組多級切片。(2)合成L級比例尺下區(qū)域A的地圖的步驟是首先檢索與區(qū)域A相交的L級切片組成的集合;接著集成切片及其祖先切片的要素或增量;最后把它們依據空間鄰近關系拼接,得到完整地圖。位置服務中,以多級切片作為地圖數據傳輸單元,有利于移動終端一側緩存地圖數據,減少數據通信量;細節(jié)數據的增量處理減少移動終端的計算負荷。
文檔編號H04W4/18GK101466082SQ20081023749
公開日2009年6月24日 申請日期2008年12月30日 優(yōu)先權日2008年12月30日
發(fā)明者葉常春, 周興銘, 明 徐, 王曉東, 羅金平 申請人:中國人民解放軍國防科學技術大學