專利名稱:一種基于空間探索技術的地圖數(shù)據(jù)存儲方法
技術領域:
本發(fā)明涉及的是一種基于地理區(qū)域二級柵格化和空間信息索引的地圖數(shù)據(jù)存儲方法。
背景技術:
隨著地理信息系統(tǒng)的發(fā)展,地圖信息越來越復雜,因此提供一種不僅可以快速索引地圖數(shù)據(jù)的地圖數(shù)據(jù),并且占用最小物理存儲空間的數(shù)據(jù)文件具有重要意義。一個高質量的地圖數(shù)據(jù)應該包含盡可能多的地圖信息,并且占用盡可能少的物理存儲空間。由于地圖數(shù)據(jù)通常包含大量信息,需要建立一個方便快捷的索引體系,能夠在最短時間內索引到需要的地圖信息,避免對系統(tǒng)信息處理的實時性造成影響?,F(xiàn)代交通朝著智能化的方向發(fā)展,其中一個關鍵因素就是電子地圖的存儲結構和索引方式,其存儲結構和索引方式直接 關系到空間數(shù)據(jù)庫調用的效率和地圖信息的完整性。減小地圖數(shù)據(jù)存儲所占用的物理空間而又不損害地圖數(shù)據(jù)所包含的屬性信息,解決方法之一是降低地圖數(shù)據(jù)精度或裁減地圖數(shù)據(jù)信息,例如減少地圖數(shù)據(jù)中折線形狀節(jié)點個數(shù),不存儲較小道路屬性信息等,但這不符合現(xiàn)代智能交通系統(tǒng)對地圖精度的要求;解決方法之二就是對地圖數(shù)據(jù)進行處理并采用限制位數(shù)的二進制數(shù)據(jù)存儲方式?,F(xiàn)有的地圖數(shù)據(jù)存儲方式也有采用二進制存儲方式存儲地圖數(shù)據(jù),但地圖數(shù)據(jù)中的坐標信息為double型數(shù)據(jù),存儲中需要占用8個字節(jié)的空間?,F(xiàn)有的地圖數(shù)據(jù)存儲體系及索引結構有規(guī)則網格分割地圖、KD樹索引、BSP樹結構索引、八叉樹和R樹系列索引體系等,其中尤其以規(guī)則網格索引效率高,但現(xiàn)有的地圖數(shù)據(jù)存儲中,規(guī)則網格方式數(shù)據(jù)冗余量大,在不同網格內經常重復存儲著同一條道路。在現(xiàn)有地圖數(shù)據(jù)存儲中,最為流行的是kiwi格式和kiwi plus,但這兩種方式也都存在數(shù)據(jù)冗余量大,內部結構固定,缺少靈活性的缺陷。
發(fā)明內容
本發(fā)明的目的在于提出一種可以簡化數(shù)據(jù)存儲方式和索引結構,高效索引地圖數(shù)據(jù),節(jié)約物理存儲空間的地圖數(shù)據(jù)存儲方法。本發(fā)明的目的是這樣實現(xiàn)的該方法包括如下步驟(I)確定待存儲的地圖范圍、地圖層及屬性信息;(2)對地圖數(shù)據(jù)進行二次柵格化處理,并存儲分層柵格化的地圖數(shù)據(jù);(3)對地圖坐標數(shù)據(jù)進行倍數(shù)放大,采用32位整型數(shù)據(jù)以二進制方式存儲地圖數(shù)據(jù);(4)將地圖數(shù)據(jù)的文件頭、一級柵格化數(shù)據(jù)和二級柵格化的數(shù)據(jù)偏移量、地圖數(shù)據(jù)中各元素的ID號以及在數(shù)據(jù)文件中的偏移量保存在索引文件中;將地圖數(shù)據(jù)中各元素的坐標信息及其在屬性文件中的偏移量、道路的節(jié)點個數(shù)及道路寬度和顏色信息儲存在數(shù)據(jù)文件中;將道路名稱,道路ID號,道路初始節(jié)點ID,道路終止節(jié)點ID,道路入角度,道路出角度,道路長度信息儲存在屬性文件中。本發(fā)明的有益效果在于本發(fā)明提出一種采用整型數(shù)據(jù)存儲地圖坐標信息的方式,將原始坐標信息以統(tǒng)一的尺度進行放大,保證不損失地圖精度的前提下將double型數(shù)據(jù)轉換為32位整型數(shù)據(jù)進行存儲,即一個坐標數(shù)據(jù)只占用4個字節(jié)的物理空間,在存儲坐標數(shù)據(jù)部分比采用double型數(shù)據(jù)減少了 4個字節(jié)的存儲空間,大大降低了對物理空間的需求。本發(fā)明采用二級柵格化方式存儲地圖數(shù)據(jù),同時針對數(shù)據(jù)冗余采用通過ID索引方式實現(xiàn)空間信息索引,重復存儲的數(shù)據(jù)僅僅為道路的ID號而不重復存儲道路實際坐標信息,從而大大減弱了數(shù)據(jù)存儲的冗余度。
圖I是第一次柵格化后的地圖柵格示意圖;
圖2是兩次柵格化示意圖;圖3是索引文件數(shù)據(jù)存儲結構示意圖;圖4是道路軸向外包示意圖;圖5是數(shù)據(jù)文件存儲結構示意圖;圖6是屬性文件存儲結構示意圖;圖7是數(shù)據(jù)索引讀取示意圖。
具體實施例方式下面結合附圖對本發(fā)明進行進一步描述由于導航地圖數(shù)據(jù)中,人們最關心的地圖信息即是道路信息,而且,道路信息也是最具代表性的地圖數(shù)據(jù),為方便后續(xù)闡述,以道路信息地圖層為基礎闡述本專利所提出的地圖數(shù)據(jù)存儲方法。具體實現(xiàn)過程如下所述I.確定所要存儲的地圖范圍對地圖數(shù)據(jù)處理之前,設定要處理的地圖區(qū)域,可表示為MapMinEast, MapMinNorth, MapMaxEast, MapMaxNorth0各變量分別表示所選地圖區(qū)域東向最小坐標值,北向最小坐標值,東向最大坐標值,北向最大坐標值。2.確定所要存儲的地圖層及相關屬性信息不同地圖元素在電子地圖數(shù)據(jù)中表現(xiàn)形式不同。例如對一些商店,車站等地圖元素,其表現(xiàn)形式通常為一個坐標點;對道路,河流等地圖元素,其表現(xiàn)形式通常為折線。所以存儲地圖將以分層形式存儲,存儲前需確定所要存儲的圖層。此外,針對不同地層,其地圖元素屬性信息也不相同,同時,為滿足不同用戶需要,地圖屬性信息可根據(jù)需要設定。在此需要確定所要存儲的地圖屬性信息,如道路長度、寬度、顏色、方向等。3.給每條道路設定一個ID號,給每個道路節(jié)點設定一個ID號為區(qū)分不同道路,通過設定ID號的方式,使每條道路對應一個唯一的ID號碼。不同道路交叉點這里稱之為節(jié)點,一個節(jié)點連接兩條及兩條以上的道路。為區(qū)分不同節(jié)點,需要為每個節(jié)點指定一個ID號。對只連接兩條道路的節(jié)點,其節(jié)點號可與兩條道路中的一條ID號相同。
4.對選定區(qū)域第一次柵格化處理采用平均柵格化方式柵格化選定區(qū)域。設將選定區(qū)域東西方向平均柵格化為
EastGridNum個區(qū)域帶,南北方向平均柵格化為NorthGridNum個區(qū)域帶,那么,選定地圖區(qū)
域第一次柵格化后可分為EastGridNumXNorthGridNum個柵格。每個柵格東西方向和南北
方向距離可表示為
式中,EastLength和NorthLength分別表示每個柵格東西方向和南北方向的距離。通過第一次柵格化后的地圖如圖I所示。5.對選定區(qū)域第二次柵格化處理經過初次柵格化后的地圖區(qū)域通常由于其柵格內包含的數(shù)據(jù)量太大等因素還不能滿足一些導航設備的需求,因此有必要對地圖數(shù)據(jù)進行二次柵格化處理。同時,采用二級柵格化方式分割地圖區(qū)域,通過調節(jié)兩級柵格化中的柵格數(shù)目可以方便的適用于不同的導航終端設備及上位機對地圖的需求。根據(jù)第一次柵格化后,柵格內包含的數(shù)據(jù)量確定第二次柵格化的柵格數(shù)目。同樣采用平均柵格化方法,將步驟4處理后的每個柵格再次柵格化。兩次柵格化示意圖如圖2所示。6.存儲地圖索引文件索引文件存儲格式采用二進制存儲方式按照柵格化方式存儲,方便進行空間索弓I。在索引文件中,包含文件頭、一級柵格化數(shù)據(jù)和二級柵格化的數(shù)據(jù)偏移量以及地圖數(shù)據(jù)中各元素(如道路折線點信息、區(qū)域信息、點信息等)的ID號及在數(shù)據(jù)文件中的偏移量。在索引文件開始部分,存儲地圖數(shù)據(jù)信息、一級柵格化橫向和縱向數(shù)目以及每個柵格橫向距離和縱向距離。其中,地圖數(shù)據(jù)信息主要說明地圖版本,地圖屬性文件包含的內容以及其他相關說明。第二部分存儲一級柵格化區(qū)域的偏移量,通過該偏移量可以快速找到第一個柵格圖的索引地址,該偏移地址仍然在索引文件內偏移。第三部分存儲二級柵格化偏移地址、柵格化數(shù)目、地圖元素ID及地圖元素在數(shù)據(jù)文件中的偏移量,為了消除同一條道路在不同柵格圖內都有包含而出現(xiàn)數(shù)據(jù)冗余的現(xiàn)象,索引文件中每個柵格圖內只包含道路的ID號而不包含道路實際坐標信息。索引文件數(shù)據(jù)結構圖如圖3所示。7.存儲地圖數(shù)據(jù)文件數(shù)據(jù)文件采用二進制數(shù)據(jù)存儲,數(shù)據(jù)文件中存儲了各地圖元素的坐標信息及其在屬性文件中的偏移量,存儲坐標信息的同時,存儲了道路的節(jié)點個數(shù)及道路寬度和顏色信息。地圖元素的坐標信息采用調整后的數(shù)據(jù)存儲,將原始坐標按照指定倍數(shù)放大,將其變換為整型數(shù)據(jù),該整型數(shù)據(jù)能夠用32位二進制數(shù)據(jù)表示。通過對實際地圖數(shù)據(jù)的考察,采用該方式存儲地圖數(shù)據(jù)足以保證導航地圖精度需求。此外,數(shù)據(jù)文件中也存儲了道路的外包信息,采用軸向外包法存儲道路的外包信息。道路外包示意圖如圖4所示。數(shù)據(jù)文件結構如如圖5所示。8.存儲地圖屬性文件地圖屬性文件是對地圖元素的補充,對導航電子地圖來說,主要包含道路名稱,道路ID號,道路初始節(jié)點ID,道路終止節(jié)點ID,道路入角度,道路出角度,道路長度等信息,為提高地圖數(shù)據(jù)的適用性,本發(fā)明提出的存儲方式并不對屬性文件進行限制,可根據(jù)需要設定不同屬性信息。屬性信息均已二進制存儲。其中,屬性文件中的道路名稱等數(shù)據(jù)根據(jù)不同地區(qū)文字的編碼格式存儲。例如中國道路采用中文名稱,其存儲格式采用GB2312編碼格式存儲。屬性文件存儲結構示意圖如圖6所示。為方便地圖使用者進行地圖索引,屬性文件中也同時存儲了相應地圖元素在數(shù)據(jù)文件中的偏移地址。 以上所述,僅為本發(fā)明存儲結構和方法,不以存儲內容限定本發(fā)明實施的范圍,依本發(fā)明的技術方案及說明書內容所做的等效變化與修飾,皆應屬于本發(fā)明涵蓋的范圍。
權利要求
1.一種基于空間探索技術的地圖數(shù)據(jù)存儲方法,其特征在于,包括如下步驟 (1)確定待存儲的地圖范圍、地圖層及屬性信息; (2)對地圖數(shù)據(jù)進行二次柵格化處理,并存儲分層柵格化的地圖數(shù)據(jù); (3)對地圖坐標數(shù)據(jù)進行倍數(shù)放大,采用32位整型數(shù)據(jù)以二進制方式存儲地圖數(shù)據(jù); (4)將地圖數(shù)據(jù)的文件頭、一級柵格化數(shù)據(jù)和二級柵格化的數(shù)據(jù)偏移量、地圖數(shù)據(jù)中各元素的ID號以及在數(shù)據(jù)文件中的偏移量保存在索引文件中;將地圖數(shù)據(jù)中各元素的坐標信息及其在屬性文件中的偏移量、道路的節(jié)點個數(shù)及道路寬度和顏色信息儲存在數(shù)據(jù)文件中;將道路名稱,道路ID號,道路初始節(jié)點ID,道路終止節(jié)點ID,道路入角度,道路出角度,道路長度信息儲存在屬性文件中。
全文摘要
本發(fā)明涉及的是一種基于地理區(qū)域二級柵格化和空間信息索引的地圖數(shù)據(jù)存儲方法。該方法包括(1)確定待存儲的地圖范圍、地圖層及屬性信息;(2)對地圖數(shù)據(jù)進行二次柵格化處理;(3)對地圖坐標數(shù)據(jù)進行倍數(shù)放大;(4)將地圖數(shù)據(jù)保存在索引文件、數(shù)據(jù)文件、屬性文件中。本發(fā)明提出一種采用整型數(shù)據(jù)存儲地圖坐標信息的方式,大大降低了對物理空間的需求;采用二級柵格化方式存儲地圖數(shù)據(jù),大大減弱了數(shù)據(jù)存儲的冗余度。
文檔編號G06F17/30GK102855322SQ20121033427
公開日2013年1月2日 申請日期2012年9月11日 優(yōu)先權日2012年9月11日
發(fā)明者趙琳, 黃攀, 李亮, 劉金山 申請人:哈爾濱工程大學