專(zhuān)利名稱(chēng):包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入及讀取的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本申請(qǐng)涉及空間數(shù)據(jù)技術(shù)領(lǐng)域,特別是涉及一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的方法,一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的裝置,一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的方法,一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的裝置。
背景技術(shù):
柵格數(shù)據(jù)模型用規(guī)則的正方形或者矩形柵格組成,每個(gè)柵格點(diǎn)位置由柵格所在的行列號(hào)來(lái)定義,柵格的數(shù)值為柵格所表達(dá)的內(nèi)容的屬性值。從這種意義上來(lái)講,柵格數(shù)據(jù)可以稱(chēng)為“屬性明顯,位置隱含”空間數(shù)據(jù)表達(dá)方式。每個(gè)柵格點(diǎn)代表了實(shí)際地表上的一個(gè)區(qū)域,如果一個(gè)柵格點(diǎn)代表的地表區(qū)域越小,數(shù)據(jù)越精確,但是數(shù)據(jù)量也越大。柵格點(diǎn)的大小通常叫做數(shù)據(jù)的分辨率(resolution),例如,有兩份柵格數(shù)據(jù),前者分辨率為250mX250m,那么I平方千米的范圍需要用16(4X4)個(gè)柵格點(diǎn)來(lái)表達(dá);但如果分辨率為IkmX lkm,那么只需要一個(gè)柵格點(diǎn)就夠了。很明顯,前者表達(dá)更加精確,但是占用存儲(chǔ)空間大。在柵格數(shù)據(jù)模型中,柵格點(diǎn)的數(shù)值含義由用戶指定。一般來(lái)講,其含義有兩種類(lèi)型其一,指實(shí)際的測(cè)量數(shù)值,如溫度、數(shù)字高程模型等;其二,代表某種類(lèi)別的編碼,如土地利用等。這里,就會(huì)發(fā)生某些柵格點(diǎn)不應(yīng)該具有數(shù)值或者無(wú)法得到具體數(shù)值的情況,例如,在描述全國(guó)土地利用類(lèi)型的柵格數(shù)據(jù)模型中,凡是空間范圍對(duì)應(yīng)在水面的那些柵格點(diǎn)都不應(yīng)該具有代表某種土地利用類(lèi)型的代碼值;還有些可能因?yàn)樽匀粭l件的限制,人類(lèi)無(wú)法測(cè)量或得不到該柵格點(diǎn)的具體土地利用類(lèi)型等情況,或者是在利用衛(wèi)星獲取數(shù)據(jù)時(shí)候,因云霧或其他因素導(dǎo)致結(jié)果柵格出現(xiàn)黑色斑塊,這些柵格點(diǎn)沒(méi)有測(cè)量到實(shí)際數(shù)據(jù)等。對(duì)這些情況的柵格點(diǎn),我們用“無(wú)數(shù)據(jù)值”來(lái)記錄該柵格點(diǎn)的數(shù)值,在實(shí)際應(yīng)用中,可以用O或者-32768或者-9999999等等表示,方式很靈活,完全由具體的實(shí)際應(yīng)用確定?!盁o(wú)數(shù)據(jù)柵格塊”指的含義是柵格數(shù)據(jù)中含有大量的“無(wú)數(shù)據(jù)”的柵格點(diǎn)并且分布比較集中,形成空間上的某局部區(qū)域全是“無(wú)數(shù)據(jù)”柵格點(diǎn)組成的柵格塊,如果按照一般做法,存儲(chǔ)每個(gè)柵格塊的柵格點(diǎn)的數(shù)據(jù),則需要大量的存儲(chǔ)空間。因此,本領(lǐng)域技術(shù)人員要解決的技術(shù)問(wèn)題之一在于對(duì)柵格數(shù)據(jù)中包含一定數(shù)量的“無(wú)數(shù)據(jù)柵格塊”情況下,提出一種能高效并避免存儲(chǔ)空間浪費(fèi)的柵格數(shù)據(jù)寫(xiě)入及讀取方法。
發(fā)明內(nèi)容
本申請(qǐng)所要解決的技術(shù)問(wèn)題是提供一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的方法及裝置,以及,一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的方法及裝置。用以在柵格數(shù)據(jù)中包含一定數(shù)量的無(wú)數(shù)據(jù)柵格塊時(shí),能高效讀取柵格數(shù)據(jù)并避免存儲(chǔ)空間浪費(fèi)。為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的方法,所述柵格數(shù)據(jù)包括M*N個(gè)柵格點(diǎn),所述M為行,N為列,包括按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊;在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù),具體包括
當(dāng)所述柵格塊為無(wú)數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息;當(dāng)所述柵格塊為有數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息;根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。優(yōu)選地,所述柵格塊的大小為m*n個(gè)柵格點(diǎn),所述為m行,η為列;所述按預(yù)置大小對(duì)柵格數(shù)據(jù)劃分柵格塊的步驟包括當(dāng)M不能整除m時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的行數(shù)令M能整除m ;當(dāng)N不能整除η時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的列數(shù)令N能整除η?!?br>
優(yōu)選地,所述方法還包括將所述柵格數(shù)據(jù)的基本信息寫(xiě)入柵格數(shù)據(jù)文件,所述柵格數(shù)據(jù)的基本信息包括柵格塊的大小。優(yōu)選地,所述根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的步驟包括讀取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及基本信息中柵格塊的大??;依據(jù)所述塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小計(jì)算得出所述柵格塊的實(shí)際存儲(chǔ)起始位;從所述實(shí)際存儲(chǔ)起始位寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。優(yōu)選地,所述方法還包括在將有數(shù)據(jù)的柵格塊修改為無(wú)數(shù)據(jù)的柵格塊時(shí),則在所述有數(shù)據(jù)柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中,將第二標(biāo)識(shí)修改為第一標(biāo)識(shí),并添加第三標(biāo)識(shí),保留該柵格塊原有數(shù)據(jù)所占的存儲(chǔ)空間。優(yōu)選地,所述方法還包括在針對(duì)在先為有數(shù)據(jù)柵格塊,被修改為無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入新數(shù)據(jù)時(shí),在所述無(wú)數(shù)據(jù)柵格塊的塊數(shù)據(jù)偏移信息中,將第一標(biāo)識(shí)修改為第二標(biāo)識(shí),將新數(shù)據(jù)寫(xiě)入保留的存儲(chǔ)空間中。優(yōu)選地,所述方法還包括在無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入數(shù)據(jù)時(shí),則對(duì)所述柵格塊分配相應(yīng)大小的存儲(chǔ)空間,針對(duì)該柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中添加塊數(shù)據(jù)存儲(chǔ)編號(hào)并將第一標(biāo)識(shí)修改為第二標(biāo)識(shí)。本申請(qǐng)實(shí)施例還公開(kāi)了一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的方法,柵格數(shù)據(jù)文件中包含基本信息,塊數(shù)據(jù)偏移信息,以及有數(shù)據(jù)的柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù);其中,所述基本信息包括柵格塊的大??;所述塊數(shù)據(jù)偏移信息中包含第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào);所述方法包括獲取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息以及基本信息中柵格塊的大小;判斷所述柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中是否為第二標(biāo)識(shí);若為第二標(biāo)識(shí),則依據(jù)所述塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小,計(jì)算解析得到該柵格塊的實(shí)際存儲(chǔ)起始位;
從所述實(shí)際存儲(chǔ)起始位讀取所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。本申請(qǐng)實(shí)施例還公開(kāi)了一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的裝置,所述柵格數(shù)據(jù)包括M*N個(gè)柵格點(diǎn),所述M為行,N為列,包括柵格數(shù)據(jù)劃分模塊,用于按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊;柵格數(shù)據(jù)寫(xiě)入模塊,用于在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù),具體包括無(wú)數(shù)據(jù)柵格塊處理子模塊,用于當(dāng)所述柵格塊為無(wú)數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息;有數(shù)據(jù)柵格塊處理子模塊,用于當(dāng)所述柵格塊為有數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息;柵格塊數(shù)據(jù)寫(xiě)入子模塊,用于根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。優(yōu)選地,所述柵格塊的大小為m*n個(gè)柵格點(diǎn),所述為m行,η為列;所述柵格數(shù)據(jù)劃分模塊包括柵格數(shù)據(jù)行補(bǔ)充子模塊,用于當(dāng)M不能整除m時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的行數(shù)令M能整除m ;柵格數(shù)據(jù)列補(bǔ)充子模塊,用于當(dāng)N不能整除η時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的列數(shù)令N能整除η。 優(yōu)選地,所述裝置還包括基本信息寫(xiě)入模塊,用于將所述柵格數(shù)據(jù)的基本信息寫(xiě)入柵格數(shù)據(jù)文件,所述柵格數(shù)據(jù)的基本信息包括柵格塊的大小。優(yōu)選地,所述柵格塊數(shù)據(jù)寫(xiě)入子模塊包括塊數(shù)據(jù)偏移信息讀取子模塊,用于讀取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及基本信息中柵格塊的大??;存儲(chǔ)起始位計(jì)算子模塊,用于依據(jù)所述塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小計(jì)算得出所述柵格塊的實(shí)際存儲(chǔ)起始位;柵格塊數(shù)據(jù)寫(xiě)入子模塊,用于從所述實(shí)際存儲(chǔ)起始位寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。優(yōu)選地,其特征在于,所述裝置還包括第一修改模塊,用于在將有數(shù)據(jù)的柵格塊修改為無(wú)數(shù)據(jù)的柵格塊時(shí),則在所述有數(shù)據(jù)柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中,將第二標(biāo)識(shí)修改為第一標(biāo)識(shí),并添加第三標(biāo)識(shí),保留該柵格塊原有數(shù)據(jù)所占的存儲(chǔ)空間。優(yōu)選地,所述裝置還包括第二修改模塊,用于在針對(duì)在先為有數(shù)據(jù)柵格塊,被修改為無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入新數(shù)據(jù)時(shí),在所述無(wú)數(shù)據(jù)柵格塊的塊數(shù)據(jù)偏移信息中,將第一標(biāo)識(shí)修改為第二標(biāo)識(shí),將新數(shù)據(jù)寫(xiě)入保留的存儲(chǔ)空間中。 優(yōu)選地,所述裝置還包括第三修改模塊,用于在無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入數(shù)據(jù)時(shí),則對(duì)所述柵格塊分配相應(yīng)大小的存儲(chǔ)空間,針對(duì)該柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中添加塊數(shù)據(jù)存儲(chǔ)編號(hào)并將第一標(biāo)識(shí)修改為第二標(biāo)識(shí)。本申請(qǐng)實(shí)施例還公開(kāi)了一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的裝置,其特征在于,柵格數(shù)據(jù)文件中包含基本信息,塊數(shù)據(jù)偏移信息,以及有數(shù)據(jù)的柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù);其中,所述基本信息包括柵格塊的大??;所述塊數(shù)據(jù)偏移信息中第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào);所述方法包括柵格塊信息獲取模塊,用于獲取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息以及基本信息中柵格塊的大?。慌袛嗄K,用于判斷所述柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中是否為第二標(biāo)識(shí);
處理模塊,用于若為第二標(biāo)識(shí),則依據(jù)所述塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小,計(jì)算解析得到該柵格塊的實(shí)際存儲(chǔ)起始位;柵格塊數(shù)據(jù)讀取模塊,用于從所述實(shí)際存儲(chǔ)起始位讀取所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本申請(qǐng)包括以下優(yōu)點(diǎn)本申請(qǐng)通過(guò)將柵格數(shù)據(jù)按照預(yù)置大小進(jìn)行劃分柵格塊,然后判斷所述柵格塊是有數(shù)據(jù)的柵格塊還是無(wú)數(shù)據(jù)的柵格塊,若為無(wú)數(shù)據(jù)的柵格塊時(shí),則可以針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息;若為有數(shù)據(jù)的柵格塊時(shí),則可以針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息;最后根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),在柵格數(shù)據(jù)文件中寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。本申請(qǐng)只針對(duì)有數(shù)據(jù)的柵格塊分配對(duì)應(yīng)的存儲(chǔ)空間,避免了存儲(chǔ)空間的浪費(fèi),提高柵格數(shù)據(jù)文件的讀寫(xiě)效率。
圖I是本申請(qǐng)的一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的方法實(shí)施I的步驟流程圖;圖2是本申請(qǐng)一種示例中柵格數(shù)據(jù)的柵格點(diǎn)組成示意圖;圖3是本申請(qǐng)一種示例中柵格數(shù)據(jù)劃分為柵格塊后的示意圖;圖4是本申請(qǐng)一種示例中柵格數(shù)據(jù)文件中塊數(shù)據(jù)偏移信息結(jié)構(gòu)示意圖;圖5是本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd存儲(chǔ)結(jié)構(gòu)示意圖;圖6是本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd初始存儲(chǔ)結(jié)構(gòu)示意圖;圖7是本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd中塊數(shù)據(jù)偏移信息結(jié)構(gòu)示意圖;圖8是本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd寫(xiě)入一塊單元后存儲(chǔ)結(jié)構(gòu)示意圖;圖9是本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd存儲(chǔ)結(jié)構(gòu)示意圖;圖10是本申請(qǐng)一種示例中土地利用類(lèi)型柵格數(shù)據(jù)示意圖;圖11是本申請(qǐng)的一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的寫(xiě)入方法實(shí)施例2的步驟流程圖;圖12是本申請(qǐng)的一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的讀取方法實(shí)施例的步驟流程圖;圖13是本申請(qǐng)的一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的寫(xiě)入裝置實(shí)施例的結(jié)構(gòu)框圖14是本申請(qǐng)的一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的讀取裝置實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施例方式為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本申請(qǐng)作進(jìn)一步詳細(xì)的說(shuō)明。本申請(qǐng)實(shí)施例的核心構(gòu)思之一在于通過(guò)將柵格數(shù)據(jù)按照預(yù)置大小進(jìn)行劃分柵格塊,然后判斷所述柵格塊是有數(shù)據(jù)的柵格塊還是無(wú)數(shù)據(jù)的柵格塊,若為無(wú)數(shù)據(jù)的柵格塊時(shí),則可以針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息;若為有數(shù)據(jù)的柵格塊時(shí),則可以針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息;最后根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),在柵格數(shù)據(jù)文件中寫(xiě)入所述柵格塊中 各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。本申請(qǐng)只針對(duì)有數(shù)據(jù)的柵格塊分配對(duì)應(yīng)的存儲(chǔ)空間,避免了存儲(chǔ)空間的浪費(fèi),提高柵格數(shù)據(jù)文件的讀寫(xiě)效率。參照?qǐng)D1,示出了本申請(qǐng)一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的寫(xiě)入方法的實(shí)施例I的步驟流程圖,所述柵格數(shù)據(jù)包括M*N個(gè)柵格點(diǎn),所述M為行,N為列,包括步驟101,按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊;在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述柵格塊的大小可以為m*n個(gè)柵格點(diǎn),所述為m行,η為列;所述按預(yù)置大小對(duì)柵格數(shù)據(jù)劃分柵格塊的步驟包括按照所述m*n個(gè)柵格點(diǎn)的大小,在柵格數(shù)據(jù)的M*N個(gè)柵格點(diǎn)中依次劃分柵格塊;當(dāng)M不能整除m時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的行數(shù)令M能整除m ;當(dāng)N不能整除η時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的列數(shù)令N能整除η ;基于補(bǔ)充后的行數(shù)和列數(shù),按預(yù)置大小對(duì)柵格數(shù)據(jù)文件劃分柵格塊。參照?qǐng)D2所示的本申請(qǐng)一種示例中柵格數(shù)據(jù)的柵格點(diǎn)組成的示意圖,圖中的柵格數(shù)據(jù)包括Μ*Ν個(gè)柵格點(diǎn),其中,M為柵格數(shù)據(jù)的行,N為柵格數(shù)據(jù)的列。參照?qǐng)D3所示的本申請(qǐng)一種示例中柵格數(shù)據(jù)劃分為柵格塊后的示意圖,設(shè)置柵格塊的大小為T(mén) = m*n個(gè)柵格點(diǎn),按此對(duì)柵格數(shù)據(jù)進(jìn)行劃分。對(duì)于M不能整除m和(或)N不能整除η時(shí),補(bǔ)充柵格數(shù)據(jù)的行數(shù)和(或)列數(shù),使柵格數(shù)據(jù)可以劃分成r*c個(gè)柵格塊,其中,r = [M/m], C= [N/n]。步驟102,在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù),具體可以包括子步驟11,當(dāng)所述柵格塊為無(wú)數(shù)據(jù)的柵格塊時(shí),則可以針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息;子步驟12,當(dāng)所述柵格塊為有數(shù)據(jù)的柵格塊時(shí),則可以針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息;假設(shè)塊數(shù)據(jù)偏移信息是由r*c個(gè)4字節(jié)的整型數(shù)組成,初始值均為0,每個(gè)柵格塊對(duì)應(yīng)存儲(chǔ)一個(gè)整型數(shù),具體構(gòu)成方法如下柵格塊對(duì)應(yīng)的整型數(shù)的二進(jìn)制數(shù)最高位(第31位)表示此柵格塊是屬于無(wú)數(shù)據(jù)柵格塊或者有數(shù)據(jù)的柵格塊,如果是無(wú)數(shù)據(jù)的柵格塊(即此柵格塊的m*n個(gè)柵格點(diǎn)都是無(wú)數(shù)據(jù)柵格點(diǎn)),則對(duì)此柵格塊分配第一標(biāo)識(shí),例如可以用最高位取O表示第一標(biāo)識(shí);如果是有數(shù)據(jù)柵格塊,則對(duì)此柵格塊分配第二標(biāo)識(shí),例如可以用最高位取I表示第二標(biāo)識(shí),表示此柵格塊含有正常柵格點(diǎn)數(shù)值,其余下的31位用來(lái)記錄此柵格塊的塊數(shù)據(jù)存儲(chǔ)編號(hào),例如可以從O開(kāi)始按序記錄。塊數(shù)據(jù)偏移信息總共占用TilesOffsetInfoSize = r*c*4字節(jié)大小的存儲(chǔ)空間。
參照?qǐng)D4所示的本申請(qǐng)一種示例中塊數(shù)據(jù)偏移信息的結(jié)構(gòu)示意圖,柵格塊A的塊數(shù)據(jù)偏移信息a為4字節(jié)的整型數(shù),用二進(jìn)制可以表示為1+余下的31位,即表示此塊的塊數(shù)據(jù)存儲(chǔ)編號(hào);同樣,當(dāng)柵格塊B的塊數(shù)據(jù)偏移信息b的二進(jìn)制表示為00+余下的30位,即表示此塊為無(wú)數(shù)據(jù)值,未曾為此塊分配存儲(chǔ)空間;當(dāng)柵格塊C的塊數(shù)據(jù)偏移信息c用二進(jìn)制表示為01+余下的30位,即表示此塊為無(wú)數(shù)據(jù)值,但曾經(jīng)是有數(shù)值的柵格塊,分配過(guò)存儲(chǔ)空間,后來(lái)被編輯修改為無(wú)數(shù)據(jù)柵格塊。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,還可以包括如下步驟將所述柵格數(shù)據(jù)的基本信息寫(xiě)入柵格數(shù)據(jù)文件,所述柵格數(shù)據(jù)的基本信息可以包括柵格塊的大小。具體的,所述基本信息可以包括柵格數(shù)據(jù)的柵格寬度,高度,柵格塊寬度,柵格塊高度,柵格投影信息,柵格邊界范圍等,具體內(nèi)容可以由本領(lǐng)域技術(shù)人員根據(jù)實(shí)際應(yīng)用進(jìn)行設(shè)置,其所占用的存儲(chǔ)空間可以設(shè)置為基本信息中的全部信息所占的字節(jié)個(gè)數(shù)。參考圖5 所示的本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd存儲(chǔ)結(jié)構(gòu)示意圖,應(yīng)用本實(shí)施例,所述柵格數(shù)據(jù)文件可以包括基本信息、塊數(shù)據(jù)偏移信息、柵格塊的數(shù)據(jù)三部分。子步驟13,根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的步驟包括子步驟SI,讀取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及基本信息中柵格塊的大小;子步驟S2,依據(jù)所述塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小計(jì)算得出所述柵格塊的實(shí)際存儲(chǔ)起始位;子步驟S3,從所述實(shí)際存儲(chǔ)起始位寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。例如,當(dāng)需要寫(xiě)入柵格塊i (I <=r*c)數(shù)據(jù)時(shí),先從塊數(shù)據(jù)偏移信息中讀取柵格塊i的塊數(shù)據(jù)存儲(chǔ)編號(hào),也即塊數(shù)據(jù)偏移信息中第i個(gè)整型數(shù)a。若整型數(shù)a的二進(jìn)制數(shù)的最高位(第31位)是1,表示其已經(jīng)在文件中為其分配了存儲(chǔ)空間,則取其O位到31位表示的數(shù)值,進(jìn)行b = a&0x7FFF運(yùn)算,將最高位置0,得到該柵格塊的塊數(shù)據(jù)存儲(chǔ)編號(hào)b,然后再套用公式f = BaseInfoSize+r*c*sizeof (int)+m*n* 每柵格點(diǎn)字節(jié)大小 *b ;其中,BaseInfoSize表示基本信息占用的空間大小。從柵格數(shù)據(jù)的文件頭按偏移量f偏移相應(yīng)的字節(jié),就可以得到該柵格塊的數(shù)據(jù)的實(shí)際存儲(chǔ)起始位置。假設(shè)設(shè)置的柵格塊的大小為T(mén) = m*n個(gè)柵格點(diǎn),從基本信息中得到每個(gè)柵格塊數(shù)據(jù)所占的存儲(chǔ)空間為T(mén)ileSize = m*n*每柵格點(diǎn)字節(jié)大小,在柵格數(shù)據(jù)文件中從計(jì)算得出的實(shí)際存儲(chǔ)起始位置寫(xiě)入柵格塊i的數(shù)據(jù)。假設(shè)預(yù)置柵格塊的大小為m*n = 256*256 ;每個(gè)柵格點(diǎn)的數(shù)據(jù)為4字節(jié)的浮點(diǎn)型數(shù),柵格數(shù)據(jù)文件的基本信息中包含柵格點(diǎn)寬度RW,高度RH,柵格塊單元寬度TW以及高度TH,每個(gè)數(shù)值均用4字節(jié)整型數(shù)存儲(chǔ);假設(shè)柵格數(shù)據(jù)由r*c = 512*512個(gè)柵格塊組成,寫(xiě)入柵格塊數(shù)據(jù)之前,參照?qǐng)D6所示的本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd初始存儲(chǔ)結(jié)構(gòu),包括基本信息以及塊數(shù)據(jù)偏移信息,其中,塊數(shù)據(jù)偏移信息的初始值為O。參照?qǐng)D7所示的本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd寫(xiě)入第一個(gè)柵格塊后的存儲(chǔ)結(jié)構(gòu)示意圖,在柵格數(shù)據(jù)文件Raster, rd寫(xiě)入第一個(gè)柵格塊的數(shù)據(jù)后,柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息a為a = 2147483648,轉(zhuǎn)換為二進(jìn)制表示后則為a = 10000000000000000000000000000000,a的最高位為I表示此柵格塊為有數(shù)據(jù)的柵格塊,其余31位表示此塊真實(shí)塊數(shù)據(jù)存儲(chǔ)編號(hào)。參照?qǐng)D8所示的本申請(qǐng)一種示例中在柵格數(shù)據(jù)文件中寫(xiě)入無(wú)數(shù)據(jù)的柵格塊存儲(chǔ)結(jié)構(gòu)示意圖,b是無(wú)數(shù)據(jù)柵格塊的塊數(shù)據(jù)偏移信息,對(duì)于無(wú)數(shù)據(jù)的柵格塊不進(jìn)行存儲(chǔ)空間分配,b的二進(jìn)制表示為00+余下30位O,用整型數(shù)表示則b = 0。參照?qǐng)D9所示的本申請(qǐng)一種示例中柵格數(shù)據(jù)文件Raster, rd存儲(chǔ)結(jié)構(gòu)示意圖,圖中的a,c,h均為有數(shù)據(jù)的柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息,故最高位都為I且對(duì)應(yīng)的塊數(shù)據(jù)存儲(chǔ)編號(hào),并且分配了對(duì)應(yīng)的存儲(chǔ)空間。b為無(wú)數(shù)據(jù)的柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息,故最高位為0,不分配塊數(shù)據(jù)存儲(chǔ)編號(hào),且沒(méi)有分配存儲(chǔ)空間。應(yīng)用本申請(qǐng)實(shí)施例,如果柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息的第31位、第30位是00,則表示該上塊是未曾分配存儲(chǔ)空間的無(wú)數(shù)據(jù)的柵格塊,假設(shè)現(xiàn)在需要往此塊寫(xiě)入實(shí)際數(shù)據(jù),以CurFileSize表示當(dāng)前文件字節(jié)大小,就從柵格數(shù)據(jù)文件末尾開(kāi)始為其分配 TileSize = m*n*每柵格點(diǎn)字節(jié)大小的空間來(lái)存儲(chǔ)柵格塊的數(shù)據(jù),則先需要計(jì)算分配的塊數(shù)據(jù)存儲(chǔ)編號(hào) j = (CurFileSize-BaseInfoSize_r*c*sizeof (int))/(m*n* 每柵格點(diǎn)字節(jié)大小),假設(shè)將當(dāng)前的塊數(shù)據(jù)存儲(chǔ)編號(hào)j寫(xiě)入塊數(shù)據(jù)偏移信息中第i個(gè)整型數(shù)中低31位中去,這個(gè)整型數(shù)的第31位為I ;如果其第31位、第30位是01,則表示該塊曾經(jīng)在文件里為其分配過(guò)存儲(chǔ)空間,塊數(shù)據(jù)存儲(chǔ)編號(hào)為c = a&0x3FFF(將前兩位置O);現(xiàn)在無(wú)需再分配存儲(chǔ)空間,直接往其分配過(guò)的存儲(chǔ)空間寫(xiě)入數(shù)據(jù)即可。按本申請(qǐng)實(shí)施例的方法,存儲(chǔ)的柵格數(shù)據(jù)文件數(shù)據(jù)量可達(dá)到海量級(jí)別;假設(shè)柵格柵格點(diǎn)的數(shù)據(jù)為I字節(jié)的數(shù),柵格塊的大小為256*256,則理論上本方法可存儲(chǔ)文件大小為256*256*1*1073741824 = 64Tb。足夠滿足一般應(yīng)用需求。同時(shí),根據(jù)上面所敘述方法,本方法對(duì)無(wú)數(shù)據(jù)的柵格塊沒(méi)有實(shí)際分配存儲(chǔ)空間進(jìn)行存儲(chǔ),只針對(duì)有數(shù)據(jù)的柵格塊進(jìn)行分配存儲(chǔ)空間,可以很大程度上避免存儲(chǔ)空間的浪費(fèi)。在實(shí)際項(xiàng)目中,以土地利用類(lèi)型柵格數(shù)據(jù)為例,參照?qǐng)D10所示的本申請(qǐng)一種示例中土地利用類(lèi)型柵格數(shù)據(jù)示意圖,其中所示白色區(qū)域表示的是水域范圍,不屬于土地利用類(lèi)型屬性范疇,在柵格點(diǎn)上視其為無(wú)數(shù)據(jù)值處理,可以用數(shù)值O來(lái)存儲(chǔ)表示。該柵格數(shù)據(jù)分辨率為30米,柵格數(shù)據(jù)的大小為6304*5529 ;柵格塊的個(gè)數(shù)為256*256 ;柵格點(diǎn)以I字節(jié)保存數(shù)值。圖10中可以明顯看出,柵格數(shù)據(jù)中含有大量的無(wú)數(shù)據(jù)的柵格點(diǎn)并且分布比較集中,形成很多的柵格塊都是無(wú)數(shù)據(jù)的柵格塊,按普通做法,每個(gè)柵格塊都分配存儲(chǔ)空間進(jìn)行存儲(chǔ),則大約需要33. 2M空間,而應(yīng)用本申請(qǐng)實(shí)施例,動(dòng)態(tài)地對(duì)有數(shù)據(jù)的柵格塊進(jìn)行分配存儲(chǔ)空間,則只需要1.3M的空間。尤其對(duì)數(shù)據(jù)量非常大的柵格,存儲(chǔ)空間的利用效率提高的更為明顯。參照?qǐng)D11,示出了本申請(qǐng)一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的寫(xiě)入方法的實(shí)施例2的步驟流程圖,所述柵格數(shù)據(jù)包括M*N個(gè)柵格點(diǎn),所述M為行,N為列,包括步驟201,按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊;步驟202,在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù);步驟203,在將有數(shù)據(jù)的柵格塊修改為無(wú)數(shù)據(jù)的柵格塊時(shí),則在所述有數(shù)據(jù)柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中,將第二標(biāo)識(shí)修改為第一標(biāo)識(shí),并添加第三標(biāo)識(shí),保留該柵格塊原有數(shù)據(jù)所占的存儲(chǔ)空間。若要將有數(shù)據(jù)的柵格塊修改為無(wú)數(shù)據(jù)的柵格塊,則只需要修改此柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息a,保留該柵格塊原有數(shù)據(jù)所占的存儲(chǔ)空間,將a第二標(biāo)識(shí)修改為第一標(biāo)識(shí),所述第一標(biāo)識(shí)可以為塊數(shù)據(jù)偏移信息的最高位取0,所述第二標(biāo)識(shí)可以為塊數(shù)據(jù)偏移信息的最高位取1,具體的,將a的最高位由第一標(biāo)識(shí)I改為第二標(biāo)識(shí)0,由于此柵格塊已經(jīng)分配過(guò)存儲(chǔ)空間,所以為在a中添加第三標(biāo)識(shí),所述第三標(biāo)識(shí)可以為塊數(shù)據(jù)偏移信息的30位取I,具體地,將a的第30位取值為1,其余第O到29位全為0,轉(zhuǎn)換整型數(shù)為a = 23° =1073741824。步驟204,在針對(duì)在先為有數(shù)據(jù)柵格塊,被修改為無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入新數(shù)據(jù)時(shí),在所述無(wú)數(shù)據(jù)柵格塊的塊數(shù)據(jù)偏移信息中,將第一標(biāo)識(shí)修改為第二標(biāo)識(shí),將新數(shù)據(jù)寫(xiě)入保留的存儲(chǔ)空間中。在具體實(shí)現(xiàn)中,第一標(biāo)識(shí)可以為塊數(shù)據(jù)偏移信息的最高位取0,第二標(biāo)識(shí)可以為塊數(shù)據(jù)偏移信息的最高位取1,第三標(biāo)識(shí)可以為塊數(shù)據(jù)偏移信息的30位取I。若要在柵格數(shù)據(jù)文件中將數(shù)據(jù)寫(xiě)入原先為有數(shù)據(jù)的柵格塊,后來(lái)被修改為無(wú)數(shù)據(jù)的柵格塊中,首先通過(guò)讀取此柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息a得知其第31位、第30位為01,表示現(xiàn)在該柵格塊為無(wú)數(shù)據(jù)柵格塊,但是曾經(jīng)為該塊分配過(guò)存儲(chǔ)空間,所以,可以直接定位到之前為此柵格塊的實(shí)際塊數(shù)據(jù)地址,在所述實(shí)際塊數(shù)據(jù)地址寫(xiě)入新的數(shù)據(jù)即可,同時(shí),將a的第一標(biāo)識(shí)修改為第二標(biāo)識(shí),即將a的最高位修改為I。步驟205,在無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入數(shù)據(jù)時(shí),則對(duì)所述柵格塊分配相應(yīng)大小的存儲(chǔ)空間,針對(duì)該柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中添加塊數(shù)據(jù)存儲(chǔ)編號(hào)并將第一標(biāo)識(shí)修改為第二標(biāo)識(shí)。若要在無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入數(shù)據(jù),則需要對(duì)柵格塊分配存儲(chǔ)空間,若柵格點(diǎn)占用的存儲(chǔ)空間大小為4字節(jié),則在當(dāng)前文件末尾分配大小為256*256*4字節(jié)的柵格塊數(shù)據(jù)存儲(chǔ)空間,并改寫(xiě)在此柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息b的值,將第一標(biāo)識(shí)修改為第二標(biāo)識(shí),即將b最高位修改為1,用余下的31位表示剛剛分配的塊數(shù)據(jù)存儲(chǔ)編號(hào)。參照?qǐng)D12,示出了本申請(qǐng)一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的讀取方法的實(shí)施例的步驟流程圖,柵格數(shù)據(jù)文件中包含基本信息,塊數(shù)據(jù)偏移信息,以及有數(shù)據(jù)的柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù);其中,所述基本信息包括柵格塊的大小;所述塊數(shù)據(jù)偏移信息中包含第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào);所述方法包括步驟301,獲取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息以及基本信息中柵格塊的大小;步驟302,判斷所述柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中為第一標(biāo)識(shí)或第二標(biāo)識(shí);步驟303,若為第二標(biāo)識(shí),則依據(jù)所述塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小,計(jì)算解析得到該柵格塊的實(shí)際存儲(chǔ)起始位;若柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中為第二標(biāo)識(shí),表示此柵格塊為有數(shù)據(jù)的柵格塊,柵格數(shù)據(jù)文件中對(duì)其分配對(duì)應(yīng)的存儲(chǔ)空間。步驟304,從所述實(shí)際存儲(chǔ)起始位讀取所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)。應(yīng)用本申請(qǐng)實(shí)施例,所述第二標(biāo)識(shí)可以為塊數(shù)據(jù)偏移信息中的整型數(shù)最高位取1,例如,當(dāng)需要讀取柵格塊k數(shù)據(jù)時(shí),先從柵格塊k對(duì)應(yīng)的塊數(shù)據(jù)偏移信息,也即第k個(gè)柵格塊對(duì)應(yīng)的整型數(shù)a。若整型數(shù)a的二進(jìn)制數(shù)的最高位是1,即塊數(shù)據(jù)偏移信息中的為第二標(biāo)識(shí),表示其已經(jīng)在文件中為其分配了存儲(chǔ)空間,則取其O位到31位表示的數(shù)值,進(jìn)行b =a&0x7FFF運(yùn)算,將最高位置O,得到該柵格塊的塊數(shù)據(jù)存儲(chǔ)編號(hào)b,然后再套用公式f = BaseInfoSize+r*c*sizeof (int)+m*n* 每柵格點(diǎn)字節(jié)大小 *b ;其中,BaseInfoSize表示基本信息占用的空間大小。從柵格數(shù)據(jù)的文件頭按偏移量f偏移相應(yīng)的字節(jié),就得到柵格塊k的數(shù)據(jù)的實(shí)際存儲(chǔ)起始位置。假設(shè)設(shè)置的柵格塊的大小為T(mén) = m*n個(gè)柵格點(diǎn),從基本信息中得到每個(gè)柵格塊數(shù)據(jù)所占的存儲(chǔ)空間為T(mén)ileSize =m*n*每柵格點(diǎn)字節(jié)大小,在柵格數(shù)據(jù)文件中從計(jì)算得出的實(shí)際存儲(chǔ)起始位置讀取該柵格塊k的各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。參照?qǐng)D13,示出了本申請(qǐng)一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的寫(xiě)入裝置的實(shí)施例的結(jié)構(gòu)框圖,所述柵格數(shù)據(jù)包括M*N個(gè)柵格點(diǎn),所述M為行,N為列,包括柵格數(shù)據(jù)劃分模塊401,用于按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊;·在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述柵格塊的大小為m*n個(gè)柵格點(diǎn),所述為m行,η為列;所述柵格數(shù)據(jù)劃分模塊包括柵格數(shù)據(jù)行補(bǔ)充子模塊,用于當(dāng)M不能整除m時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的行數(shù)令M能整除m ;柵格數(shù)據(jù)列補(bǔ)充子模塊,用于當(dāng)N不能整除η時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的列數(shù)令N能整除η。柵格數(shù)據(jù)寫(xiě)入模塊402,用于在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù),具體包括無(wú)數(shù)據(jù)柵格塊處理子模塊41,用于當(dāng)所述柵格塊為無(wú)數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息;有數(shù)據(jù)柵格塊處理子模塊42,用于當(dāng)所述柵格塊為有數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息;柵格塊數(shù)據(jù)寫(xiě)入子模塊43,用于根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述裝置還包括基本信息寫(xiě)入模塊,用于將所述柵格數(shù)據(jù)的基本信息寫(xiě)入柵格數(shù)據(jù)文件,所述柵格數(shù)據(jù)的基本信息包括柵格塊的大小。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述柵格塊數(shù)據(jù)寫(xiě)入子模塊43包括塊數(shù)據(jù)偏移信息讀取子模塊,用于讀取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及基本信息中柵格塊的大小;存儲(chǔ)起始位計(jì)算子模塊,用于依據(jù)所述塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小計(jì)算得出所述柵格塊的實(shí)際存儲(chǔ)起始位;柵格塊數(shù)據(jù)寫(xiě)入子模塊,用于從所述實(shí)際存儲(chǔ)起始位寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。在本申請(qǐng)的一種優(yōu)選實(shí)施例中,所述裝置還包括第一修改模塊,用于在將有數(shù)據(jù)的柵格塊修改為無(wú)數(shù)據(jù)的柵格塊時(shí),則在所述有數(shù)據(jù)柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中,將第二標(biāo)識(shí)修改為第一標(biāo)識(shí),并添加第三標(biāo)識(shí),保留該柵格塊原有數(shù)據(jù)所占的存儲(chǔ)空間。第三修改模塊,用于在無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入數(shù)據(jù)時(shí),則對(duì)所述柵格塊分配相應(yīng)大小的存儲(chǔ)空間,針對(duì)該柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中添加塊數(shù)據(jù)存儲(chǔ)編號(hào)并將第一標(biāo)識(shí)修改為第二標(biāo)識(shí)。第二修改模塊,用于在針對(duì)在先為有數(shù)據(jù)柵格塊,被修改為無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入新數(shù)據(jù)時(shí),在所述無(wú)數(shù)據(jù)柵格塊的塊數(shù)據(jù)偏移信息中,將第一標(biāo)識(shí)修改為第二標(biāo)識(shí),將新數(shù)據(jù)寫(xiě)入保留的存儲(chǔ)空間中。對(duì)于圖13所示的裝置實(shí)施例而言,由于其與圖I和圖11所示的方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。參照?qǐng)D14,示出了本申請(qǐng)一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)的讀取裝置的實(shí)施例的結(jié)構(gòu)框圖,柵格數(shù)據(jù)文件中包含基本信息,塊數(shù)據(jù)偏移信息,以及有數(shù)據(jù)的柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù);其中,所述基本信息包括柵格塊的大小;所述塊數(shù)據(jù)偏移信息中包含第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào);所述方法包括柵格塊信息獲取模塊501,用于獲取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息以及基本信息中柵格塊的大??;判斷模塊502,用于判斷所述柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中為第一標(biāo)識(shí)或第二標(biāo)識(shí);第二標(biāo)識(shí)模塊503,用于若為第二標(biāo)識(shí),則依據(jù)所述塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小,計(jì)算解析得到該柵格塊的實(shí)際存儲(chǔ)起始位;柵格塊數(shù)據(jù)讀取模塊504,用于從所述實(shí)際存儲(chǔ)起始位讀取所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。對(duì)于圖14所示的裝置實(shí)施例而言,由于其與圖12所示的方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能·的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。最后,還需要說(shuō)明的是,在本文中,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些 要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)
備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)......”限定的要素,并不
排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。以上對(duì)本申請(qǐng)所提供的一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的方法及裝置,以及,一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的方法及裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。
權(quán)利要求
1.一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的方法,其特征在于,所述柵格數(shù)據(jù)包括M*N個(gè)柵格點(diǎn),所述M為行,N為列,包括 按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊; 在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù),具體包括 當(dāng)所述柵格塊為無(wú)數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息; 當(dāng)所述柵格塊為有數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息; 根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述柵格塊的大小為m*n個(gè)柵格點(diǎn),所述為m行,η為列;所述按預(yù)置大小對(duì)柵格數(shù)據(jù)劃分柵格塊的步驟包括 當(dāng)M不能整除m時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的行數(shù)令M能整除m ; 當(dāng)N不能整除η時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的列數(shù)令N能整除η。
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,還包括 將所述柵格數(shù)據(jù)的基本信息寫(xiě)入柵格數(shù)據(jù)文件,所述柵格數(shù)據(jù)的基本信息包括柵格塊的大小。
4.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)的步驟包括 讀取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及基本信息中柵格塊的大小; 依據(jù)所述塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小計(jì)算得出所述柵格塊的實(shí)際存儲(chǔ)起始位; 從所述實(shí)際存儲(chǔ)起始位寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。
5.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,還包括 在將有數(shù)據(jù)的柵格塊修改為無(wú)數(shù)據(jù)的柵格塊時(shí),則在所述有數(shù)據(jù)柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中,將第二標(biāo)識(shí)修改為第一標(biāo)識(shí),并添加第三標(biāo)識(shí),保留該柵格塊原有數(shù)據(jù)所占的存儲(chǔ)空間。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括 在針對(duì)在先為有數(shù)據(jù)柵格塊,被修改為無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入新數(shù)據(jù)時(shí),在所述無(wú)數(shù)據(jù)柵格塊的塊數(shù)據(jù)偏移信息中,將第一標(biāo)識(shí)修改為第二標(biāo)識(shí),將新數(shù)據(jù)寫(xiě)入保留的存儲(chǔ)空間中。
7.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,還包括 在無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入數(shù)據(jù)時(shí),則對(duì)所述柵格塊分配相應(yīng)大小的存儲(chǔ)空間,針對(duì)該柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中添加塊數(shù)據(jù)存儲(chǔ)編號(hào)并將第一標(biāo)識(shí)修改為第二標(biāo)識(shí)。
8.—種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的方法,其特征在于,柵格數(shù)據(jù)文件中包含基本信息,塊數(shù)據(jù)偏移信息,以及有數(shù)據(jù)的柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù);其中,所述基本信息包括柵格塊的大??;所述塊數(shù)據(jù)偏移信息中包含第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào);所述方法包括 獲取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息以及基本信息中柵格塊的大??;判斷所述柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中是否為第二標(biāo)識(shí); 若為第二標(biāo)識(shí),則依據(jù)所述塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小,計(jì)算解析得到該柵格塊的實(shí)際存儲(chǔ)起始位; 從所述實(shí)際存儲(chǔ)起始位讀取所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。
9.一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入的裝置,其特征在于,所述柵格數(shù)據(jù)包括M*N個(gè)柵格點(diǎn),所述M為行,N為列,包括 柵格數(shù)據(jù)劃分模塊,用于按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊; 柵格數(shù)據(jù)寫(xiě)入模塊,用于在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù),具體包括 無(wú)數(shù)據(jù)柵格塊處理子模塊,用于當(dāng)所述柵格塊為無(wú)數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息; 有數(shù)據(jù)柵格塊處理子模塊,用于當(dāng)所述柵格塊為有數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移息; 柵格塊數(shù)據(jù)寫(xiě)入子模塊,用于根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述柵格塊的大小為m*n個(gè)柵格點(diǎn),所述為m行,η為列;所述柵格數(shù)據(jù)劃分模塊包括 柵格數(shù)據(jù)行補(bǔ)充子模塊,用于當(dāng)M不能整除m時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的行數(shù)令M能整除m ; 柵格數(shù)據(jù)列補(bǔ)充子模塊,用于當(dāng)N不能整除η時(shí),則補(bǔ)充對(duì)應(yīng)柵格數(shù)據(jù)的列數(shù)令N能整除η。
11.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,還包括 基本信息寫(xiě)入模塊,用于將所述柵格數(shù)據(jù)的基本信息寫(xiě)入柵格數(shù)據(jù)文件,所述柵格數(shù)據(jù)的基本信息包括柵格塊的大小。
12.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述柵格塊數(shù)據(jù)寫(xiě)入子模塊包括 塊數(shù)據(jù)偏移信息讀取子模塊,用于讀取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及基本信息中柵格塊的大??; 存儲(chǔ)起始位計(jì)算子模塊,用于依據(jù)所述塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小計(jì)算得出所述柵格塊的實(shí)際存儲(chǔ)起始位; 柵格塊數(shù)據(jù)寫(xiě)入子模塊,用于從所述實(shí)際存儲(chǔ)起始位寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。
13.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,還包括 第一修改模塊,用于在將有數(shù)據(jù)的柵格塊修改為無(wú)數(shù)據(jù)的柵格塊時(shí),則在所述有數(shù)據(jù)柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中,將第二標(biāo)識(shí)修改為第一標(biāo)識(shí),并添加第三標(biāo)識(shí),保留該柵格塊原有數(shù)據(jù)所占的存儲(chǔ)空間。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,還包括 第二修改模塊,用于在針對(duì)在先為有數(shù)據(jù)柵格塊,被修改為無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入新數(shù)據(jù)時(shí),在所述無(wú)數(shù)據(jù)柵格塊的塊數(shù)據(jù)偏移信息中,將第一標(biāo)識(shí)修改為第二標(biāo)識(shí),將新數(shù)據(jù)寫(xiě)入保留的存儲(chǔ)空間中。
15.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,還包括 第三修改模塊,用于在無(wú)數(shù)據(jù)的柵格塊中寫(xiě)入數(shù)據(jù)時(shí),則對(duì)所述柵格塊分配相應(yīng)大小的存儲(chǔ)空間,針對(duì)該柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中添加塊數(shù)據(jù)存儲(chǔ)編號(hào)并將第一標(biāo)識(shí)修改為第二標(biāo)識(shí)。
16.一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)讀取的裝置,其特征在于,柵格數(shù)據(jù)文件中包含基本信息,塊數(shù)據(jù)偏移信息,以及有數(shù)據(jù)的柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù);其中,所述基本信息包括柵格塊的大?。凰鰤K數(shù)據(jù)偏移信息中第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào);所述方法包括 柵格塊信息獲取模塊,用于獲取柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息以及基本信息中柵格塊的大??; 判斷模塊,用于判斷所述柵格塊對(duì)應(yīng)的塊數(shù)據(jù)偏移信息中是否為第二標(biāo)識(shí); 處理模塊,用于若為第二標(biāo)識(shí),則依據(jù)所述塊數(shù)據(jù)偏移信息中的塊數(shù)據(jù)存儲(chǔ)編號(hào)以及柵格塊的大小,計(jì)算解析得到該柵格塊的實(shí)際存儲(chǔ)起始位; 柵格塊數(shù)據(jù)讀取模塊,用于從所述實(shí)際存儲(chǔ)起始位讀取所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種包含無(wú)數(shù)據(jù)的柵格數(shù)據(jù)寫(xiě)入及讀取的方法及裝置,其中,所述方法包括按預(yù)置大小對(duì)所述柵格數(shù)據(jù)劃分柵格塊;在柵格數(shù)據(jù)文件中針對(duì)所述柵格塊寫(xiě)入相應(yīng)的數(shù)據(jù),具體包括當(dāng)所述柵格塊為無(wú)數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第一標(biāo)識(shí),并按照所述第一標(biāo)識(shí)生成塊數(shù)據(jù)偏移信息;當(dāng)所述柵格塊為有數(shù)據(jù)的柵格塊時(shí),則針對(duì)該柵格塊分配第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),并按照所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào)生成塊數(shù)據(jù)偏移信息;根據(jù)所述第二標(biāo)識(shí)以及塊數(shù)據(jù)存儲(chǔ)編號(hào),寫(xiě)入所述柵格塊中各柵格點(diǎn)對(duì)應(yīng)的數(shù)據(jù)。本發(fā)明可以在柵格數(shù)據(jù)中包含一定數(shù)量無(wú)數(shù)據(jù)柵格塊情況下,能高效讀取柵格數(shù)據(jù)并避免存儲(chǔ)空間浪費(fèi)。
文檔編號(hào)G06F17/30GK102937962SQ201210345629
公開(kāi)日2013年2月20日 申請(qǐng)日期2012年9月17日 優(yōu)先權(quán)日2012年9月17日
發(fā)明者孫成寶, 鄭國(guó)柱 申請(qǐng)人:北京地拓科技發(fā)展有限公司