欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法及裝置的制作方法

文檔序號(hào):2582846閱讀:241來(lái)源:國(guó)知局
專利名稱:一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及衛(wèi)星導(dǎo)航領(lǐng)域,特別涉及一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法及裝置。
背景技術(shù)
現(xiàn)實(shí)世界中的地理要素存在不斷地變化和更新,為了保證地圖的準(zhǔn)確性和現(xiàn)勢(shì)性,導(dǎo)航電子地圖業(yè)界組織了大量的人力物力進(jìn)行了導(dǎo)航電子地圖增量更新方面的研究和實(shí)踐,然而不管采用什么樣的增量更新方案,對(duì)于差分?jǐn)?shù)據(jù)的抽取都是一個(gè)必不可少的環(huán)節(jié)。目前主流技術(shù)對(duì)于差分?jǐn)?shù)據(jù)的抽取主要依賴于地理要素對(duì)象的永久ID(Permanent ID, PID),該地理要素對(duì)象的永久ID是在數(shù)據(jù)生產(chǎn)時(shí)添加。圖I為現(xiàn)有技術(shù)中導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法示意圖,參照?qǐng)D1,該技術(shù)首先對(duì)原始數(shù)據(jù)進(jìn)行加工,給數(shù)據(jù)記錄設(shè)置靜態(tài)PID,在更新版本的加工中,根據(jù)實(shí)地采集的數(shù)據(jù),對(duì)新增的數(shù)據(jù)生成新PID,并設(shè)置增加標(biāo)志;對(duì)于變更的數(shù)據(jù),修改完包括坐標(biāo)在內(nèi)的屬性后,設(shè)置變更標(biāo)志;對(duì)于需要?jiǎng)h除的記錄,則設(shè)置刪除標(biāo)記;最后生成相應(yīng)的更新對(duì)象列表。從以上描述可知,這種方案的特點(diǎn)為如果基準(zhǔn)版數(shù)據(jù)本來(lái)有PID,則不需要重新加工,否則需要對(duì)基準(zhǔn)版數(shù)據(jù)記錄設(shè)置靜態(tài)PID ;需要對(duì)更新版數(shù)據(jù)中的記錄設(shè)置靜態(tài)PID ;原始數(shù)據(jù)和差分?jǐn)?shù)據(jù)中需要設(shè)置“增加”(ADD)、“變更”(UPD)和“刪除”(DEL)標(biāo)記;基準(zhǔn)版數(shù)據(jù)所有的記錄默認(rèn)都是ADD操作;為方便后續(xù)操作,往往需要生成更新對(duì)象的PID列表。這種方案的缺點(diǎn)為需要加工原始數(shù)據(jù),對(duì)原始數(shù)據(jù)設(shè)置靜態(tài)PID,這就需要變更生產(chǎn)作業(yè)流程,增加管理成本;由于需要對(duì)原始數(shù)據(jù)進(jìn)行加工,提高了生產(chǎn)成本;對(duì)于原始積累的成品數(shù)據(jù)存在著再加工或廢棄的可能;對(duì)于那些在原始數(shù)據(jù)中不存在,需要在數(shù)據(jù)編譯時(shí)經(jīng)過(guò)一定邏輯運(yùn)算得到的數(shù)據(jù),處理起來(lái)比較復(fù)雜,必須通過(guò)修改編譯流程才能為其添加PID,舉例如下圖2示意了弧段、路鏈與道路名稱的關(guān)系,在有些物理存儲(chǔ)格式(Physical Storage Format, PSF)如四維圖新的NI-PSF中,為了盡可能的減小數(shù)據(jù)量,在數(shù)據(jù)編譯時(shí)需要將滿足一定條件(如名稱及等級(jí)相同的收費(fèi)道路)的弧段連接成路鏈對(duì)象,同時(shí)將道路名稱根據(jù)客戶要求沿著道路按一定間距均勻分布。如圖2中假定弧段AB、BC、CD都是南京西路且都是免費(fèi)的,則在數(shù)據(jù)編譯時(shí)會(huì)生成路鏈AD記錄。由于原始數(shù)據(jù)中只有弧段AB、BC、CD數(shù)據(jù),而并沒(méi)有路鏈AD數(shù)據(jù)和沿路分布的道路名稱數(shù)據(jù)(名稱記錄南京西路),同時(shí)由于數(shù)據(jù)加工時(shí)只能對(duì)弧段數(shù)據(jù)設(shè)置PID,從而導(dǎo)致在進(jìn)行差分處理路鏈及路名時(shí),找不到相應(yīng)的PID,這樣就使得差分處理變得很復(fù)雜。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法及裝置, 不需依賴數(shù)據(jù)生產(chǎn)時(shí)為記錄添加永久ID,就能夠?qū)崿F(xiàn)對(duì)導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)的抽取。為實(shí)現(xiàn)上述目的,本發(fā)明提供技術(shù)方案如下一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法,包括遍歷基準(zhǔn)版地圖文件的所有記錄,利用哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第一哈希表中;遍歷更新版地圖文件的所有記錄,利用所述哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第二哈希表中;對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,所述差分?jǐn)?shù)據(jù)文件中包括需要?jiǎng)h除的記錄以及需要增加的記錄。上述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其中在對(duì)所述基準(zhǔn)版地圖文件和更新版地圖文件進(jìn)行遍歷之前還包括通過(guò)數(shù)據(jù)訪問(wèn)接口讀入并解析預(yù)定模型的所述基準(zhǔn)版地圖文件和更新版地圖文件,并通過(guò)數(shù)據(jù)適配器將所述基準(zhǔn)版地圖文件和更新版地圖文件的每條記錄轉(zhuǎn)換為字節(jié)序列后存儲(chǔ)在連續(xù)的存儲(chǔ)區(qū)域中;在生成所述差分?jǐn)?shù)據(jù)文件之后還包括通過(guò)所述數(shù)據(jù)適配器和數(shù)據(jù)訪問(wèn)接口將所述差分?jǐn)?shù)據(jù)文件轉(zhuǎn)換為所述預(yù)定模型后存儲(chǔ)。上述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其中所述第一哈希表和第二哈希表為鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的永久ID。上述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其中所述利用哈希算法生成每條記錄的永久ID為分別將兩個(gè)不同的計(jì)算類型參數(shù)輸入到所述哈希算法中,來(lái)為每條記錄生成兩個(gè)不同的永久ID,分別為第一永久ID和第二永久ID ;所述第一哈希表和第二哈希表為鏈表數(shù)組,所述第一永久ID用于標(biāo)識(shí)記錄在所述鏈表數(shù)組中所屬的鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的第二永久ID。上述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其中,所述對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,包括對(duì)于存在于所述第一哈希表中、但不存在于所述第二哈希表中的永久ID,將該永久ID及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置刪除標(biāo)記;對(duì)于存在于所述第二哈希表中、但不存在于所述第一哈希表中的永久ID,將該永久ID及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置增加標(biāo)記。一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,包括第一哈希表生成模塊,用于遍歷基準(zhǔn)版地圖文件的所有記錄,利用哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第一哈希表中;
第二哈希表生成模塊,用于遍歷更新版地圖文件的所有記錄,利用所述哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第二哈希表中;差分?jǐn)?shù)據(jù)產(chǎn)生模塊,用于對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,所述差分?jǐn)?shù)據(jù)文件中包括需要?jiǎng)h除的記錄以及需要增加的記錄。上述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其中,還包括數(shù)據(jù)訪問(wèn)模塊,用于讀入并解析預(yù)定模型的所述基準(zhǔn)版地圖文件和更新版地圖文件,將所述基準(zhǔn)版地圖文件和更新版地圖文件的每條記錄轉(zhuǎn)換為字節(jié)序列后存儲(chǔ)在連續(xù)的存儲(chǔ)區(qū)域中,以及,將所述差分?jǐn)?shù)據(jù)文件轉(zhuǎn)換為所述預(yù)定模型后存儲(chǔ)。上述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其中所述第一哈希表和第二哈希表為鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的永久ID。上述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其中所述第一哈希表生成模塊和第二哈希表生成模塊進(jìn)一步用于分別將兩個(gè)不同的計(jì)算類型參數(shù)輸入到所述哈希算法中,來(lái)為每條記錄生成兩個(gè)不同的永久ID,分別為第一永久ID和第二永久ID ;此時(shí),所述第一哈希表和第二哈希表為鏈表數(shù)組,所述第一永久ID用于標(biāo)識(shí)記錄在所述鏈表數(shù)組中所屬的鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的第二永久 ID。上述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其中,所述差分?jǐn)?shù)據(jù)產(chǎn)生模塊進(jìn)一步用于對(duì)于存在于所述第一哈希表中、但不存在于所述第二哈希表中的永久ID,將該永久ID及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置刪除標(biāo)記;對(duì)于存在于所述第二哈希表中、但不存在于所述第一哈希表中的永久ID,將該永久ID及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置增加標(biāo)記。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是本發(fā)明利用哈希算法動(dòng)態(tài)計(jì)算數(shù)據(jù)記錄的永久ID,使得差分?jǐn)?shù)據(jù)的抽取與數(shù)據(jù)記錄是否具有永久ID無(wú)關(guān),與數(shù)據(jù)規(guī)格和數(shù)據(jù)模型也無(wú)關(guān),這樣,差分?jǐn)?shù)據(jù)的抽取不僅不需要額外的生產(chǎn)成本,而且能夠充分利用長(zhǎng)期積淀的原始導(dǎo)航數(shù)據(jù),從而大大縮短了數(shù)據(jù)的更新周期,提高了競(jìng)爭(zhēng)力。











