一種驗證柵格數據的方法及系統的製作方法
2023-08-01 03:50:56 1
專利名稱:一種驗證柵格數據的方法及系統的製作方法
技術領域:
本發明涉及信息技術領域,具體地說,涉及一種驗證柵格數據的方法及系統。
背景技術:
地理信息系統(GIS, Geographic Information System)的一個重要部分就是數據。在GIS工程裡,空間數據的獲取佔有很重要的地位。實際上,整個地理信息系統都是圍繞空間數據的採集、加工、存儲、分析和表現來展開的。基於柵格模型的數據結構簡稱為柵格數據結構,是指將空間分割成有規則的網格,在各個網格上給出相應的屬性值來表示地理實體的一種數據組織形式;在應用系統中常用柵格數據文件來描述某一空間範圍內的某對象的屬性信息。因為柵格的每個網格(或稱象素)上存儲的是某屬性的值,該屬性值在指定的空間範圍內往往是有取值範圍約束的,比如在描述全國地面高程屬性的柵格數據文件·中,每個網格存儲的是該網格對應的地面高程值,在全國範圍內該屬性值都有一個約束範圍,所有的象素值都應該在[-2000,9000]範圍內,超過此範圍的象素值都是不合理的錯誤值。在實際應用中,如何有效地保證寫入的柵格數據的正確性,關係到柵格數據文件在GIS系統中的準確性和可用性,是亟待解決的技術問題。
發明內容
本發明提供一種驗證柵格數據的方法及系統,可快速高效地驗證待輸入的數據,確保所寫入數據的合法性。本發明提供的一種驗證柵格數據的方法,包括基於柵格數據文件表示的對象,預先獲知像素的取值範圍,確定柵格數據文件的屬性值約束條件信息並保存;將待寫入的柵格數據分成預定大小的若干塊數據,以塊數據為單元進行寫操作;讀取所述塊數據中所有象素的值,並判斷是否滿足所述屬性值約束條件,若是,則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。當所述柵格數據所表示的區域存在具有特殊取值範圍約束的局部區域,分別獲知所述各局部區域中像素的取值範圍,確定所述各局部區域的屬性值約束條件信息並保存;識別判斷所述各塊數據是否位於所述局部區域中;若是,則判斷所述塊數據是否滿足該局部區域的屬性值約束條件;若滿足,則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。本發明還提供一種驗證柵格數據的系統,包括存儲單元,用於保存柵格數據文件的屬性值約束條件信息,該約束條件信息是基於柵格數據文件表示的對象,預先獲知像素的取值範圍而確定的;
數據分割單元,用於將待寫入的柵格數據分成預定大小的若干塊數據,以塊數據為單元進行寫操作;第一驗證單元,用於判斷所述塊數據中所有象素的值是否滿足所述屬性值約束條件;寫操作單元,若驗證單元判定滿足所述屬性值約束條件,則判定為通過合法性驗證,將所述塊數據寫入文件。當所述柵格數據所表示的區域具有特殊取值範圍約束的局部區域,所述存儲單元中還存儲有所述各局部區域的屬性值約束條件信息;所述各局部區域的屬性值約束條件信息根據所述各局部區域中像素的取值範圍確定;該系統還包括
識別單元,用於識別判斷該各塊數據是否位於所述局部區域中;第二驗證單元,用於判斷該塊數據是否滿足該局部區域的屬性值約束條件;對於所述識別單元判定位於所述局部區域中的塊數據,第二驗證單元判斷所述塊數據是否滿足該局部區域的屬性值約束條件;若滿足,則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。綜上所述,本發明提供的驗證柵格數據的技術方案,通過將待寫入的柵格數據分成預定大小的若干塊數據,以塊數據為單元進行寫操作,並判斷各塊數據是否滿足預設的屬性值約束條件或局部區域約束條件,若是,則判定為通過合法性驗證,該塊數據允許被寫入文件;否則,不寫入文件,這樣可以在文件級別、柵格數據內部的局部區域動態的設置不同的約束屬性,快速高效地驗證待輸入的數據,確保所寫入數據的合法性,這尤其在對非常重要的柵格數據文件,從而保證在GIS系統中柵格數據文件的準確性和可用性,具有重要的應用價值。
圖I為本發明提供的一種驗證柵格數據的方法流程圖;圖2為本發明實施例中提供的北京市植被覆蓋示意圖;圖3為本發明實施例中提供的設置有局部區域約束條件的植被覆蓋示意圖;圖4為本發明提供的驗證柵格數據的系統架構圖。
具體實施例方式鑑於現有GIS系統中輸入柵格數據不進行驗證,為確保寫入的柵格數據的正確性,本發明提出一種驗證方法,在柵格數據文件寫入時對數據合法性進行驗證,可以快速高效的驗證數據的是否合法性,同時可以動態的支持多個柵格數據文件級別的驗證屬性,也可以支持柵格數據文件的多個局部範圍數據有多個特殊約束的合法性驗證,在實際應用中可以有效的保證柵格數據的正確性,具有非常重要的應用價值。參照圖1,本發明提供的一種驗證柵格數據的方法,包括如下步驟S101,基於柵格數據文件表示的對象,預先獲知像素的取值範圍,確定柵格數據文件的屬性值約束條件信息並保存;S102,將待寫入的柵格數據分成預定大小的若干塊數據,以塊數據為單元進行寫操作;S103,讀取所述塊數據中所有象素的值,並判斷是否滿足所述屬性值約束條件,若是,則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。該方法,還包括S104,在所述柵格數據所表示的區域具有特殊取值範圍約束的局部區域,分別獲知所述各局部區域中像素的取值範圍,確定所述各局部區域的屬性值約束條件信息並保存;S105,識別判斷所述各塊數據是否位於所述局部區域中;S106,若是,則判斷所述塊數據是否滿足該局部區域的屬性值約束條件;若滿足, 則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。在具體實施方案中,通常,文件級別的約束屬性以及局部區域的約束屬性都是在寫操作之前就事先確定並存儲好的;在寫入時,對塊數據進行文件級別的約束屬性條件判斷,如不滿足,不寫入文件;如滿足,再去看是否有某局部區域的約束屬性條件,如有並滿足,則寫入,如沒有或不滿足,則不寫入。所述確定柵格數據文件的屬性值約束條件信息並保存,具體為建立一柵格數據文件級別的屬性約束表(RasterFileConstraintTable),來存儲每個柵格數據文件級別的屬性值約束條件信息;其中,一個柵格數據文件設置有一個或多個不同的約束屬性碼,一個約束屬性碼對應一個約束值。所述約束值通常為最大值或最小值。若在所述柵格數據所表示的區域存在具有特殊取值範圍約束的局部區域,則所述屬性約束表中還包含有表示局部區域的欄位,並用不同的代碼表示各局部區域,各局部區域具有其相對應的約束值。在此,塊數據包括m行η列個象素,50彡m, η彡600, m, η為自然數。採用該方法,對多個柵格數據文件的待寫入柵格數據同時進行驗證;所述各柵格數據文件的若干塊數據的驗證操作並行進行。具體地,在本發明的一個實施方案中,假設有柵格數據文件rdl、rd2、…,rdn,柵格數據的象素大小分別是aNbl (象素寬度*象素高度)、a2_2 (象素寬度*象素高度)、...,an*bn (象素寬度*象素高度).a).建立一張柵格數據文件級別的屬性約束表RasterFileConstraintTable,來存儲每個柵格數據的文件級別的屬性值約束的信息。表I欄位結構如下表I
權利要求
1.一種驗證柵格數據的方法,其特徵在於,包括 基於柵格數據文件表示的對象,預先獲知像素的取值範圍,確定柵格數據文件的屬性值約束條件信息並保存; 將待寫入的柵格數據分成預定大小的若干塊數據,以塊數據為單元進行寫操作; 讀取所述塊數據中所有象素的值,並判斷是否滿足所述屬性值約束條件,若是,則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。
2.如權利要求I所述的方法,其特徵在於,還包括 在所述柵格數據所表示的區域存在具有特殊取值範圍約束的局部區域,分別獲知所述各局部區域中像素的取值範圍,確定所述各局部區域的屬性值約束條件信息並保存; 識別判斷所述各塊數據是否位於所述局部區域中; 若是,則判斷所述塊數據是否滿足該局部區域的屬性值約束條件;若滿足,則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。
3.如權利要求I所述的方法,其特徵在於,所述確定柵格數據文件的屬性值約束條件信息並保存,具體為 建立一柵格數據文件級別的屬性約束表,來存儲每個柵格數據文件級別的屬性值約束條件信息; 其中,一個柵格數據文件設置有一個或多個不同的約束屬性碼,一個約束屬性碼對應一個約束值。
4.如權利要求3所述的方法,其特徵在於,所述約束值為最大值或最小值。
5.如權利要求3所述的方法,其特徵在於,若在所述柵格數據所表示的區域存在具有特殊取值範圍約束的局部區域,則所述屬性約束表中還包含有表示局部區域的欄位,並用不同的代碼表示各局部區域,各局部區域具有其相對應的約束值。
6.如權利要求I所述的方法,其特徵在於,所述塊數據包括m行η列個象素,50( m,η彡600,m,η為自然數。
7.如權利要求I所述的方法,其特徵在於,對多個柵格數據文件的待寫入柵格數據同時進行驗證;所述各柵格數據文件的若干塊數據的驗證操作並行進行。
8.—種驗證柵格數據的系統,其特徵在於,包括 存儲單元,用於保存柵格數據文件的屬性值約束條件信息,所述屬性值約束條件信息是基於柵格數據文件表示的對象,預先獲知像素的取值範圍而確定的; 數據分割單元,用於將待寫入的柵格數據分成預定大小的若干塊數據,以塊數據為單元進行寫操作; 第一驗證單元,用於判斷所述塊數據中所有象素的值是否滿足所述屬性值約束條件; 寫操作單元,若驗證單元判定滿足所述屬性值約束條件,則判定為通過合法性驗證,將所述塊數據寫入文件。
9.如權利要求8所述的系統,其特徵在於,在所述柵格數據所表示的區域具有特殊取值範圍約束的局部區域,所述存儲單元中還存儲有所述各局部區域的屬性值約束條件信息;所述各局部區域的屬性值約束條件信息根據所述各局部區域中像素的取值範圍確定;該系統還包括 識別單元,用於識別判斷所述各塊數據是否位於所述局部區域中; 第二驗證單元,用於判斷所述塊數據是否滿足該局部區域的屬性值約束條件; 對於所述識別單元判定位於所述局部區域中的塊數據,第二驗證單元判斷所述塊數據是否滿足該局部區域的屬性值約束條件;若滿足,則判定為通過合法性驗證,所述塊數據允許被寫入文件;否則,判定所述塊數據不滿足約束條件,不寫入文件。
10.如權利要求8所述的系統,其特徵在於,所述塊數據包括m行η列個象素,50( m,η彡600,m,η為自然數。
11.如權利要求8所述的系統,其特徵在於,該系統中,同時對多個柵格數據文件的待寫入柵格數據進行驗證;所述各柵格數據文件的若干塊數據的驗證操作並行進行。
全文摘要
本發明公開了一種驗證柵格數據的方法,包括確定柵格數據文件的屬性值約束條件並保存;將柵格數據分成預定大小的若干塊數據;讀取塊數據中所有象素的值,並判斷是否滿足屬性值約束條件,若是,則判定為通過合法性驗證,塊數據允許被寫入文件。本發明還提供了相應的驗證柵格數據的系統包括存儲單元,用於保存柵格數據文件的屬性值約束條件;數據分割單元,用於將柵格數據分成若干塊數據;第一驗證單元,用於判斷塊數據是否滿足屬性值約束條件;寫操作單元,將通過驗證的塊數據寫入文件。可快速高效地驗證待輸入的數據,確保所寫入數據的合法性,這尤其在對非常重要的柵格數據文件,從而保證在GIS系統中柵格數據文件的準確性和可用性。
文檔編號G06F17/30GK102929904SQ20121026075
公開日2013年2月13日 申請日期2012年7月25日 優先權日2012年7月25日
發明者孫成寶, 鄭國柱 申請人:北京世紀天宇科技發展有限公司