柵格因子數據寫入的方法及裝置、讀取的方法及裝置的製作方法
2023-04-29 01:26:01 3
專利名稱:柵格因子數據寫入的方法及裝置、讀取的方法及裝置的製作方法
技術領域:
本申請涉及柵格因子數據處理的技術領域,特別是涉及到一種柵格因子數據的寫入方法,一種柵格因子數據的寫入裝置,一種柵格因子數據的讀取方法,以及,一種柵格因子數據的讀取裝置。
背景技術:
柵格數據用一個規則柵格來描述與每一個柵格單元位置相對應的空間現象特徵的位置和取值。在概念上空間現象的變化由柵格單元值的變化來反映。GIS(GeographicInformation System,地理信息系統)系統中許多數據都用柵格格式來表示。柵格數據模型在GIS系統中也被稱為柵格(Grid)、柵格地圖、表面覆蓋(Surface Cover)或影像。柵格由行、列、柵格單元組成。行、列由柵格左上角起始。在二維坐標系統中,行作為y坐標、列作為X坐標。在這點上與緯度作為I坐標、經度作為X坐標有點類似。 柵格數據用單個柵格單元代表點、用一系列相鄰柵格單元代表線、鄰接柵格的集合代表面。柵格中的每一個柵格單元有一個值,整型或浮點型。整型柵格單元值通常代表類別數據。比如,土地類型常用I代表城市用地、2代表林地等。浮點型柵格單元值常表示連續數據,比如,降水量模型可能有20、15、12、23等降水量值。浮點型柵格比整型柵格需要更多的計算機存儲資源,這是涉及大範圍的GIS系統項目必須考慮的一個重要因素。假設柵格數據是由M行N列個柵格單元組成,每個柵格單元都存儲浮點型數據。若用普通方法,每個柵格單元用4位元組進行存儲,則需要M*N*4個字節,這樣所需的存儲空間非常大,這對系統的存儲、性能,以及網絡的傳輸效率都要求很高。由於GIS等系統中數據量巨大,存儲這種浮點型柵格因子數據所需的存儲空間相當龐大,傳輸這種浮點型柵格因子數據的資源耗費大,系統的計算處理處理效率低。如何減少浮點型柵格因子數據所需的存儲空間,提高浮點型柵格因子數據存儲與傳輸的效率,提高計算性能,是目前需要本領域技術人員迫切解決的技術問題。
發明內容
本申請所要解決的技術問題是提供一種柵格因子數據寫入的方法及裝置,柵格因子數據讀取的方法及裝置,用以減少柵格數據所需的存儲空間,提高浮點型柵格因子數據存儲與傳輸的效率,提高計算性能。為了解決上述問題,本申請公開了一種柵格因子數據寫入的方法,包括步驟S101,獲取原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數;步驟S102,從所述M*N個柵格因子單元中依次提取3個連續柵格因子單元的值;步驟S103,判斷所述3個連續柵格因子單元的值小數點後的位數是否為5位,若是,則執行步驟105 ;若否,則執行步驟S104 ;步驟S104,將所述柵格因子單元的值小數點後的位數處理為5位;
步驟S105,將所述3個連續柵格因子數據的值小數點後的數字按序排列,形成一個小數點後為15位的雙精度型數;步驟S106,判斷是否遍歷完所述M*N個柵格因子單元,若是,則執行步驟S107 ;若否,則返回步驟S102 ;步驟S107,將所述雙精度型數組織為目標柵格因子數據,寫入所述目標柵格因子數據。優選地,在所述步驟S102之後,還包括如下步驟若從所述M*N個柵格因子單元中提取到3-K個連續柵格因子單元,則補充K個第一特徵值,其中,所述K為大於O且小於3的正整數。 優選地,所述步驟S104包括若所述柵格因子單元的值小數點後的位數大於5位,則捨棄柵格因子單元的值小數點5位後的數字;若所述柵格因子單元的值小數點後的位數小於5位,則在柵格因子單元的值後補充第二特徵值,使小數點後的位數為5位。優選地,所述方法還包括當所述柵格因子單元的取值為I時,將該取值替換為O. 99999 ;當所述柵格因子單元的取值為O時,將該取值替換為O. 00000。本申請實施例還公開了一種柵格因子數據寫入的裝置,包括原始柵格因子數據獲取模塊,用於獲取原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數;柵格因子單元的值提取模塊,用於從所述M*N個柵格因子單元中依次提取3個連續柵格因子單元的值;位數判斷模塊,用於判斷所述3個連續柵格因子單元的值小數點後的位數是否為5位,若是,則調用目標柵格因子數據形成模塊;若否,則調用位數處理模塊;位數處理模塊,用於將所述柵格因子單元的值小數點後的位數處理為5位;目標柵格因子數據形成模塊,用於將所述3個連續柵格因子數據的值小數點後的數字按序排列,形成一個小數點後為15位的雙精度型數;判斷模塊,用於判斷是否遍歷完所述M*N個柵格因子單元,若是,則調用目標柵格因子數據寫入模塊;若否,則返回柵格因子單元的值提取模塊;目標柵格因子數據寫入模塊,用於將所述雙精度型數組織為目標柵格因子數據,寫入所述目標柵格因子數據。優選地,在所述柵格因子單元的值提取模塊之後,還包括如下模塊補充模塊,用於若從所述M*N個柵格因子單元中提取到3-K個連續柵格因子單元,則補充K個第一特徵值,其中,所述K為大於O且小於3的正整數。優選地,所述位數處理模塊包括捨棄子模塊,用於若所述柵格因子單元的值小數點後的位數大於5位,則捨棄柵格因子單元的值小數點5位後的數字;補充子模塊,用於若所述柵格因子單元的值小數點後的位數小於5位,則在柵格因子單元的值後補充第二特徵值,使小數點後的位數為5位。優選地,所述裝置還包括第一替換模塊,用於在所述柵格因子單元的取值為I時,將該取值替換為O.99999 ;第二替換模塊,用於在所述柵格因子單元的取值為O時,將該取值替換為O.00000。本申請實施例還公開了一種柵格因子數據讀取的方法,包括步驟S201,讀取目標柵格因子數據;其中,所述目標柵格因子數據由小數點後為15位的雙精度型數組成;步驟S202,依次解析目標柵格因子數據中的柵格因子單元的值,將目標柵格因子 數據小數點後的數字按序分為3組,每組5位,形成小數點後為5位的3個連續的柵格因子單元的值。步驟S203,判斷是否遍歷完所述目標柵格因子數據,若是,則執行步驟S204 ;若否,則返回步驟S202 ;步驟S204,按序組織所述柵格因子單元的值,獲得原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數。本申請實施例還公開了一種柵格因子數據讀取的裝置,包括目標柵格因子數據讀取模塊,用於讀取目標柵格因子數據;其中,所述目標柵格因子數據由小數點後為15位的雙精度型數組成;目標柵格因子數據解析模塊,用於依次解析目標柵格因子數據中的柵格因子單元的值,將目標柵格因子數據小數點後的數字按序分為3組,每組5位,形成小數點後為5位的3個連續的柵格因子單元的值。遍歷判斷模塊,用於判斷是否遍歷完所述目標柵格因子數據,若是,則調用原始柵格因子數據獲取模塊;若否,則返回目標柵格因子數據解析模塊;原始柵格因子數據獲取模塊,用於按序組織所述柵格因子單元的值,獲得原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數。與現有技術相比,本申請包括以下優點本申請對於柵格因子單元的值分布在O到I之間的柵格因子數據,將原始柵格因子數據依次提取3個連續的柵格因子單元,用一個8位元組的雙精度型數替代,這樣節省柵格因子數據的存儲空間,有效提聞系統的性能。具體而言,本申請實施例可以用一個8位元組的雙精度型數替代原始柵格因子單元中3個連續的柵格因子單元,在這種情況下,原先需3個4位元組的柵格因子數據,用8位元組即可存儲,這樣,在進行柵格數據備份時,可以用更少的資源存儲同樣的信息,充分利用了存儲空間。另外,由於存儲空間的減少,本申請還可以提高浮點型柵格因子數據存儲與傳輸的效率,提高計算性能。
圖I是本申請一種柵格因子數據寫入的方法實施例的步驟流程圖;圖2是本申請一種柵格因子數據讀取的方法實施例的步驟流程圖;圖3是本申請一種柵格因子數據寫入的裝置實施例的結構框圖;圖4是本申請一種柵格因子數據讀取的裝置實施例的結構框圖。
具體實施例方式為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本申請作進一步詳細的說明。本申請的核心構思之一在於,對於數據都存儲在O到I之間的柵格因子數據,將原始柵格因子數據依次提取3個連續柵格因子單元的值,用一個小數點後為15位的雙精度型數替代,這樣,原先需要3個4位元組浮點型數存儲的柵格因子數據,現在只需要一個8位元組的雙精度型數即可存儲,大大節省了存儲空間。參照圖1,示出了本申請一種柵格因子數據寫入的方法實施例的步驟流程圖,具體可以包括以如下步驟步驟S101,獲取原始柵格因子數據;· 其中,所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數。在GIS系統中,有一類柵格數據普遍存在於系統的計算處理中,常常充當計算係數或者因子的角色,取值在O到I之間,稱之為「柵格因子數據」。本申請實施例中的原始柵格因子數據,即指這種其柵格因子單元的取值為O到I之間的浮點型數的「柵格因子數據」,即所述原始柵格因子數據的柵格因子單元存儲的是浮點類型數,並且取值範圍在O到I之間。步驟S102,從所述M*N個柵格因子單元中依次提取3個連續柵格因子單元的值;假設本申請實施例是基於32位機器,浮點型數佔4位元組存儲空間,雙精度型數佔8位元組存儲空間。本申請提出的存儲方法是,對柵格因子數據,從第一個柵格因子單元開始,連續3個柵格因子單元做為一個處理對象。步驟S103,判斷所述3個連續柵格因子單元的值小數點後的位數是否為5位,若是,則執行步驟105 ;若否,則執行步驟S104 ;步驟S104,將所述柵格因子單元的值小數點後的位數處理為5位;在本申請的一種優選實施例中,所述步驟S104進一步包括以下步驟子步驟S11,若所述柵格因子單元的值小數點後的位數大於5位,則捨棄柵格因子單元的值小數點5位後的數字;子步驟S12,若所述柵格因子單元的值小數點後的位數小於5位,則在柵格因子單元的值後補充第二特徵值,使小數點後的位數為5位。例如,所述第二特徵值可以取O值,當提取的3個連續柵格因子單元的值分別為O. 12345,O. 6789,O. 0123456,將每個柵格因子單元的值轉換為小數點後為5位。其中,對於O. 12345,由於小數點後的位數剛好為5位,則不需要進行處理,對於O. 6789,由於小數點後的位數小於5位,則在後面補第二特徵值O,使小數點後的位數為5位,即改寫為O. 67890,對於O. 0123456,由於小數點後的位數大於5位,則通過丟棄小數點5位後的數字,使小數點後的位數為5位,即改寫為O. 01234。通過上述步驟,得到3個小數點後為5位的柵格因子單元的值為 O. 12345,0. 67890,0. 01234。在本申請的一種優選實施例中,所述方法還可以包括如下步驟當柵格因子單元的取值為I時,將該取值替換為O. 99999 ;當柵格因子單元的取值為O時,將該取值替換為O. 00000。通過將整型數替換為浮點型數,便於應用本申請實施例進行運算。步驟S105,將所述3個連續柵格因子數據的值小數點後的數字按序排列,形成一個小數點後為15位的雙精度型數;通過將柵格因子單元存儲的浮點型數都改寫成小數點後5位數,這樣得到3個連續的修正後的數,再將這3個修正後的數串聯起來,組成一個雙精度型數,這個數在小數點·後有15位數,以這個雙精度數替代原先的3個浮點型數進行存儲。例如,當3個連續柵格因子數據的值小數點後的位數處理為5位時,所得的柵格因子單元的值為O. 12345,O. 67890,O. 01234,按序排列所得數據,得到的一個小數點後為15位的雙精度型數為O. 123456789001234。這樣,原先需要3個4位元組存儲的浮點型柵格因子數據,現在用一個8位元組的雙精度型數即可存儲,在進行柵格因子數據備份時,可以充分節省存儲空間。步驟S106,判斷是否遍歷完所述M*N個柵格因子單元,若是,則執行步驟S107 ;若否,則返回步驟S102 ;在具體實現中,若從柵格因子單元中提取到不足3個連續的柵格因子單元時,則用第一特徵值補充到3個連續的柵格因子單元。在這種情況下,本申請實施例還可以包括以下步驟若從所述M*N個柵格因子單元中提取到3-K個連續柵格因子單元,則補充K個第一特徵值,其中,所述K為大於O且小於3的正整數。對柵格因子數據的M*N個柵格因子單元,以連續3個柵格因子單元為一個處理對象,順序處理完所有的柵格因子單元。如果最後剩下I個或2個柵格因子單元,則以O. O值補齊3個柵格因子單元,組成一個處理對象進行處理。例如,所取第一特徵值可以取值為O值,當提取到不足3個柵格因子單元為O. 12345,O. 6789,則可以補充I個O值的柵格因子單元,最後補充所得的3個連續柵格因子單元為 O. 12345,0. 6789,0ο步驟S 107,將所述雙精度型數組織為目標柵格因子數據,寫入所述目標柵格因子數據。參照圖2,示出了本申請一種柵格因子數據讀取的方法實施例的步驟流程圖,具體可以包括以如下步驟步驟S201,讀取目標柵格因子數據;其中,所述目標柵格因子數據由小數點後為15位的雙精度型數組成;步驟S202,依次解析目標柵格因子數據中的柵格因子單元的值,將目標柵格因子數據小數點後的數字按序分為3組,每組5位,形成小數點後為5位的3個連續的柵格因子單元的值。
在具體實現中,應用系統從文件讀取改寫後的柵格因子數據,並解析柵格因子單元值。假設讀取文件的雙精度型數有T個,則每個雙精度型數的小數點後的位數都為15位。對這T個雙精度型數按順序處理,若雙精度型數為O. abcdefghijklmnp,將其小數點後的數字按序分為3組,每組5位 ,重新組成的3個小數點後5位數的柵格因子單元的值為O. abcde,O. fghij,O. klmnp。本申請可以對柵格因子數據進行高效存儲,進行柵因子格數據備份外,本申請還可以對普通的柵格因子數據進行高效的組裝,能得到更少的數據量,在進行網絡傳輸時,傳輸的接受方再按本申請進行解析,便可得到原始的柵格因子數據。這樣會節省普通方法的1/3數據傳輸量。步驟S203,判斷是否遍歷完所述目標柵格因子數據,若是,則執行步驟S204 ;若否,則返回步驟S202 ;步驟S204,按序組織所述柵格因子單元的值,獲得原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數。在具體實現中,本申請對原始柵格因子數據所做的組裝以及對組裝後的數據進行解析,都是在CPU裡可快速簡單的進行計算處理,效率非常快,比起普通方法讀寫文件,網絡傳輸,不是一個數量級別的,所以本申請可很好的提高系統性能。需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請並不受所描述的動作順序的限制,因為依據本申請,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本申請所必須的。參照圖3,示出了本申請一種柵格因子數據寫入的裝置實施例的結構框圖,具體可以包括以如下模塊原始柵格因子數據獲取模塊401,用於獲取原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數;柵格因子單元的值提取模塊402,用於從所述M*N個柵格因子單元中依次提取3個連續柵格因子單元的值;在本申請的一種優選實施例中,在所述柵格因子單元的值提取模塊之後,還包括如下模塊補充模塊,用於若從所述M*N個柵格因子單元中提取到3-K個連續柵格因子單元,則補充K個第一特徵值,其中,所述K為大於O且小於3的正整數。位數判斷模塊403,用於判斷所述3個連續柵格因子單元的值小數點後的位數是否為5位,若是,則調用目標柵格因子數據形成模塊;若否,則調用位數處理模塊;位數處理模塊404,用於將所述柵格因子單元的值小數點後的位數處理為5位;在本申請的一種優選實施例中,所述位數處理模塊包括捨棄子模塊,用於若所述柵格因子單元的值小數點後的位數大於5位,則捨棄柵格因子單元的值小數點5位後的數字;補充子模塊,用於若所述柵格因子單元的值小數點後的位數小於5位,則在柵格因子單元的值後補充第二特徵值,使小數點後的位數為5位。在本申請的一種優選實施例中,所述裝置還可以包括如下模塊第一替換模塊,用於在所述柵格因子單元的取值為I時,將該取值替換為O.99999 ;第二替換模塊,用於在所述柵格因子單元的取值為O時,將該取值替換為O.00000。目標柵格因子數據形成模塊405,用於將所述3個連續柵格因子數據的值小數點後的數字按序排列,形成一個小數點後為15位的雙精度型數;遍歷判斷模塊406,用於判斷是否遍歷完所述M*N個柵格因子單元,若是,則調用目標柵格因子數據寫入模塊;若否,則返回柵格因子單元的值提取模塊;
目標柵格因子數據寫入模塊407,用於將所述雙精度型數組織為目標柵格因子數據,寫入所述目標柵格因子數據。對於圖3所示的裝置實施例而言,由於其與圖I所示的方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。參照圖4,示出了本申請一種柵格因子數據讀取的裝置實施例的結構框圖,具體可以包括以如下模塊目標柵格因子數據讀取模塊501,用於讀取目標柵格因子數據;其中,所述目標柵格因子數據由小數點後為15位的雙精度型數組成;目標柵格因子數據解析模塊502,用於依次解析目標柵格因子數據中的柵格因子單元的值,將目標柵格因子數據小數點後的數字按序分為3組,每組5位,形成小數點後為5位的3個連續的柵格因子單元的值。遍歷判斷模塊503,用於判斷是否遍歷完所述目標柵格因子數據,若是,則調用原始柵格因子數據獲取模塊;若否,則返回目標柵格因子數據解析模塊;原始柵格因子數據獲取模塊504,用於按序組織所述柵格因子單元的值,獲得原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數。對於圖4所示的裝置實施例而言,由於其與圖2所示的方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。本領域內的技術人員應明白,本申請的實施例可提供為方法、裝置、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。本申請是參照根據本申請實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。儘管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請範圍的所有變更和修改。最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或
者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個......」限定的要素,
並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。 以上對本申請所提供的一種柵格因子數據寫入的方法及裝置,柵格因子數據讀取的方法及裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式
及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
權利要求
1.一種柵格因子數據寫入的方法,其特徵在於,包括 步驟S101,獲取原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數; 步驟S102,從所述M*N個柵格因子單元中依次提取3個連續柵格因子單元的值; 步驟S103,判斷所述3個連續柵格因子單元的值小數點後的位數是否為5位,若是,則執行步驟105 ;若否,則執行步驟S104 ; 步驟S104,將所述柵格因子單元的值小數點後的位數處理為5位; 步驟S105,將所述3個連續柵格因子數據的值小數點後的數字按序排列,形成一個小數點後為15位的雙精度型數; 步驟S106,判斷是否遍歷完所述M*N個柵格因子單元,若是,則執行步驟S107 ;若否,則返回步驟S102 ; 步驟S107,將所述雙精度型數組織為目標柵格因子數據,寫入所述目標柵格因子數據。
2.根據權利要求I所述的方法,其特徵在於,在所述步驟S102之後,還包括如下步驟 若從所述M*N個柵格因子單元中提取到3-K個連續柵格因子單元,則補充K個第一特徵值,其中,所述K為大於O且小於3的正整數。
3.根據權利要求I或2所述的方法,其特徵在於,所述步驟S104包括 若所述柵格因子單元的值小數點後的位數大於5位,則捨棄柵格因子單元的值小數點5位後的數字; 若所述柵格因子單元的值小數點後的位數小於5位,則在柵格因子單元的值後補充第二特徵值,使小數點後的位數為5位。
4.根據權利要求I所述的方法,其特徵在於,還包括 當所述柵格因子單元的取值為I時,將該取值替換為O. 99999 ; 當所述柵格因子單元的取值為O時,將該取值替換為O. 00000。
5.一種柵格因子數據寫入的裝置,其特徵在於,包括 原始柵格因子數據獲取模塊,用於獲取原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數; 柵格因子單元的值提取模塊,用於從所述M*N個柵格因子單元中依次提取3個連續柵格因子單元的值; 位數判斷模塊,用於判斷所述3個連續柵格因子單元的值小數點後的位數是否為5位,若是,則調用目標柵格因子數據形成模塊;若否,則調用位數處理模塊; 位數處理模塊,用於將所述柵格因子單元的值小數點後的位數處理為5位; 目標柵格因子數據形成模塊,用於將所述3個連續柵格因子數據的值小數點後的數字按序排列,形成一個小數點後為15位的雙精度型數; 判斷模塊,用於判斷是否遍歷完所述M*N個柵格因子單元,若是,則調用目標柵格因子數據寫入模塊;若否,則返回柵格因子單元的值提取模塊; 目標柵格因子數據寫入模塊,用於將所述雙精度型數組織為目標柵格因子數據,寫入所述目標柵格因子數據。
6.根據權利要求5所述的裝置,其特徵在於,在所述柵格因子單元的值提取模塊之後,還包括如下模塊 補充模塊,用於若從所述M*N個柵格因子單元中提取到3-K個連續柵格因子單元,則補充K個第一特徵值,其中,所述K為大於O且小於3的正整數。
7.根據權利要求5或6所述的裝置,其特徵在於,所述位數處理模塊包括 捨棄子模塊,用於若所述柵格因子單元的值小數點後的位數大於5位,則捨棄柵格因子單元的值小數點5位後的數字; 補充子模塊,用於若所述柵格因子單元的值小數點後的位數小於5位,則在柵格因子單元的值後補充第二特徵值,使小數點後的位數為5位。
8.根據權利要求5所述的裝置,其特徵在於,還包括 第一替換模塊,用於在所述柵格因子單元的取值為I時,將該取值替換為O. 99999 ; 第二替換模塊,用於在所述柵格因子單元的取值為O時,將該取值替換為O. 00000。
9.一種柵格因子數據讀取的方法,其特徵在於,包括 步驟S201,讀取目標柵格因子數據;其中,所述目標柵格因子數據由小數點後為15位的雙精度型數組成; 步驟S202,依次解析目標柵格因子數據中的柵格因子單元的值,將目標柵格因子數據小數點後的數字按序分為3組,每組5位,形成小數點後為5位的3個連續的柵格因子單元的值。
步驟S203,判斷是否遍歷完所述目標柵格因子數據,若是,則執行步驟S204 ;若否,則返回步驟S202 ; 步驟S204,按序組織所述柵格因子單元的值,獲得原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數。
10.一種柵格因子數據讀取的裝置,其特徵在於,包括 目標柵格因子數據讀取模塊,用於讀取目標柵格因子數據;其中,所述目標柵格因子數據由小數點後為15位的雙精度型數組成; 目標柵格因子數據解析模塊,用於依次解析目標柵格因子數據中的柵格因子單元的值,將目標柵格因子數據小數點後的數字按序分為3組,每組5位,形成小數點後為5位的3個連續的柵格因子單元的值。
遍歷判斷模塊,用於判斷是否遍歷完所述目標柵格因子數據,若是,則調用原始柵格因子數據獲取模塊;若否,則返回目標柵格因子數據解析模塊; 原始柵格因子數據獲取模塊,用於按序組織所述柵格因子單元的值,獲得原始柵格因子數據;所述原始柵格因子數據包括M*N個柵格因子單元,所述M為行,N為列,所述M*N個柵格因子單元的取值為O到I之間的浮點型數。
全文摘要
本申請提供了一種柵格因子數據寫入的方法及裝置、讀取的方法及裝置,其中,所述柵格因子數據寫入的方法包括步驟S101,獲取原始柵格因子數據;步驟S102,提取3個連續柵格因子單元的值;步驟S103,判斷柵格因子單元的值小數點後的位數是否為5位,若是,則執行步驟105;若否,則執行步驟S104;步驟S104,將柵格因子單元的值小數點後的位數處理為5位;步驟S105,將3個連續柵格因子數據的值小數點後的數字按序排列,形成一個小數點後為15位的雙精度型數;步驟S106,判斷是否遍歷完,若是,則執行步驟S107;若否,則返回步驟S102;步驟S107,將雙精度型數組織為目標柵格因子數據,寫入目標柵格因子數據。本申請可以提高柵格因子數據存儲與傳輸的效率,提高計算性能。
文檔編號G06F17/30GK102902712SQ20121028762
公開日2013年1月30日 申請日期2012年8月13日 優先權日2012年8月13日
發明者孫成寶, 鄭國柱 申請人:北京地拓科技發展有限公司