<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種基于內存數據庫Redis的土地利用矢量數據存儲方法

文檔序號:6621766閱讀:583來源:國知局
一種基于內存數據庫Redis的土地利用矢量數據存儲方法
【專利摘要】本發明公開了一種基于內存數據庫Redis的土地利用矢量數據存儲方法,該方法采用內存數據庫Redis存儲土地利用矢量數據,設計點、線、面三種不同類型的矢量數據統一的存儲結構,實現土地利用矢量數據在內存數據庫中的存儲。根據空間對象的不同,點、線要素空間特征數據分別設計存儲格式,面要素的空間特征數據根據邊界是否可由線要素組成分為直接坐標描述和間接坐標描述兩類。本發明在土地利用領域具有重要的實際應用價值,可改變目前磁盤數據庫管理土地利用數據時因I/O開銷而產生的效率不高的現狀,成功地將土地利用矢量數據直接存儲于內存中,可以對數據進行高效的管理和查詢,應用前景較廣。
【專利說明】一種基于內存數據庫Redis的土地利用矢量數據存儲方法

【技術領域】
[0001 ] 本發明涉及GIS (地理信息系統)的矢量數據存儲【技術領域】,尤其涉及一種基于內存數據庫Redis的土地利用矢量數據存儲方法。

【背景技術】
[0002]自2009年10月31日完成第二次全國土地調查后,全國各地每年進行土地變更調查,并將當年數據與上年數據進行比較,生成增量更新數據并對上年數據進行變更,以保持調查成果的現勢性。國土部要求第二次全國土地調查成果實行管理信息化、網絡化,建立和完善土地調查制度、統計制度和登記制度,實現土地資源信息的社會化服務,滿足經濟和社會的發展需求。目前土地利用現狀數據大多采用對象-關系數據庫這一類型磁盤數據庫(Disk Resident Database, DRDB)同時管理圖形數據和屬性數據。然而土地利用現狀數據復雜度高、數據量大、變化速度快,Oracle, SQL Server等磁盤數據庫對數據的查詢與管理需要頻繁地訪問磁盤,大量的I/O操作所消耗的時間成為制約空間數據實時查詢與管理效率的一個重要因素。
[0003]隨著傳統的磁盤數據庫管理土地利用現狀數據時凸顯出其在實時性和高效性等方面較為薄弱的能力,尋求實時性較高的數據庫產品管理土地利用現狀數據變得十分有意義。硬件技術的發展,內存容量不斷增加,64位處理器等有利條件的出現使得計算機內存容量迅速增長。同時內存價格的下跌也為大容量內存的普及奠定了基礎。大容量內存的出現使整個數據庫全部或者大部分數據常駐內存成為可能,這種數據庫被稱之為內存數據庫(Main Memory Database, MMDB)。內存數據庫系統中命令的執行并不會產生I/O操作,執行中的命令所需的數據集存儲于內存中,而硬盤中的數據只是內存中數據的一個備份。因此利用沒有I/O開銷的內存數據庫管理土地利用矢量數據將提高管理和查詢數據的效率。
[0004]目前,Redis提供用戶字符串(string)、散列(hash)、列表(list)、集合(set)和有序集合(sorted set or zset)等多種鍵值數據類型來滿足不同的存儲要求。(I)字符串類型,是Redis最基本的數據類型,也是其他四種數據類型的基礎。(2)散列類型存儲字符串類型的字段(field)和值的映射表,因此能夠存儲鍵的多個屬性數據。(3)列表類型每個子元素都是字符串類型的雙向鏈表。(4)集合類型是不重復的字符串類型數據的無序集合。(5)有序集合類型是在集合類型的基礎上,對每一個元素都關聯一個分數,根據分數對元素進行排序。


【發明內容】

