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

一種導(dǎo)航數(shù)據(jù)轉(zhuǎn)換中內(nèi)存管理的方法

文檔序號(hào):6432077閱讀:412來(lái)源:國(guó)知局
專(zhuān)利名稱:一種導(dǎo)航數(shù)據(jù)轉(zhuǎn)換中內(nèi)存管理的方法
技術(shù)領(lǐng)域
本發(fā)明公開(kāi)了一種導(dǎo)航數(shù)據(jù)轉(zhuǎn)換中內(nèi)存管理的方法。
背景技術(shù)
支持基于位置服務(wù)(LBS)與智能交通系統(tǒng)(ITS)的地理數(shù)據(jù)叫做導(dǎo)航地理數(shù)據(jù), 簡(jiǎn)稱導(dǎo)航數(shù)據(jù)。導(dǎo)航數(shù)據(jù)已在個(gè)人移動(dòng)導(dǎo)航服務(wù)、汽車(chē)自主導(dǎo)航、各種監(jiān)控和運(yùn)營(yíng)服務(wù)系統(tǒng)等領(lǐng)域得到應(yīng)用,形成了巨大的市場(chǎng)規(guī)模。導(dǎo)航數(shù)據(jù)的特點(diǎn)是比例尺大、精度高、道路屬性全、POI (Point of Interest,興趣點(diǎn))信息豐富、帶有交通管制信息。導(dǎo)航數(shù)據(jù)的制作一般是專(zhuān)業(yè)的數(shù)據(jù)生產(chǎn)公司利用常用的GIS工具生成的如.MIF、shapef ile、EOO等通用矢量的數(shù)據(jù)交換格式,這些格式在使用時(shí)需要轉(zhuǎn)換成各自平臺(tái)的自有格式,才能被平臺(tái)使用。在數(shù)據(jù)格式轉(zhuǎn)換時(shí),常規(guī)方法的流程是首先建立空間格網(wǎng)索引,在索引項(xiàng)中預(yù)先分配動(dòng)態(tài)數(shù)組來(lái)存儲(chǔ)對(duì)象地址,對(duì)每一個(gè)存儲(chǔ)對(duì)象進(jìn)行獨(dú)立的內(nèi)存分配。這種做法實(shí)際占用內(nèi)存量也會(huì)變大,例如當(dāng)一個(gè)數(shù)據(jù)對(duì)象需要的存儲(chǔ)空間為32byte時(shí),系統(tǒng)為管理此對(duì)象,要對(duì)其分配超過(guò)36byte的空間。當(dāng)數(shù)據(jù)量變大至幾個(gè)G、上百G,索引對(duì)象在10萬(wàn)以上時(shí),這種方法帶來(lái)的不足是內(nèi)存消耗巨大,而且頻繁的進(jìn)行內(nèi)存的分配與釋放操作,會(huì)出現(xiàn)內(nèi)存碎片,使得海量數(shù)據(jù)轉(zhuǎn)換對(duì)硬件要求比較高。全國(guó)大比例尺的導(dǎo)航數(shù)據(jù)以道路數(shù)據(jù)為例,通常是有IOG以上,就目前普通的PC機(jī)的性能配置來(lái)說(shuō)完成此任務(wù)幾乎是不能的。針對(duì)大數(shù)據(jù)量數(shù)據(jù)轉(zhuǎn)換消耗內(nèi)存空間比較大的問(wèn)題,目前有一些解決辦法,例如將全國(guó)的數(shù)據(jù)進(jìn)行分塊存儲(chǔ),對(duì)每一塊數(shù)據(jù)進(jìn)行單獨(dú)的處理。這種物理上分塊存儲(chǔ)的方法,不適合于全國(guó)道路數(shù)據(jù)的轉(zhuǎn)換,在分塊處道路的連通性不能夠保證。在做路徑規(guī)劃時(shí)需要考慮整體的路網(wǎng)拓?fù)潢P(guān)系,因此分塊處理的方法存在一定的缺陷。