具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。參照?qǐng)D3,本發(fā)明實(shí)施例的導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法,包括如下步驟步驟301 :遍歷基準(zhǔn)版地圖文件的所有記錄,利用哈希算法生成每條記錄的永久 ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第一哈希表中;步驟302 :遍歷更新版地圖文件的所有記錄,利用哈希算法生成每條記錄的永久 ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第二哈希表中;為了根據(jù)動(dòng)態(tài)生成的永久ID來(lái)抽取差分?jǐn)?shù)據(jù),步驟301與步驟302中應(yīng)當(dāng)采用相同的哈希算法,這樣,在不同版本中的相同記錄就具有相同的永久ID。步驟303 :對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,所述差分?jǐn)?shù)據(jù)文件中包括需要?jiǎng)h除的記錄以及需要增加的記錄。在具體實(shí)現(xiàn)時(shí),所述第一哈希表和第二哈希表可以為鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的永久ID。所述第一哈希表和第二哈希表也可以為鏈表數(shù)組,此時(shí),步驟301和步驟302中, 利用哈希算法生成每條記錄的永久ID為分別將兩個(gè)不同的計(jì)算類型參數(shù)輸入到所述哈希算法中,來(lái)為每條記錄生成兩個(gè)不同的永久ID,分別為第一永久ID和第二永久ID。所述第一永久ID用于標(biāo)識(shí)記錄在所述鏈表數(shù)組中所屬的鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的第二永久ID。當(dāng)然,所述第一哈希表和第二哈希表也可以采用其他公知的數(shù)據(jù)結(jié)構(gòu),這里不作贅述。在步驟303中,差分?jǐn)?shù)據(jù)的產(chǎn)生規(guī)則為對(duì)于存在于所述第一哈希表中、但不存在于所述第二哈希表中的永久ID,將該永久ID及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置刪除標(biāo)記;對(duì)于存在于所述第二哈希表中、但不存在于所述第一哈希表中的永久ID,將該永久ID及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置增加標(biāo)記。生成差分?jǐn)?shù)據(jù)文件后,就可以將所述差分?jǐn)?shù)據(jù)文提供給導(dǎo)航端,由所述導(dǎo)航端根據(jù)所述差分?jǐn)?shù)據(jù)文件和基準(zhǔn)版地圖文件恢復(fù)所述更新版地圖文件,具體為將所述差分?jǐn)?shù)據(jù)文件中設(shè)置有刪除標(biāo)記的記錄從所述基準(zhǔn)版地圖文件中刪除,并將所述差分?jǐn)?shù)據(jù)文件中設(shè)置有增加標(biāo)記的記錄增加到所述基準(zhǔn)版地圖文件中,從而得到恢復(fù)后的更新版地圖文件。本發(fā)明實(shí)施例對(duì)步驟301和步驟302的執(zhí)行順序不做限制,即,可以先執(zhí)行步驟 302,再執(zhí)行步驟301,另外,兩者還可以并行執(zhí)行。進(jìn)一步,在對(duì)所述基準(zhǔn)版地圖文件和更新版地圖文件進(jìn)行遍歷之前還可包括通過(guò)數(shù)據(jù)訪問(wèn)接口讀入并解析預(yù)定模型的所述基準(zhǔn)版地圖文件和更新版地圖文件,并通過(guò)數(shù)據(jù)適配器將所述基準(zhǔn)版地圖文件和更新版地圖文件的每條記錄轉(zhuǎn)換為字節(jié)序列后存儲(chǔ)在連續(xù)的存儲(chǔ)區(qū)域中;此時(shí),在生成所述差分?jǐn)?shù)據(jù)文件之后還包括通過(guò)所述數(shù)據(jù)適配器和數(shù)據(jù)訪問(wèn)接口將所述差分?jǐn)?shù)據(jù)文件轉(zhuǎn)換為所述預(yù)定模型后存儲(chǔ)。圖4為本發(fā)明實(shí)施例的導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法的具體實(shí)現(xiàn)示意圖,可以看出,圖4與圖I相比主要做了以下方面的改進(jìn)增加了動(dòng)態(tài)PID計(jì)算環(huán)節(jié),使得差分?jǐn)?shù)據(jù)的抽取與原始數(shù)據(jù)是否具有PID無(wú)關(guān);動(dòng)態(tài)計(jì)算好的PID存放于哈希表,并通過(guò)比較兩個(gè)版本的哈希表進(jìn)行差分?jǐn)?shù)據(jù)的抽??;增加數(shù)據(jù)訪問(wèn)層使差分?jǐn)?shù)據(jù)的抽取與輸入輸出數(shù)據(jù)的規(guī)格無(wú)關(guān)。另外,PID動(dòng)態(tài)計(jì)算還存在以下優(yōu)點(diǎn)可以很方便地處理經(jīng)過(guò)邏輯運(yùn)算后得到的記錄,如路鏈記錄、路名記錄等;在保證比較的兩個(gè)版本的數(shù)據(jù)模型一致的前提下,可以做到差分?jǐn)?shù)據(jù)的抽取與數(shù)據(jù)模型無(wú)關(guān),即,可以對(duì)任意模型的數(shù)據(jù)進(jìn)行差分抽取。圖5為本發(fā)明實(shí)施例的導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法中的數(shù)據(jù)流向圖。參照?qǐng)D5,數(shù)據(jù)訪問(wèn)層主要負(fù)責(zé)輸入數(shù)據(jù)讀取、數(shù)據(jù)模型轉(zhuǎn)換、差分?jǐn)?shù)據(jù)輸出。數(shù)據(jù)訪問(wèn)層的存在可以保證PID計(jì)算與輸入數(shù)據(jù)規(guī)格無(wú)關(guān)。數(shù)據(jù)訪問(wèn)層主要由數(shù)據(jù)訪問(wèn)接口(ACC)和數(shù)據(jù)適配器(DATA ADAPTER)組成。原始數(shù)據(jù)通過(guò)ACC讀入并解析,然后通過(guò)DATA ADAPTER進(jìn)行數(shù)據(jù)模型轉(zhuǎn)換,最后將轉(zhuǎn)換后的數(shù)據(jù)供差分?jǐn)?shù)據(jù)處理模塊(DIFF PROCESS)使用。差分?jǐn)?shù)據(jù)處理模塊抽出的差分?jǐn)?shù)據(jù)經(jīng) DATAADAPTER模型轉(zhuǎn)換后,由相應(yīng)的ACC輸出并保存。可見(jiàn),由于有數(shù)據(jù)訪問(wèn)層的存在,使得差分?jǐn)?shù)據(jù)的抽取可以做到與數(shù)據(jù)的規(guī)格無(wú)關(guān),即,輸入的兩個(gè)版本的數(shù)據(jù)可以同為SQL DB,也可以同為SHAPE,還可以同為PSF。相應(yīng)地,差分?jǐn)?shù)據(jù)將保存為SQL DB,或者,SHAPE,或者,PSF (分別與輸入數(shù)據(jù)一致)。以下給出PID計(jì)算的一種具體實(shí)現(xiàn)方法。PID計(jì)算的核心內(nèi)容是根據(jù)數(shù)據(jù)記錄的屬性,通過(guò)某種方法生成能夠唯一標(biāo)識(shí)該記錄的一個(gè)整數(shù)值,這個(gè)整數(shù)就是我們需要的PID。下面分別對(duì)PID計(jì)算過(guò)程中使用存儲(chǔ)模型、數(shù)據(jù)結(jié)構(gòu)和計(jì)算算法進(jìn)行描述。A)存儲(chǔ)模型PID計(jì)算算法使用的存儲(chǔ)模型非常簡(jiǎn)單,它僅是一個(gè)能夠描述一條記錄所有屬性的字節(jié)序列,該模型如圖6所示。在圖6中,序列長(zhǎng)度是指描述某條記錄的字節(jié)序列長(zhǎng)度, 單位為字節(jié);字節(jié)I 字節(jié)η是字節(jié)序列。該存儲(chǔ)模型決定了 DATAADPATER對(duì)于輸入輸出數(shù)據(jù)的模型轉(zhuǎn)換非常簡(jiǎn)單,它唯一需要做的事情就是對(duì)ACC讀入的數(shù)據(jù)進(jìn)行簡(jiǎn)單的長(zhǎng)度統(tǒng)計(jì),并將數(shù)據(jù)拷貝到相應(yīng)長(zhǎng)度的字節(jié)序列中就行。另外這種數(shù)據(jù)模型適合處理所有格式的數(shù)據(jù),因?yàn)椴还苣姆N格式的數(shù)據(jù),經(jīng) ACC解析后必定會(huì)生產(chǎn)一塊連續(xù)的或幾塊不連續(xù)的存儲(chǔ)區(qū)域,若是連續(xù)的存儲(chǔ)區(qū)域,該區(qū)域可以直接給后續(xù)的哈希算法使用,若是不連續(xù)的存儲(chǔ)區(qū)域,DATAADAPTER只要將這些不連續(xù)的存儲(chǔ)區(qū)域拷貝到一連續(xù)的存儲(chǔ)區(qū)域即可。B)數(shù)據(jù)結(jié)構(gòu)圖7為本發(fā)明實(shí)施例在PID計(jì)算過(guò)程中使用的數(shù)據(jù)結(jié)構(gòu)示意圖,該數(shù)據(jù)結(jié)構(gòu)為鏈表數(shù)組。為了方便描述,定義如下符號(hào)L表示鏈表,L [η]表示鏈表中第η個(gè)節(jié)點(diǎn);0094]LA表示鏈表數(shù)組,LA [η]表示鏈表數(shù)組中第η個(gè)元素;
0095]REC {PID, VAL}表示記錄,PID表示記錄的永久ID,VAL表示記錄的內(nèi)容,REC. PID 表示取記錄的PID,REC. VAL表示取記錄的內(nèi)容;
0096]MOD表示對(duì)一個(gè)整數(shù)進(jìn)行取模運(yùn)算,例如5M0D 3等于2。
0097]對(duì)圖7作如下說(shuō)明
0098]在PID計(jì)算過(guò)程中使用一個(gè)具有2048個(gè)元素的鏈表數(shù)組LA ;
0099]鏈表的每一個(gè)節(jié)點(diǎn)是一個(gè)記錄REC {PID-V,VAL};
0100]記錄REC{PID-V,VAL}所屬的鏈表可以通過(guò)以下公式獲得L = LA[PID_0 MOD 2048],PID-O為鏈表的定位ID ;
0101]通過(guò)遍歷鏈表的節(jié)點(diǎn)可以取得鏈表節(jié)點(diǎn)內(nèi)容和記錄的PID ;
0102]為了加快鏈表的遍歷速度以及盡可能減少PID沖突,本發(fā)明實(shí)施例對(duì)同一塊字節(jié)序列用不同的公式(同一哈希算法輸入不同的計(jì)算類型參數(shù))算出兩個(gè)不同的PID,分別為 PID-O和PID-V,其中,PID-O用來(lái)定位鏈表,PID-V (校驗(yàn)PID)存儲(chǔ)在鏈表的節(jié)點(diǎn)中。
0103]OPID計(jì)算算法
0104]PID計(jì)算算法主要是將DATA ADAPTER傳入的字節(jié)序列壓縮成一個(gè)整數(shù),本發(fā)明實(shí)施例中采用了比較成熟的暴雪MPQ哈希算法,其算法實(shí)現(xiàn)代碼如下
0105]unsigned long HashString_Mpq(char*pcString, unsigned long ulHashType, int a_iLen)
0106]{
0107]int iTmpV ;
0108]unsigned char氺pcKey = (unsigned char*)pcString ;
0109]unsigned long ulSeedl = 0x7FED7FED ; unsigned long ulSeed2 = OxEEEEEEEE ; while(a_iLen > 0)
0]
1]
2]
3]
4]
5]
6]
7]
8] 9]
iTmpV =(氺pcKey);
Il根據(jù)type不同計(jì)算不同的hash值
ulSeedl = ((ulHashType << 8)+iTmpV)' (ulSeedl+ulSeed2); ulSeed2 = iTmpV+ulSeedl+ulSeed2+(ulSeed2 < < 5)+3 ; pcKey++ ; a_iLen—;
}
return ulSeedl ;
}
其中
pcString為傳入的字節(jié)序列; a_iLen為字節(jié)序列長(zhǎng)度;
ulHashType為計(jì)算類型,主要是用來(lái)對(duì)同一字節(jié)序列進(jìn)行不同的哈希運(yùn)算,該值
以下給出本發(fā)明實(shí)施例的導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法的詳細(xì)流程。首先介紹差分?jǐn)?shù)據(jù)生成規(guī)則。現(xiàn)實(shí)世界中對(duì)于地理要素的變更存在以下幾種情況新增,如新建某條高速公路等;變更,如道路改名等;刪除,如道路的廢止等。這幾種情形在本發(fā)明抽取差分?jǐn)?shù)據(jù)時(shí)會(huì)按下表的規(guī)則生成差分?jǐn)?shù)據(jù)
權(quán)利要求
1.一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其特征在于,包括遍歷基準(zhǔn)版地圖文件的所有記錄,利用哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第一哈希表中;遍歷更新版地圖文件的所有記錄,利用所述哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第二哈希表中;對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,所述差分?jǐn)?shù)據(jù)文件中包括需要?jiǎng)h除的記錄以及需要增加的記錄。
2.如權(quán)利要求I所述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其特征在于在對(duì)所述基準(zhǔn)版地圖文件和更新版地圖文件進(jìn)行遍歷之前還包括通過(guò)數(shù)據(jù)訪問(wèn)接口讀入并解析預(yù)定模型的所述基準(zhǔn)版地圖文件和更新版地圖文件,并通過(guò)數(shù)據(jù)適配器將所述基準(zhǔn)版地圖文件和更新版地圖文件的每條記錄轉(zhuǎn)換為字節(jié)序列后存儲(chǔ)在連續(xù)的存儲(chǔ)區(qū)域中;在生成所述差分?jǐn)?shù)據(jù)文件之后還包括通過(guò)所述數(shù)據(jù)適配器和數(shù)據(jù)訪問(wèn)接口將所述差分?jǐn)?shù)據(jù)文件轉(zhuǎn)換為所述預(yù)定模型后存儲(chǔ)。
3.如權(quán)利要求I所述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其特征在于所述第一哈希表和第二哈希表為鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的永久ID0
4.如權(quán)利要求I所述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其特征在于所述利用哈希算法生成每條記錄的永久ID為分別將兩個(gè)不同的計(jì)算類型參數(shù)輸入到所述哈希算法中,來(lái)為每條記錄生成兩個(gè)不同的永久ID,分別為第一永久ID和第二永久 ID ;所述第一哈希表和第二哈希表為鏈表數(shù)組,所述第一永久ID用于標(biāo)識(shí)記錄在所述鏈表數(shù)組中所屬的鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的第二永久ID。
5.如權(quán)利要求I所述的差分?jǐn)?shù)據(jù)產(chǎn)生方法,其特征在于,所述對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,包括對(duì)于存在于所述第一哈希表中、但不存在于所述第二哈希表中的永久ID,將該永久ID 及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置刪除標(biāo)記;對(duì)于存在于所述第二哈希表中、但不存在于所述第一哈希表中的永久ID,將該永久ID 及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置增加標(biāo)記。
6.一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其特征在于,包括第一哈希表生成模塊,用于遍歷基準(zhǔn)版地圖文件的所有記錄,利用哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第一哈希表中;第二哈希表生成模塊,用于遍歷更新版地圖文件的所有記錄,利用所述哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第二哈希表中;差分?jǐn)?shù)據(jù)產(chǎn)生模塊,用于對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,所述差分?jǐn)?shù)據(jù)文件中包括需要?jiǎng)h除的記錄以及需要增加的記錄。
7.如權(quán)利要求6所述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其特征在于,還包括數(shù)據(jù)訪問(wèn)模塊,用于讀入并解析預(yù)定模型的所述基準(zhǔn)版地圖文件和更新版地圖文件, 將所述基準(zhǔn)版地圖文件和更新版地圖文件的每條記錄轉(zhuǎn)換為字節(jié)序列后存儲(chǔ)在連續(xù)的存儲(chǔ)區(qū)域中,以及,將所述差分?jǐn)?shù)據(jù)文件轉(zhuǎn)換為所述預(yù)定模型后存儲(chǔ)。
8.如權(quán)利要求6所述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其特征在于所述第一哈希表和第二哈希表為鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的永久ID0
9.如權(quán)利要求6所述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其特征在于所述第一哈希表生成模塊和第二哈希表生成模塊進(jìn)一步用于分別將兩個(gè)不同的計(jì)算類型參數(shù)輸入到所述哈希算法中,來(lái)為每條記錄生成兩個(gè)不同的永久ID,分別為第一永久 ID和第二永久ID ;此時(shí),所述第一哈希表和第二哈希表為鏈表數(shù)組,所述第一永久ID用于標(biāo)識(shí)記錄在所述鏈表數(shù)組中所屬的鏈表,所述鏈表的節(jié)點(diǎn)存儲(chǔ)記錄的指針以及該記錄的第二永久ID。
10.如權(quán)利要求6所述的差分?jǐn)?shù)據(jù)產(chǎn)生裝置,其特征在于,所述差分?jǐn)?shù)據(jù)產(chǎn)生模塊進(jìn)一步用于對(duì)于存在于所述第一哈希表中、但不存在于所述第二哈希表中的永久ID,將該永久ID 及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置刪除標(biāo)記;對(duì)于存在于所述第二哈希表中、但不存在于所述第一哈希表中的永久ID,將該永久ID 及對(duì)應(yīng)的記錄輸出到差分?jǐn)?shù)據(jù)文件中,并設(shè)置增加標(biāo)記。
全文摘要
本發(fā)明提供一種導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)產(chǎn)生方法及裝置,方法包括遍歷基準(zhǔn)版地圖文件的所有記錄,利用哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第一哈希表中;遍歷更新版地圖文件的所有記錄,利用所述哈希算法生成每條記錄的永久ID,并將生成的永久ID及對(duì)應(yīng)的記錄存儲(chǔ)到第二哈希表中;對(duì)所述第一哈希表和第二哈希表進(jìn)行比較生成差分?jǐn)?shù)據(jù)文件,所述差分?jǐn)?shù)據(jù)文件中包括需要?jiǎng)h除的記錄以及需要增加的記錄。本發(fā)明不需依賴數(shù)據(jù)生產(chǎn)時(shí)為記錄添加永久ID,就能夠?qū)崿F(xiàn)對(duì)導(dǎo)航電子地圖的差分?jǐn)?shù)據(jù)的抽取。
文檔編號(hào)G09B29/10GK102607576SQ201110027060
公開(kāi)日2012年7月25日 申請(qǐng)日期2011年1月25日 優(yōu)先權(quán)日2011年1月25日
發(fā)明者王樂(lè)樂(lè), 高劍 申請(qǐng)人:北京四維圖新科技股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
辽宁省| 宣城市| 安顺市| 大洼县| 铁岭市| 衢州市| 海城市| 平定县| 长汀县| 望谟县| 嵩明县| 永宁县| 洪洞县| 前郭尔| 佛教| 陇西县| 高陵县| 湘乡市| 泽普县| 沽源县| 区。| 永兴县| 娱乐| 左权县| 东方市| 武强县| 静海县| 奉新县| 恩平市| 昭通市| 久治县| 两当县| 龙海市| 搜索| 新邵县| 盐源县| 娱乐| 鄯善县| 什邡市| 兴安县| 利津县|