[0005]本發明的目的是克服磁盤數據庫管理空間數據效率不高和內存數據庫未提供空間數據管理模塊等不足,針對土地利用矢量數據這一類空間數據提供一種基于內存數據庫Redis的土地利用矢量數據存儲方法。
[0006]基于內存數據庫Redis的土地利用矢量數據存儲方法包括如下步驟:
[0007]I)基于內存數據庫Redis設計土地利用矢量數據的數據庫結構,采用空間數據庫、空間數據集、圖層和要素四級組織,其中空間數據庫、空間數據集和圖層三級分別存儲相關元數據;
[0008]2)設計土地利用矢量數據存儲方法,點、線、面三種不同類型的矢量數據采用統一的存儲結構,采用hash類型數據結構存儲矢量要素,其中key為矢量要素對應的唯一標示,通過該描述可訪問該矢量要素,field為字段名,包括集合類型、幾何特征、屬性特征1、屬性特征2……等字段,value為字段值,存儲字段對應值;
[0009]3)點要素空間特征數據采取統一的存儲格式,直接采用坐標值描述;
[0010]4)線要素空間特征數據采取統一的存儲格式,線要素的空間特征用點數和有序的坐標串描述,具體采用“點數即坐標串”形式存儲;
[0011]5)面要素的空間特征數據根據邊界是否可由線要素組成分為直接坐標描述和間接坐標描述兩類。直接坐標描述類似點要素和線要素的描述方式,直接用坐標值表示,間接坐標描述是指利用構成面要素邊界的線要素唯一標示,即其唯一的key值描述。
[0012]所述的步驟I)為:空間數據庫由空間數據集組成。空間數據集按縣級行政區劃存儲劃分,由圖層組成,土地利用矢量要素根據專題特征不同存儲于圖層中,空間數據庫元數據包括空間數據庫信息、空間數據集列表和圖層字段結構,空間數據集元數據包括空間數據集信息、最小外包矩形最小坐標、圖層列表和空間參考,圖層元數據包括圖層名稱和圖層信息。其中空間數據庫信息、圖層字段結構、空間數據集信息、最小外包矩形最小坐標、空間參考和圖層信息采用hash類型數據結構進行存儲,空間數據集名稱和圖層名稱采用列表類型數據結構進行存儲。
[0013]所述的步驟2)為:土地利用矢量采用hash類型數據結構存儲矢量要素,Key為空間要素對應的唯一標示,通過該描述可訪問該空間要素,命名規則為“空間數據庫名:空間數據集名:圖層名:要素ID”,其中key為矢量要素對應的唯一標示,通過該描述可訪問該矢量要素,field為字段名,包括集合類型、幾何特征、屬性特征1、屬性特征2……等字段,value為字段值,存儲字段對應值。
[0014]所述的步驟5)為:面要素的空間特征數據根據邊界是否可由線要素組成分為直接坐標描述和間接坐標描述兩類,直接坐標描述直接用坐標值表示,具體采用“環數即環I點數即環I坐標串,環2點數即環2坐標串,……”形式存儲,間接坐標描述是指利用構成面要素邊界的線要素唯一標示,即其唯一的key值描述,具體采用采用“環數即環I線要素數即環I線要素ID串,環2線要素數即環2線要素ID串,……”形式存儲,土地利用面要素層中,地類圖斑、宗地和行政區可分別用地類界線、界址線和行政區界線進行間接描述,其他面要素層則采用直接坐標描述方式。
[0015]本發明實現了土地利用矢量數據在內存數據庫中的存儲,消除了 I/O操作,提高了土地利用矢量數據的管理和查詢效率,克服了磁盤數據庫管理和存儲土地利用矢量數據時效率不高的問題。

【專利附圖】

【附圖說明】
[0016]圖1是基于Redis的土地利用矢量數據庫結構示意圖;
[0017]圖2是本發明的面要素例示意圖。