發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問(wèn)題是克服現(xiàn)有技術(shù)的不足,提供了一種導(dǎo)航數(shù)據(jù)轉(zhuǎn)換中內(nèi)存管理的方法。采用本發(fā)明解決了全國(guó)大比例尺的導(dǎo)航數(shù)據(jù)在轉(zhuǎn)換數(shù)據(jù)格式時(shí)內(nèi)存開(kāi)銷(xiāo)大,對(duì)硬件性能要求高的問(wèn)題,實(shí)現(xiàn)了大數(shù)據(jù)量的數(shù)據(jù)在很小的硬件配置下進(jìn)行轉(zhuǎn)換處理和使用。本發(fā)明的技術(shù)解決方案是在對(duì)海量導(dǎo)航數(shù)據(jù)轉(zhuǎn)換時(shí),對(duì)處理過(guò)程進(jìn)行分步分解,在統(tǒng)計(jì)數(shù)據(jù)對(duì)象個(gè)數(shù)步驟內(nèi),不進(jìn)行內(nèi)存的分配,當(dāng)對(duì)所有的數(shù)據(jù)對(duì)象進(jìn)行遍歷,統(tǒng)計(jì)與每個(gè)對(duì)象相關(guān)聯(lián)的有效信息需要占有的內(nèi)存量,計(jì)算出總的對(duì)象需要占用的內(nèi)存量,然后一次性進(jìn)行內(nèi)存分配,在轉(zhuǎn)換結(jié)束時(shí),一次性釋放內(nèi)存。從而避免了頻繁的內(nèi)存操作,減少內(nèi)存碎片的產(chǎn)生。為了實(shí)現(xiàn)上述發(fā)明方案,通過(guò)以下步驟進(jìn)行操作100:讀取導(dǎo)航數(shù)據(jù)創(chuàng)建格網(wǎng)空間索引,所述導(dǎo)航數(shù)據(jù)中包括導(dǎo)航數(shù)據(jù)中所有元素的空間坐標(biāo);利用讀取的導(dǎo)航數(shù)據(jù)中元素的空間坐標(biāo)確定空間索引的格網(wǎng)的大??;并根據(jù)格網(wǎng)的大小確定導(dǎo)航數(shù)據(jù)所對(duì)應(yīng)的格網(wǎng)總數(shù);根據(jù)格網(wǎng)的大小劃分導(dǎo)航數(shù)據(jù)中每個(gè)元素所屬的格網(wǎng);200 以格網(wǎng)為索引項(xiàng),對(duì)格網(wǎng)中的元素進(jìn)行內(nèi)存統(tǒng)計(jì)遍歷每個(gè)格網(wǎng)中的元素,對(duì)每個(gè)元素的屬性項(xiàng)進(jìn)行統(tǒng)計(jì);針對(duì)每個(gè)元素中不同屬性項(xiàng)的大小統(tǒng)計(jì)內(nèi)存空間;完成一個(gè)元素中所有屬性項(xiàng)的內(nèi)存統(tǒng)計(jì)后,對(duì)格網(wǎng)中的元素計(jì)數(shù)進(jìn)行累加,當(dāng)累加計(jì)數(shù)等于格網(wǎng)中元素總數(shù)時(shí),轉(zhuǎn)入步驟300 ;300 將步驟200中統(tǒng)計(jì)完成的格網(wǎng)中的元素根據(jù)統(tǒng)計(jì)得到的內(nèi)存空間大小進(jìn)行存儲(chǔ);400:導(dǎo)航數(shù)據(jù)處理軟件按照預(yù)定義的格式,將導(dǎo)航數(shù)據(jù)中的元素進(jìn)行關(guān)聯(lián)處理, 將處理后的導(dǎo)航數(shù)據(jù)信息存儲(chǔ)到外存。本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點(diǎn)(1)本發(fā)明根據(jù)獲取的導(dǎo)航數(shù)據(jù)中的元素即道路節(jié)點(diǎn)和道路弧度等,確定作為索引項(xiàng)的格網(wǎng)大小,如,當(dāng)導(dǎo)航數(shù)據(jù)中包含較為稀疏的元素時(shí),采用大格網(wǎng);當(dāng)導(dǎo)航數(shù)據(jù)中包含較為密集的元素時(shí),采用小格網(wǎng)。以此對(duì)導(dǎo)航數(shù)據(jù)進(jìn)行劃分,有效的規(guī)劃了導(dǎo)航數(shù)據(jù)中的
處理容量。(2)本發(fā)明對(duì)導(dǎo)航數(shù)據(jù)中每個(gè)元素的屬性項(xiàng)進(jìn)行初次內(nèi)存統(tǒng)計(jì),在初次內(nèi)存統(tǒng)計(jì)的結(jié)果上,以元素為單位計(jì)算需分配內(nèi)存的大小,實(shí)現(xiàn)了連續(xù)大存儲(chǔ)空間的分配,進(jìn)而規(guī)避了現(xiàn)有技術(shù)對(duì)導(dǎo)航數(shù)據(jù)格式轉(zhuǎn)換時(shí)內(nèi)存統(tǒng)計(jì)和分配時(shí),容易造成內(nèi)存碎片消耗額外內(nèi)存的問(wèn)題。


