本申請(qǐng)?zhí)峁┝艘环N柵格數(shù)據(jù)的存儲(chǔ)、讀取方法及裝置,其中,所述柵格數(shù)據(jù)存儲(chǔ)的方法包括:步驟S101,獲取原始柵格數(shù)據(jù);步驟S102,依次提取9個(gè)連續(xù)柵格單元的值;步驟S103,采用第一目標(biāo)數(shù)值代替所述9個(gè)連續(xù)柵格單元的值并存儲(chǔ)在一個(gè)目標(biāo)柵格單元中;步驟S104,若提取到的連續(xù)柵格單元不足9個(gè),則將不足9個(gè)連續(xù)原始柵格單元的柵格單元數(shù)記為N,采用第二目標(biāo)數(shù)值代替所述N個(gè)原始柵格單元的值并存儲(chǔ)在一個(gè)目標(biāo)柵格單元中;步驟S105,判斷是否遍歷完K*L個(gè)柵格單元,若是,則執(zhí)行步驟S106;若否,則返回步驟S102。本申請(qǐng)可以節(jié)省柵格數(shù)據(jù)的存儲(chǔ)空間,提高柵格數(shù)據(jù)的處理效率。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉 及柵格數(shù)據(jù)處理的
,特別是涉及到ー種柵格數(shù)據(jù)的存儲(chǔ)、讀取方法及裝置。
技術(shù)介紹
柵格數(shù)據(jù)是以ニ維矩陣的形式來(lái)表示空間地物或現(xiàn)象分布的數(shù)據(jù)組織方式,每個(gè)矩陣單位稱(chēng)為ー個(gè)柵格單元,柵格的每個(gè)數(shù)據(jù)表示地物或現(xiàn)象的屬性數(shù)據(jù)。隨著地理信息系統(tǒng)(GIS、Geographic Information System)應(yīng)用于各個(gè)行業(yè),在實(shí)際應(yīng)用中,大量使用海量柵格數(shù)據(jù),帶來(lái)應(yīng)用系統(tǒng)的存儲(chǔ)空間、性能要求與網(wǎng)絡(luò)傳輸以及運(yùn)算量等技術(shù)難點(diǎn)。尤其在ー些GIS軟件中,海量柵格數(shù)據(jù)的存儲(chǔ)管理以及網(wǎng)絡(luò)傳輸速率往往是性能瓶頸。假設(shè)柵格數(shù)據(jù)是由K行L列個(gè)柵格單元組成,每個(gè)柵格單元存儲(chǔ)的是O到9的整數(shù)值。若采用普通方法,每個(gè)柵格単元用I字節(jié)進(jìn)行存儲(chǔ),則需要K*L個(gè)字節(jié),所需的存儲(chǔ)空間非常大,這對(duì)系統(tǒng)的存儲(chǔ)、性能,以及網(wǎng)絡(luò)的傳輸效率都要求很高。因此,本領(lǐng)域技術(shù)人員迫切需要解決的ー個(gè)技術(shù)問(wèn)題在于,如何節(jié)省柵格數(shù)據(jù)的存儲(chǔ)空間,提高柵格數(shù)據(jù)的處理效率。
技術(shù)實(shí)現(xiàn)思路
本申請(qǐng)?zhí)峁┅`種柵格數(shù)據(jù)的存儲(chǔ)、讀取方法及裝置,用以節(jié)省柵格數(shù)據(jù)的存儲(chǔ)空間,提高柵格數(shù)據(jù)的處理效率。為了解決上述問(wèn)題,本申請(qǐng)公開(kāi)了ー種柵格數(shù)據(jù)的存儲(chǔ)方法,包括步驟S101,獲取原始柵格數(shù)據(jù),所述原始柵格數(shù)據(jù)包括原始柵格數(shù)據(jù)基本信息和原始柵格單元的值;所述原始柵格數(shù)據(jù)基本信息為原始柵格數(shù)據(jù)包括K*L個(gè)柵格単元;其中,所述K為行,L為列;所述原始柵格單元的值都是分布在O到9之間的整數(shù);步驟S102,在所述K*L個(gè)柵格單元中依次從第一個(gè)未提取的原始柵格單元開(kāi)始,按照預(yù)設(shè)提取方式提取9個(gè)連續(xù)原始柵格單元的值;步驟S103,采用第一目標(biāo)數(shù)值代替所述9個(gè)連續(xù)原始柵格單元的值并存儲(chǔ)在ー個(gè)目標(biāo)柵格単元中;所述第一目標(biāo)數(shù)值為根據(jù)9個(gè)連續(xù)原始柵格單元的值生成的ー個(gè)9位整數(shù);所述存儲(chǔ)包括將第一目標(biāo)數(shù)值存儲(chǔ)為4字節(jié)的int型;步驟S104,若提取到的連續(xù)原始柵格單元不足9個(gè),則將不足9個(gè)連續(xù)原始柵格單元的柵格單元數(shù)記為N,采用第二目標(biāo)數(shù)值代替所述N個(gè)的原始柵格單元的值并存儲(chǔ)在ー個(gè)目標(biāo)柵格単元中;所述第二目標(biāo)數(shù)值為根據(jù)所述N個(gè)連續(xù)原始柵格單元的數(shù)值補(bǔ)充9-N個(gè)特征值后生成的ー個(gè)9位整數(shù);所述存儲(chǔ)包括將第二目標(biāo)數(shù)值存儲(chǔ)為4字節(jié)的int型; 步驟S105,判斷是否遍歷完所述K*L個(gè)柵格単元,若是,則執(zhí)行步驟S106 ;若否,則返回步驟S102 ;步驟S106,將所述目標(biāo)柵格単元的值和目標(biāo)柵格數(shù)據(jù)的基本信息組織為目標(biāo)柵格數(shù)據(jù)并存儲(chǔ);所述目標(biāo)柵格單元的值為第一目標(biāo)數(shù)值和/或第二目標(biāo)數(shù)值;所述目標(biāo)柵格數(shù)據(jù)的基本信息包括原始柵格數(shù)據(jù)基本信息、步驟S102中所述的預(yù)設(shè)提取方式及步驟S104中所述的9-N個(gè)特征值。優(yōu)選地,所述預(yù)設(shè)提取方式包括按每行或每列提取;所述按每行提取包括從左到右或從右到左提取;若每行最后提取到的連續(xù)原始柵格単元不足9個(gè),則執(zhí)行步驟S104 ;所述按每列提取包括從上到下或從下到上提取;每列最后提取到的連續(xù)原始柵格単元不足9個(gè),則執(zhí)行步驟S104。 優(yōu)選地,所述預(yù)設(shè)提取方式包括按整個(gè)柵格數(shù)據(jù)提取;所述按整個(gè)柵格數(shù)據(jù)提取包括把所有的行連接起來(lái)進(jìn)行順次提取;整個(gè)柵格數(shù)據(jù)的最后幾個(gè)連續(xù)柵格單元不足9個(gè),則執(zhí)行步驟S104。優(yōu)選地,所述步驟S103中根據(jù)9個(gè)連續(xù)原始柵格單元的值生成ー個(gè)9位整數(shù)包括將所述9個(gè)連續(xù)原始柵格單元的值,按順序從高位到低位排列得到ー個(gè)9位整數(shù);所述按順序從高位到低位排列,包括提取到的第一個(gè)柵格単元的值放在最高位,最后ー個(gè)柵格単元的值放在最低位。優(yōu)選地,所述特征值為O到9之間的整數(shù)。本申請(qǐng)實(shí)施例還公開(kāi)了一種柵格數(shù)據(jù)讀取的方法,包括步驟S201,讀取目標(biāo)柵格數(shù)據(jù),所述目標(biāo)柵格數(shù)據(jù)包括目標(biāo)柵格數(shù)據(jù)基本信息以及目標(biāo)柵格単元的值;所述目標(biāo)柵格數(shù)據(jù)的基本信息包括原始柵格數(shù)據(jù)基本信息、預(yù)設(shè)提取方式及9-N個(gè)特征值;所述目標(biāo)柵格單元的值包括第一目標(biāo)數(shù)值和第二目標(biāo)數(shù)值;所述第一目標(biāo)數(shù)值為根據(jù)9個(gè)連續(xù)柵格單元的值生成的ー個(gè)9位整數(shù);所述第二目標(biāo)數(shù)值為根據(jù)所述N個(gè)連續(xù)柵格單元的數(shù)值補(bǔ)充9-N個(gè)特征值后生成的ー個(gè)9位整數(shù);所述第一目標(biāo)數(shù)值和第二目標(biāo)數(shù)值均存儲(chǔ)為4字節(jié)的int型;步驟S202,依據(jù)預(yù)設(shè)提取方式生成預(yù)設(shè)還原方式;步驟S203,從第一個(gè)未解析的目標(biāo)柵格數(shù)據(jù)開(kāi)始依次解析所述目標(biāo)柵格數(shù)據(jù)中的柵格單元值,判斷是否第一目標(biāo)數(shù)值或第二目標(biāo)數(shù)值;若為第一目標(biāo)數(shù)值,則執(zhí)行步驟S204,若為第二目標(biāo)數(shù)值,則執(zhí)行步驟S205 ;步驟S204,將所述每個(gè)第一目標(biāo)數(shù)值還原成9個(gè)連續(xù)原始柵格單元的值,并按照預(yù)設(shè)還原方式還原到9個(gè)原始柵格單元中;步驟S205,將所述每個(gè)第二目標(biāo)數(shù)值刪去9-N個(gè)特征值還原成N個(gè)原始連續(xù)柵格単元的值,并按照預(yù)設(shè)還原方式還原到N個(gè)原始柵格單元中;步驟S206,判斷是否遍歷完所述目標(biāo)柵格數(shù)據(jù),若是,則執(zhí)行步驟S207,若否,則返回步驟S203 ;步驟S207,將所述原始柵格單元的值和原始柵格數(shù)據(jù)基本信息組織為原始柵格數(shù)據(jù)并存儲(chǔ);所述原始柵格單元的值為第一目標(biāo)數(shù)值和/或第二目標(biāo)數(shù)值。所述原始柵格數(shù)據(jù)基本信息為原始柵格數(shù)據(jù)包括K*L個(gè)柵格單元;其中,所述K為行,L為列;所述原始柵格單元的值都是分布在O到9之間的整數(shù)。優(yōu)選地,所述依據(jù)預(yù)設(shè)提取方式生成的預(yù)設(shè)還原方式包括若預(yù)設(shè)提取方式為按每行提取,則預(yù)設(shè)還原方式為按每行還原;若預(yù)設(shè)提取方式為按每列提取,則預(yù)設(shè)還原方式為按每列還原;若預(yù)設(shè)提取方式為按整個(gè)柵格數(shù)據(jù)提取,則預(yù)設(shè)還原方式為按整個(gè)柵格數(shù)據(jù)還原。優(yōu)選地,步驟S203包括 從第一個(gè)未解析的目標(biāo)柵格數(shù)據(jù)開(kāi)始依次解析所述目標(biāo)柵格數(shù)據(jù)中的柵格單元值,判斷當(dāng)前目標(biāo)柵格數(shù)據(jù)是否包含特征值,若是,則判定為第二目標(biāo)數(shù)值,若否,則判定為第一目標(biāo)數(shù)值。本申請(qǐng)實(shí)施例還公開(kāi)了一種柵格數(shù)據(jù)存儲(chǔ)的裝置,包括原始柵格數(shù)據(jù)獲取模塊,用于獲取原始柵格數(shù)據(jù),所述原始柵格數(shù)據(jù)包括原始柵格數(shù)據(jù)基本信息和原始柵格單元的值;所述原始柵格數(shù)據(jù)基本信息為原始柵格數(shù)據(jù)包括K*L個(gè)柵格単元;其中,所述K為行,L為列;所述原始柵格單元的值都是分布在O到9之間的整數(shù);柵格單元提取模塊,用于在所述K*L個(gè)柵格單元中依次從第一個(gè)未提取的原始柵格単元開(kāi)始,按照預(yù)設(shè)提取方式提取9個(gè)連續(xù)原始柵格單元的值;第一目標(biāo)數(shù)值生成模塊,用于采用第一目標(biāo)數(shù)值代替所述9個(gè)連續(xù)原始柵格單元的值并存儲(chǔ)在ー個(gè)目標(biāo)柵格單元中;所述第一目標(biāo)數(shù)值為根據(jù)9個(gè)連續(xù)原始柵格單元的值生成的ー個(gè)9位整數(shù);所述存儲(chǔ)包括將第一目標(biāo)數(shù)值存儲(chǔ)為4字節(jié)的int型;第二目標(biāo)數(shù)值生成模塊,用于將不足9個(gè)連續(xù)原始柵格單元的柵格單元數(shù)記為N,采用第二目標(biāo)數(shù)值代替所述N個(gè)的原始柵格單元的值并存儲(chǔ)在ー個(gè)目標(biāo)柵格單元中;所述第二目標(biāo)數(shù)值為根據(jù)所述N個(gè)連續(xù)原始柵格單元的數(shù)值補(bǔ)充9-N個(gè)特征值后生成的ー個(gè)9位整數(shù);所述存儲(chǔ)包括將第二目標(biāo)數(shù)值存儲(chǔ)為4字節(jié)的int型;遍歷判斷模塊,用于判斷是否遍歷完所述K*L個(gè)柵格単元,若是,則調(diào)用目標(biāo)柵格數(shù)據(jù)存儲(chǔ)模塊;若否,則返回柵格單元提取模塊;目標(biāo)柵格數(shù)據(jù)存儲(chǔ)模塊,用于將所述目標(biāo)柵格単元的值和目標(biāo)柵格數(shù)據(jù)的基本信息組織為目標(biāo)柵格數(shù)據(jù)并存儲(chǔ);所述目標(biāo)柵格單元的值為第一目標(biāo)數(shù)值和/或第二目標(biāo)數(shù)值;所述目標(biāo)柵格數(shù)據(jù)的基本信息包括原始柵格數(shù)據(jù)基本信息、柵格單元提取模塊所述的預(yù)設(shè)提取方本文檔來(lái)自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種柵格數(shù)據(jù)的存儲(chǔ)方法,其特征在于,包括:步驟S101,獲取原始柵格數(shù)據(jù),所述原始柵格數(shù)據(jù)包括原始柵格數(shù)據(jù)基本信息和原始柵格單元的值;所述原始柵格數(shù)據(jù)基本信息為:原始柵格數(shù)據(jù)包括K*L個(gè)柵格單元;其中,所述K為行,L為列;所述原始柵格單元的值都是分布在0到9之間的整數(shù);步驟S102,在所述K*L個(gè)柵格單元中依次從第一個(gè)未提取的原始柵格單元開(kāi)始,按照預(yù)設(shè)提取方式提取9個(gè)連續(xù)原始柵格單元的值;步驟S103,采用第一目標(biāo)數(shù)值代替所述9個(gè)連續(xù)原始柵格單元的值并存儲(chǔ)在一個(gè)目標(biāo)柵格單元中;所述第一目標(biāo)數(shù)值為根據(jù)9個(gè)連續(xù)原始柵格單元的值生成的一個(gè)9位整數(shù);所述存儲(chǔ)包括將第一目標(biāo)數(shù)值存儲(chǔ)為4字節(jié)的int型;步驟S104,若提取到的連續(xù)原始柵格單元不足9個(gè),則將不足9個(gè)連續(xù)原始柵格單元的柵格單元數(shù)記為N,采用第二目標(biāo)數(shù)值代替所述N個(gè)的原始柵格單元的值并存儲(chǔ)在一個(gè)目標(biāo)柵格單元中;所述第二目標(biāo)數(shù)值為根據(jù)所述N個(gè)連續(xù)原始柵格單元的數(shù)值補(bǔ)充9?N個(gè)特征值后生成的一個(gè)9位整數(shù);所述存儲(chǔ)包括將第二目標(biāo)數(shù)值存儲(chǔ)為4字節(jié)的int型;步驟S105,判斷是否遍歷完所述K*L個(gè)柵格單元,若是,則執(zhí)行步驟S106;若否,則返回步驟S102;步驟S106,將所述目標(biāo)柵格單元的值和目標(biāo)柵格數(shù)據(jù)的基本信息組織為目標(biāo)柵格數(shù)據(jù)并存儲(chǔ);所述目標(biāo)柵格單元的值為第一目標(biāo)數(shù)值和/或第二目標(biāo)數(shù)值;所述目標(biāo)柵格數(shù)據(jù)的基本信息包括原始柵格數(shù)據(jù)基本信息、步驟S102中所述的預(yù)設(shè)提取方式及步驟S104中所述的9?N個(gè)特征值。...
【技術(shù)特征摘要】
【專(zhuān)利技術(shù)屬性】
技術(shù)研發(fā)人員:孫成寶,鄭國(guó)柱,
申請(qǐng)(專(zhuān)利權(quán))人:北京地拓科技發(fā)展有限公司,
類(lèi)型:發(fā)明
國(guó)別省市:
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。