【具體實施方式】
[0018]基于內存數據庫Redis的土地利用矢量數據存儲方法包括如下步驟:
[0019]I)基于內存數據庫Redis設計土地利用矢量數據的數據庫結構,采用空間數據庫、空間數據集、圖層和要素四級組織,其中空間數據庫、空間數據集和圖層三級分別存儲相關元數據;
[0020]2)設計土地利用矢量數據存儲方法,點、線、面三種不同類型的矢量數據采用統一的存儲結構,采用hash類型數據結構存儲矢量要素,其中key為矢量要素對應的唯一標示,通過該描述可訪問該矢量要素,field為字段名,包括集合類型、幾何特征、屬性特征1、屬性特征2……等字段,value為字段值,存儲字段對應值;
[0021]3)點要素空間特征數據采取統一的存儲格式,直接采用坐標值描述;
[0022]4)線要素空間特征數據采取統一的存儲格式,線要素的空間特征用點數和有序的坐標串描述,具體采用“點數即坐標串”形式存儲;
[0023]5)面要素的空間特征數據根據邊界是否可由線要素組成分為直接坐標描述和間接坐標描述兩類。直接坐標描述類似點要素和線要素的描述方式,直接用坐標值表示,間接坐標描述是指利用構成面要素邊界的線要素唯一標示,即其唯一的key值描述。
[0024]所述的步驟I)為:空間數據庫由空間數據集組成。空間數據集按縣級行政區劃存儲劃分,由圖層組成,土地利用矢量要素根據專題特征不同存儲于圖層中,空間數據庫元數據包括空間數據庫信息、空間數據集列表和圖層字段結構,空間數據集元數據包括空間數據集信息、最小外包矩形最小坐標、圖層列表和空間參考,圖層元數據包括圖層名稱和圖層信息。其中空間數據庫信息、圖層字段結構、空間數據集信息、最小外包矩形最小坐標、空間參考和圖層信息采用hash類型數據結構進行存儲,空間數據集名稱和圖層名稱采用列表類型數據結構進行存儲。
[0025]所述的步驟2)為:土地利用矢量采用hash類型數據結構存儲矢量要素,Key為空間要素對應的唯一標示,通過該描述可訪問該空間要素,命名規則為“空間數據庫名:空間數據集名:圖層名:要素ID”,其中key為矢量要素對應的唯一標示,通過該描述可訪問該矢量要素,field為字段名,包括集合類型、幾何特征、屬性特征1、屬性特征2……等字段,value為字段值,存儲字段對應值。
[0026]所述的步驟5)為:面要素的空間特征數據根據邊界是否可由線要素組成分為直接坐標描述和間接坐標描述兩類,直接坐標描述直接用坐標值表示,具體采用“環數即環I點數即環I坐標串,環2點數即環2坐標串,……”形式存儲,間接坐標描述是指利用構成面要素邊界的線要素唯一標示,即其唯一的key值描述,具體采用采用“環數即環I線要素數即環I線要素ID串,環2線要素數即環2線要素ID串,……”形式存儲,土地利用面要素層中,地類圖斑、宗地和行政區可分別用地類界線、界址線和行政區界線進行間接描述,其他面要素層則采用直接坐標描述方式。
[0027]土地利用矢量數據庫按空間數據庫、空間數據集、圖層和要素四級組織,空間數據庫、空間數據集和圖層三級分別存儲相關元數據。建立土地利用矢量數據庫后,土地利用矢量數據按照不同的行政區劃存儲,每個行政區劃建立一個空間數據集,空間數據集內則按照《土地利用數據庫標準》(TD/T 1016-2007)對矢量數據進行分圖層存儲要素。內存數據庫除存儲土地利用矢量數據外,也需要與存儲空間數據庫、空間數據集和圖層等相關的元數據。基于Redis的土地利用矢量數據庫的結構如圖1所示。
[0028]根據元數據信息分為兩類,信息類包括空間數據庫信息、圖層字段結構、空間數據集信息、MBR最小坐標、空間參考和圖層信息,列表類包括空間數據集列表和圖層列表。信息類元數據采用采用hash類型數據結構進行存儲,其存儲結構示意如表I所示。Key為存儲信息名稱,Field為需存儲信息的字段名,Value為需存儲信息的值。
[0029]表I
[0030]
KeyFieldValue
_Fl__Vl_
Name_F2__V2_
[0031]空間數據集名稱和圖層名稱是獨一無二的和無序的,因此列表類元數據選用集合類型數據結構存儲,其存儲結構示意如表2所示。Key為列表名稱,Value為該列表下所有元素名稱。
[0032]表2
[0033]
KeyValue
_LI_
ListNameLz!.■....
[0034]土地利用矢量數據庫中的空間實體根據專題分為19個圖層進行存儲,這19個圖層包括點要素層6個,線要素層5個,面要素層8個。本發明主要關注三對線與面之間的關系,即行政區的邊界是行政區界線,宗地的邊界是界址線,地類圖斑的邊界是地類界線,這就意味著行政區、宗地和地類圖斑三個面要素圖層可不再通過坐標點來描述其空間位置,而是可以通過其邊界對應的線要素來描述。
[0035]空間要素包含空間特征數據、時間特征數據和專題特征數據(后兩者一般合稱屬性特征數據)幾大類信息。空間特征數據是描述空間對象的空間位置、幾何特征及與相鄰空間對象的拓撲關系等信息。時間特征數據和專題特征數據則因不涉及空間信息一般作相同處理,時間特征數據主要描述空間對象數據獲取時間或者更新時間,專題特征數據則描述的是空間對象的各種性質,如所有權、要素類別、人口或者植被類型等。
[0036]在基于Redis的土地利用矢量數據庫中,空間要素存儲空間特征數據和屬性特征數據外,還將存儲空間要素的幾何類型,本文將采用hash類型數據結構存儲空間要素,其中key為空間要素對應的唯一標示,通過該描述可訪問該空間要素,根據Redis常用的命名規則,命名規則為“空間數據庫名:空間數據集名:圖層名:要素ID”,通過這種命名方式可直觀的獲取要素數據庫,縣級庫和圖層歸屬信息等。Field是字段名,首先存儲幾何類型和空間特征數據,然后依次存儲要素的屬性字段,Value則存儲該空間要素空間特征數據和屬性特征數據具體的值,存儲結構如表3所示。
[0037]表3
[0038]