圖1為本發(fā)明流程圖;圖2為導(dǎo)航數(shù)據(jù)示意圖。
具體實(shí)施例方式下面就結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步介紹。如圖1所示,為本發(fā)明流程圖。本發(fā)明的具體步驟如下(1)建立導(dǎo)航數(shù)據(jù)格網(wǎng)索引讀取的導(dǎo)航數(shù)據(jù)創(chuàng)建格網(wǎng)空間索引,在讀取的導(dǎo)航數(shù)據(jù)中包括導(dǎo)航數(shù)據(jù)中所有元素的空間坐標(biāo)。元素的類(lèi)型有道路節(jié)點(diǎn)NODE、道路弧度LINK以及道路規(guī)則。根據(jù)道路節(jié)點(diǎn)NODE、道路弧度LINK中的空間坐標(biāo),確定對(duì)導(dǎo)航數(shù)據(jù)進(jìn)行劃分時(shí)所采用的格網(wǎng)大小,選擇合適大小的格網(wǎng)可以有效的劃分導(dǎo)航數(shù)據(jù)中的元素個(gè)數(shù),從而便于在后續(xù)步驟中對(duì)導(dǎo)航數(shù)據(jù)內(nèi)存空間的管理處理。例如,按經(jīng)差1° X緯差40’劃分格網(wǎng)的大小,格網(wǎng)的起點(diǎn)(第一個(gè)格網(wǎng)的左下角點(diǎn))為緯度0°,經(jīng)度60°。確定格網(wǎng)大小和格網(wǎng)總數(shù)后,對(duì)所有的格網(wǎng)進(jìn)行編號(hào)。編號(hào)規(guī)則是緯度行號(hào)(兩位整數(shù)RR) +經(jīng)度列號(hào)(兩位整數(shù)LL)。由任意元素空間坐標(biāo)的經(jīng)緯度求該點(diǎn)處于哪個(gè)網(wǎng)格的格網(wǎng)號(hào)計(jì)算公式為
4
RR =取整(緯度 *60/40);LL =取整(經(jīng)度)_60 ;例如已知某空間坐標(biāo)經(jīng)度=125.3752° = 125° 22,30. 72” ;緯度=28.2669° =28° 16,0. 84” ;RR =取整(28. 2669*60/40)=取整(42. 40035) = 42 ;LL =取整(125. 3752)-60 = 65 ;格網(wǎng)號(hào)為 4265。完成格網(wǎng)標(biāo)號(hào)的同時(shí)也將導(dǎo)航數(shù)據(jù)中的元素按照空間坐標(biāo)與格網(wǎng)號(hào)的對(duì)應(yīng)關(guān)系進(jìn)行了劃分。(2)統(tǒng)計(jì)導(dǎo)航數(shù)據(jù)內(nèi)存對(duì)讀取的外部導(dǎo)航數(shù)據(jù)進(jìn)行格式轉(zhuǎn)換時(shí),由于自身格式與外部導(dǎo)航數(shù)據(jù)格式間的差異,因此,要對(duì)需進(jìn)行格式轉(zhuǎn)換的外部導(dǎo)航數(shù)據(jù)進(jìn)行存儲(chǔ)空間的統(tǒng)計(jì)。在本發(fā)明中以格網(wǎng)為索引項(xiàng)對(duì)對(duì)導(dǎo)航數(shù)據(jù)進(jìn)行內(nèi)存統(tǒng)計(jì),即對(duì)遍歷每個(gè)格網(wǎng),對(duì)格網(wǎng)中的元素所需內(nèi)存分別進(jìn)行統(tǒng)計(jì)。上述導(dǎo)航數(shù)據(jù)包括道路節(jié)點(diǎn)NODE、道路弧度LINK以及道路規(guī)則。在利用不同類(lèi)型的外部導(dǎo)航數(shù)據(jù)時(shí),不同的元素類(lèi)型的不同屬性項(xiàng)之間具有不一樣的關(guān)聯(lián)關(guān)系,因此,內(nèi)存統(tǒng)計(jì)時(shí),對(duì)屬于同一元素的每一個(gè)屬性項(xiàng)分別進(jìn)行統(tǒng)計(jì),獲取一個(gè)元素所需要的完成內(nèi)存空間大小。在遍歷完導(dǎo)航數(shù)據(jù)中的所有格網(wǎng)和格網(wǎng)中的全部元素后,完成對(duì)內(nèi)存的統(tǒng)計(jì)處理。(3)導(dǎo)航數(shù)據(jù)內(nèi)存分配按照步驟( 獲得的內(nèi)存空間大小,對(duì)導(dǎo)航數(shù)據(jù)中的元素進(jìn)行存儲(chǔ),從而可以將每個(gè)元素完整連續(xù)的存儲(chǔ)于一段內(nèi)存中,避免了由于每個(gè)元素空間屬性項(xiàng)內(nèi)存過(guò)小,單獨(dú)存儲(chǔ)而造成的內(nèi)存空間碎片。(4)導(dǎo)航數(shù)據(jù)關(guān)聯(lián)處理完成對(duì)導(dǎo)航數(shù)據(jù)的存儲(chǔ)后,導(dǎo)航數(shù)據(jù)處理軟件按照預(yù)定義的格式,將導(dǎo)航數(shù)據(jù)信息中的元素進(jìn)行關(guān)聯(lián)處理,將處理后的導(dǎo)航數(shù)據(jù)信息存儲(chǔ)到外存。實(shí)施例把1 25000比例尺下的全國(guó)道路網(wǎng)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,從MIF格式轉(zhuǎn)換到本發(fā)明導(dǎo)航處理平臺(tái)需要的路徑規(guī)劃數(shù)據(jù)格式,算法的步驟如下 導(dǎo)航數(shù)據(jù)文件整體信息讀取全國(guó)道路路網(wǎng)數(shù)據(jù),具有中國(guó)的地理空間范圍,道路網(wǎng)的構(gòu)成包括有道路結(jié)點(diǎn) NODE和道路弧度LINK組成,如圖2所示。一般的道路屬性信息例如,長(zhǎng)度、車(chē)道數(shù)、流向等與路徑規(guī)劃相關(guān)的屬性信息。 分配索引項(xiàng)根據(jù)全國(guó)的坐標(biāo)范圍和比例尺,將全國(guó)的數(shù)據(jù)劃分為5317*64個(gè)索引格網(wǎng),每個(gè)格網(wǎng)被稱為索引項(xiàng),該索引項(xiàng)的屬性包含處于該索引范圍內(nèi)的數(shù)據(jù)對(duì)象的總數(shù)和對(duì)象的存儲(chǔ)地址,本實(shí)例中指該空間范圍內(nèi)的LINK總數(shù)N和每一條LINK在該索引項(xiàng)中的存儲(chǔ)地址 LINK[i]。
統(tǒng)計(jì)對(duì)象數(shù)和存儲(chǔ)每一個(gè)對(duì)象的有效信息所需要的內(nèi)存量將每一個(gè)LINK作為一個(gè)對(duì)象,在全國(guó)范圍內(nèi)遍歷LINK。根據(jù)LINK的空間系統(tǒng)計(jì)算出該LINK所屬的索引項(xiàng)。將該索引項(xiàng)的索引號(hào)作為一個(gè)屬性添加至對(duì)象信息中。對(duì)于用于路徑規(guī)劃的道路信息,其需要的有效信息主要包含道路的長(zhǎng)度、道路通行狀況(單向通行、雙向通行)等與LINK相連的屬性信息。這些屬性信息所需要的內(nèi)存如果是32KB,則總的內(nèi)存需要量是TotalLINK*32KB。 一次性分配內(nèi)存根據(jù)上步驟中所計(jì)算出來(lái)的總的內(nèi)存需求量,一次分配內(nèi)存TotalLINK*32KB。 遍歷數(shù)據(jù)對(duì)象,根據(jù)對(duì)象的索引值,將對(duì)象的地址添加到已分配好的索引項(xiàng)的對(duì)象地址中。該方法的優(yōu)勢(shì)是在對(duì)海量導(dǎo)航數(shù)據(jù)進(jìn)行處理時(shí),對(duì)內(nèi)存的消耗量大大減少,根據(jù)實(shí)驗(yàn)數(shù)據(jù)對(duì)比,采用傳統(tǒng)的方法和該方法在處理IOG數(shù)據(jù)時(shí),對(duì)內(nèi)存的消耗量對(duì)比可以看出該算法的在數(shù)據(jù)量比較小的情況下,對(duì)內(nèi)存的使用量和常規(guī)的方法區(qū)別不大,但是隨著數(shù)據(jù)量的增加,常規(guī)方法所消耗的內(nèi)存量在急劇的增加,逐漸使得性能配置比較差的PC機(jī)不能完成數(shù)據(jù)轉(zhuǎn)換的任務(wù)。當(dāng)試驗(yàn)的數(shù)據(jù)量依次增加時(shí),其消耗內(nèi)存如下表所示實(shí)驗(yàn)數(shù)據(jù)對(duì)比表
數(shù)據(jù)對(duì)象個(gè)數(shù)本發(fā)明內(nèi)存消耗常規(guī)方法內(nèi)存消耗50003. 4M3. 5M100008. 6M13. 9M5000064. 4M150. 8M500000997. 6M2800M10000001620M> 4000M注實(shí)驗(yàn)環(huán)境是普通的PC機(jī),配置情況dell intel (R) core (TM) 2Duo CPU E7500i2. 93GHZ 4GB 內(nèi)存,操作系統(tǒng) WindowXP。本發(fā)明未詳細(xì)說(shuō)明部分屬本領(lǐng)域技術(shù)人員公知常識(shí)。
權(quán)利要求
1. 一種導(dǎo)航數(shù)據(jù)轉(zhuǎn)換中內(nèi)存管理的方法,其特征在于、100 讀取導(dǎo)航數(shù)據(jù)創(chuàng)建格網(wǎng)空間索引,所述導(dǎo)航數(shù)據(jù)中包括導(dǎo)航數(shù)據(jù)中所有元素的空間坐標(biāo);利用讀取的導(dǎo)航數(shù)據(jù)中元素的空間坐標(biāo)確定空間索引的格網(wǎng)的大??;并根據(jù)格網(wǎng)的大小確定導(dǎo)航數(shù)據(jù)所對(duì)應(yīng)的格網(wǎng)總數(shù);根據(jù)格網(wǎng)的大小劃分導(dǎo)航數(shù)據(jù)中每個(gè)元素所屬的格網(wǎng); 200 以格網(wǎng)為索引項(xiàng),對(duì)格網(wǎng)中的元素進(jìn)行內(nèi)存統(tǒng)計(jì) 遍歷每個(gè)格網(wǎng)中的元素,對(duì)每個(gè)元素的屬性項(xiàng)進(jìn)行統(tǒng)計(jì); 針對(duì)每個(gè)元素中不同屬性項(xiàng)的大小統(tǒng)計(jì)內(nèi)存空間;完成一個(gè)元素中所有屬性項(xiàng)的內(nèi)存統(tǒng)計(jì)后,對(duì)格網(wǎng)中的元素計(jì)數(shù)進(jìn)行累加,當(dāng)累加計(jì)數(shù)等于格網(wǎng)中元素總數(shù)時(shí),轉(zhuǎn)入步驟300 ;、300 將步驟200中統(tǒng)計(jì)完成的格網(wǎng)中的元素根據(jù)統(tǒng)計(jì)得到的內(nèi)存空間大小進(jìn)行存儲(chǔ); 400:導(dǎo)航數(shù)據(jù)處理軟件按照預(yù)定義的格式,將導(dǎo)航數(shù)據(jù)中的元素進(jìn)行關(guān)聯(lián)處理,將處理后的導(dǎo)航數(shù)據(jù)信息存儲(chǔ)到外存。
全文摘要
本發(fā)明公開(kāi)了一種導(dǎo)航數(shù)據(jù)轉(zhuǎn)換中內(nèi)存管理的方法,包括建立導(dǎo)航數(shù)據(jù)格網(wǎng)索引的步驟;對(duì)導(dǎo)航數(shù)據(jù)進(jìn)行內(nèi)存統(tǒng)計(jì)的步驟;根據(jù)統(tǒng)計(jì)結(jié)果存儲(chǔ)導(dǎo)航數(shù)據(jù)的步驟;對(duì)導(dǎo)航數(shù)據(jù)進(jìn)行管理處理的步驟。采用本發(fā)明解決了全國(guó)大比例尺的導(dǎo)航數(shù)據(jù)在轉(zhuǎn)換數(shù)據(jù)格式時(shí)內(nèi)存開(kāi)銷(xiāo)大,對(duì)硬件性能要求高的問(wèn)題,實(shí)現(xiàn)了大數(shù)據(jù)量的數(shù)據(jù)在很小的硬件配置下進(jìn)行轉(zhuǎn)換處理和使用。
文檔編號(hào)G06F12/02GK102436463SQ20111025489
公開(kāi)日2012年5月2日 申請(qǐng)日期2011年8月31日 優(yōu)先權(quán)日2011年8月31日
發(fā)明者俞能杰, 劉慶軍, 李亞平, 羅軍 申請(qǐng)人:航天恒星科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
绥芬河市| 城市| 千阳县| 溧阳市| 保康县| 无锡市| 利辛县| 永吉县| 定南县| 余江县| 保康县| 双峰县| 新乡市| 彭水| 玉龙| 南澳县| 胶南市| 永丰县| 城固县| 楚雄市| 保山市| 三原县| 和龙市| 隆子县| 外汇| 石首市| 河南省| 郓城县| 中牟县| 商南县| 分宜县| 宜章县| 舒兰市| 布拖县| 无锡市| 老河口市| 井研县| 丽江市| 报价| 扎兰屯市| 凉城县|