一種個人地理信息的操作方法及裝置與流程
2023-07-14 21:15:11 1

本發明屬於地理信息領域,尤其是涉及一種個人地理信息的操作方法及裝置。
背景技術:
Geodatabase是一種採用標準關係資料庫技術來表現地理信息的數據模型。Geodatabase支持在標準的資料庫管理系統(DBMS)表中存儲和管理地理信息。Geodatabase支持多種DBMS結構和多用戶訪問,且大小可伸縮。從基於Microsoft Jet Engine的小型單用戶資料庫,到工作組,部門和企業級的多用戶資料庫,Geodatabase都支持。
目前有兩種geodatabase結構:個人Geodatabase和多用戶Geodatabase (multiuser geodatabase)。個人Geodatabase,對於ArcGIS用戶是免費的,它使用Microsoft Jet Engine數據文件結構,將GIS數據存儲在小型資料庫中。個人geodatabase更像基於文件的工作空間,資料庫存儲量最大為2GB。個人geodatabase使用微軟的Access資料庫來存儲屬性表。對於小型的GIS項目和工作組來說,個人Geodatabase是非常理想的工具。通常,GIS用戶採用多用戶Geodatabase來存儲和並發訪問數據。個人Geodatabase支持單用戶編輯,不支持版本管理。
在使用Personal GeoDatabase數據模型時,一般方法是使用ArcGIS桌面軟體或基於ArcEngine組件開發的軟體進行讀寫,始終無法脫離ArcGIS。
技術實現要素:
本發明提供了一種個人地理信息的操作方法及裝置,以解決現有技術中使用個人地理信息需要ArcGIS讀寫數據格式的技術問題。
一方面,本發明實施例提供了一種個人地理信息的讀取方法,包括:
訪問數據系統表,根據所述數據系統表信息獲取數據記錄表;
根據所述數據記錄表獲取要素的屬性信息。
進一步的,所述根據所述數據記錄表獲取要素的屬性信息,包括:
讀取所述數據記錄表中的所述表中的圖層的信息;
獲取所述圖層中要素的屬性信息。
一方面,本發明實施例提供了一種個人地理信息的寫入方法,包括:
根據要素的屬性信息創建數據記錄表;
根據所述數據記錄表生成數據系統表。
進一步的,所述根據要素的屬性信息創建數據記錄表,包括:
根據要素的屬性信息建立圖層信息;
根據所述圖層信息創建數據記錄表。
一方面,本發明實施例還提供了一種個人地理信息的修改方法,包括:
在修改要素的屬性信息的同時,修改數據系統表中所述要素對應的圖層的索引內容。
一方面,本發明實施例提供了一種個人地理信息的讀取裝置,包括:
訪問單元,用於訪問數據系統表,根據所述數據系統表信息獲取數據記錄表;
獲取單元,用於根據所述數據記錄表獲取要素的屬性信息。
進一步的,所述獲取單元用於:
讀取所述數據記錄表中的所述表中的圖層的信息;
獲取所述圖層中要素的屬性信息。
一方面,本發明實施例提供了一種個人地理信息的寫入裝置,包括:
創建單元,用於根據要素的屬性信息創建數據記錄表;
生成單元,用於根據所述數據記錄表生成數據系統表。
進一步的,所述創建單元用於:
根據要素的屬性信息建立圖層信息;
根據所述圖層信息創建數據記錄表。
另一方面,本發明實施例還提供了一種個人地理信息的修改裝置,包括:
修改單元,用於在修改要素的屬性信息的同時,修改數據系統表中所述要素對應的圖層的索引內容。
本發明實施例提供的個人地理信息的操作方法及裝置,可以在不依賴ArcGIS的環境下對Personal GeoDatabase數據模型進行讀寫操作,可以通過該組件將其他格式的GIS數據轉換為ArcGIS通用的GeoDatabase數據模型。節省了個人地理信息的操作成本。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明實施例一提供的個人地理信息的讀取方法的流程示意圖;
圖2是本發明實施例二提供的個人地理信息的寫入方法的流程示意圖;
圖3是本發明實施例三提供的個人地理信息的修改方法的流程示意圖;
圖4是本發明實施例四提供的個人地理信息的讀取裝置的結構示意圖;
圖5是本發明實施例五提供的個人地理信息的寫入裝置的結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
實施例一
圖1是本發明實施例一提供的個人地理信息的讀取方法的流程示意圖;本方法可適用於讀取Personal GeoDatabase數據的情況,該方法可以由個人地理信息的讀取裝置來執行,該裝置可由軟體/硬體方式實現。
參見圖1,所述個人地理信息的讀取方法,包括:
S110,訪問數據系統表,根據所述數據系統表信息獲取數據記錄表。
系統數據表通常可用於存儲數據記錄表的相關信息,例如:數據記錄表的存儲位置,存儲屬性等。示例性的,可以通過Microsoft.Jet.OLEDB驅動實現。從GDB_ObjectClasses和GDB_FeatureClasses表中獲取圖層名稱、從GDB_GeomColumns中獲取空間數據類型(點、線、面、註記等)、從GDB_SpatialRefs表中空間參考信息、從GDB_FieldInfo表中欄位信息、從GDB_Domains表中獲取欄位的值域信息等。
S120,根據所述數據記錄表獲取要素的屬性信息。
具體的,讀取所述數據記錄表中的所述表中的圖層的信息;獲取所述圖層中要素的屬性信息。示例性的,可以訪問數據記錄表,獲取圖層中的每一個要素的屬性信息和空間信息。屬性信息的讀取同普通的文件資料庫方法一樣,獲取每個欄位的值;空間信息的讀取是讀取空間Shape欄位的長二進位內容,然後按照ESRI ShapeFile中規定的點、線、面存儲規則進行分析,獲取點線面的詳細坐標等信息。
本實施例提供的個人地理信息的讀取方法,通過訪問數據系統表,根據所述數據系統表信息獲取數據記錄表,根據所述數據記錄表獲取要素的屬性信息。可以利用現有的驅動分層次讀取個人地理信息的所有屬性信息。能夠實現完整準確地讀取所有個人地理信息。
實施例二
圖2是本發明實施例一提供的個人地理信息的讀取方法的流程示意圖;本方法可適用於寫入Personal GeoDatabase數據的情況,該方法可以由個人地理信息的寫入裝置來執行,該裝置可由軟體/硬體方式實現。
參見圖2,所述個人地理信息的寫入方法,包括:
S210,根據要素的屬性信息創建數據記錄表。
具體的,可以根據要素的屬性信息建立圖層信息;根據所述圖層信息創建數據記錄表。同樣,也需要通過Microsoft.Jet.OLEDB驅動來實現,先在GDB_ObjectClasses數據表中增加圖層註冊記錄,獲得ObjectClassID;然後在GDB_FeatureClasses和GDB_表中增加圖層信息記錄,設置要素類型,幾何類型,Shape欄位等參數;最後創建圖層表和圖層Shape_Index表。
S220,根據所述數據記錄表生成數據系統表。
利用現有的Access數據讀寫API完成空白MDB文件的創建,根據所述數據記錄表創建數據系統表,系統表中的欄位及內容按照Personal GeoDatabase模型要求創建和填寫。
本實施例提供的個人地理信息的寫入方法,根據要素的屬性信息創建數據記錄表;根據所述數據記錄表生成數據系統表。可以利用現有的驅動寫入個人地理信息的所有屬性信息。並創建相應的系統表,能夠實現完整準確地寫入所有個人地理信息。
實施例三
圖3是本發明實施例三提供的個人地理信息的修改方法的流程示意圖;本方法可適用於修改Personal GeoDatabase數據的情況,該方法可以由個人地理信息的修改裝置來執行,該裝置可由軟體/硬體方式實現。
參見圖3,所述個人地理信息的修改方法,包括:
S310,修改屬性信息。
圖層要素的增刪改類似於資料庫記錄的增刪改,示例性的,可參考讀取的屬性信息,並對屬性信息進行修改後按照寫入方法重新寫入。
S320,在修改要素的屬性信息的同時,修改數據系統表中所述要素對應的圖層的索引內容。
增刪改圖層表的記錄同時修改圖層Shape_Index表的相關記錄。圖層要素的Shape信息改動,是通過按照ESRI ShapeFile格式要求修改長二進位內容來實現,同時需要修改圖層Shape_Index表中相關記錄的MinGX、MinGY、MaxGX、MaxGY的欄位內容。
本實施例提供的個人地理信息的修改方法,通過在修改要素的屬性信息的同時,修改數據系統表中所述要素對應的圖層的索引內容。可以利用現有的驅動修改個人地理信息的屬性信息,並相應的修改索引內容。以使得修改後的內容完整無誤,並方便查找。
實施例四
圖4是本發明實施例四提供的個人地理信息的讀取裝置的結構示意圖,如圖4所示,所述裝置包括:
訪問單元410,用於訪問數據系統表,根據所述數據系統表信息獲取數據記錄表;
獲取單元420,用於根據所述數據記錄表獲取要素的屬性信息。
本實施例提供的個人地理信息的讀取裝置,可以利用現有的驅動分層次讀取個人地理信息的所有屬性信息。能夠實現完整準確地讀取所有個人地理信息。
進一步的,所述獲取單元用於:
讀取所述數據記錄表中的所述表中的圖層的信息;
獲取所述圖層中要素的屬性信息。
實施例五
圖5是本發明實施例五提供的個人地理信息的寫入裝置的結構示意圖,如圖5所示,所述裝置包括:
創建單元510,用於根據要素的屬性信息創建數據記錄表;
生成單元520,用於根據所述數據記錄表生成數據系統表。
本實施例提供的個人地理信息的寫入裝置,根據要素的屬性信息創建數據記錄表;根據所述數據記錄表生成數據系統表。可以利用現有的驅動寫入個人地理信息的所有屬性信息。並創建相應的系統表,能夠實現完整準確地寫入所有個人地理信息。
進一步的,所述創建單元用於:
根據要素的屬性信息建立圖層信息;
根據所述圖層信息創建數據記錄表。
本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬體來完成。前述的程序可以存儲於一計算機可讀取存儲介質中。該程序在執行時,執行包括上述各方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光碟等各種可以存儲程序代碼的介質。
最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的範圍。