【權利要求】
1.一種基于內存數據庫Redis的土地利用矢量數據存儲方法,其特征在于包括如下步驟: 1)基于內存數據庫Redis設計土地利用矢量數據的數據庫結構,采用空間數據庫、空間數據集、圖層和要素四級組織,其中空間數據庫、空間數據集和圖層三級分別存儲相關元數據; 2)設計土地利用矢量數據存儲方法,點、線、面三種不同類型的矢量數據采用統一的存儲結構,采用hash類型數據結構存儲矢量要素,其中key為矢量要素對應的唯一標示,通過該描述可訪問該矢量要素,field為字段名,包括集合類型、幾何特征、屬性特征1、屬性特征2……等字段,value為字段值,存儲字段對應值; 3)點要素空間特征數據采取統一的存儲格式,直接采用坐標值描述; 4)線要素空間特征數據采取統一的存儲格式,線要素的空間特征用點數和有序的坐標串描述,具體采用“點數即坐標串”形式存儲; 5)面要素的空間特征數據根據邊界是否可由線要素組成分為直接坐標描述和間接坐標描述兩類,直接坐標描述類似點要素和線要素的描述方式,直接用坐標值表示,間接坐標描述是指利用構成面要素邊界的線要素唯一標示,即其唯一的key值描述。
2.根據權利要求1所述的一種基于內存數據庫Redis的土地利用矢量數據存儲方法,其特征在于所述的步驟I)為:空間數據庫由空間數據集組成,空間數據集按縣級行政區劃存儲劃分,由圖層組成,土地利用矢量要素根據專題特征不同存儲于圖層中,空間數據庫元數據包括空間數據庫信息、空間數據集列表和圖層字段結構,空間數據集元數據包括空間數據集信息、最小外包矩形最小坐標、圖層列表和空間參考,圖層元數據包括圖層名稱和圖層信息,其中空間數據庫信息、圖層字段結構、空間數據集信息、最小外包矩形最小坐標、空間參考和圖層信息采用hash類型數據結構進行存儲,空間數據集名稱和圖層名稱采用列表類型數據結構進行存儲。
3.根據權利要求1所述的一種基于內存數據庫Redis的土地利用矢量數據存儲方法,其特征在于所述的步驟2)為:土地利用矢量采用hash類型數據結構存儲矢量要素,Key為空間要素對應的唯一標示,通過該描述可訪問該空間要素,命名規則為“空間數據庫名:空間數據集名:圖層名:要素ID”,其中key為矢量要素對應的唯一標示,通過該描述可訪問該矢量要素,field為字段名,包括集合類型、幾何特征、屬性特征1、屬性特征2……等字段,value為字段值,存儲字段對應值。
4.根據權利要求1所述的一種基于內存數據庫Redis的土地利用矢量數據存儲方法,其特征在于所述的步驟5)為:面要素的空間特征數據根據邊界是否可由線要素組成分為直接坐標描述和間接坐標描述兩類,直接坐標描述直接用坐標值表示,具體采用“環數即環I點數即環I坐標串,環2點數即環2坐標串,……”形式存儲,間接坐標描述是指利用構成面要素邊界的線要素唯一標示,即其唯一的key值描述,具體采用采用“環數即環I線要素數即環I線要素ID串,環2線要素數即環2線要素ID串,……”形式存儲,土地利用面要素層中,地類圖斑、宗地和行政區可分別用地類界線、界址線和行政區界線進行間接描述,其他面要素層則采用直接坐標描述方式。
【文檔編號】G06F17/30GK104182472SQ201410366200
【公開日】2014年12月3日 申請日期:2014年7月29日 優先權日:2014年7月29日
【發明者】劉仁義, 張豐, 杜震洪, 戚將輝, 靳鳳營 申請人:浙江大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影