ArcGIS—數據類型(2):Geodatabase數據

本篇文章主要介紹ArcGIS中的Geodatabse數據類型。

目錄


寫在前面的話:對於Geodatabase數據類型的介紹並沒有從最基礎的定義之類開始,而是更多地挖掘它叫深層次地關係,所以可能會比較適合有一定GIS基礎的小夥伴們。還有,此篇介紹是基於筆者自己查到的資料並結合自我理解,如有不妥之處,歡迎指出。

1. geodatabse對象理解

首先在ArGIS的官方文檔中找到了關於Geodatabase數據類型的對象UML圖,最開始就從這張圖開始理解吧。
這裏寫圖片描述
上述表中簡要地列出了geodatabase數據類型中重要的一些對象,它們總結如下:

  • Workspace in the geodatabase data model corresponds to a geodatabase。
    • 描述:這是一般類;就整個ArcGIS來說,esri提供三種Workspace類型:esriFileSystemWorkspace(如Coverage、Shapefile)、esriLocalDatabaseWorkspace(FileGeodatabase、PersonalGeodatabase)以及esriRemoteDatabaseWorkspace(ArcSDE)。
    • 功能:
      • 統一管理各類數據集的容器,既可以有空間數據集也包括非空間數據集
      • 提供創建新數據集及其實例化的方法;
      • 設置數據讀取和存儲的默認路徑。
    • 接口:可以參考官方文檔:Workspace接口介紹
  • Dataset is the highest level data container.

    • 類型:抽象類
    • 功能:
      • 可以是任何數據的集合,如Row、Table、FeatureClass…放在workspace中的對象都可以稱爲Dataset;
      • 用來被繼承,不定義具體的內容,只規定該有那些內容,不能被實例化(不能由抽象類直接創建對象,只能通過抽象類派生出的子類來創建),具有抽象方法的類一定是抽象類;
    • 接口:
      • IDataset接口:定義要素及的基本方法和屬性;
      • IDatasetEdit接口
      • IschemaLock接口
  • Geodataset is a dataset that contains geographic data.

    • 類型:同一個Geodataset中的要素類具有相同的座標系統→作爲判定Geodataset的標準。是一個代表了擁有空間屬性的數據集的抽象類,也可看作爲一個容器
    • 接口:
      • IGeoDatasetSchemaEdit接口
      • IGeoDatasetSchemaEdit接口
  • FeatureDataset is comprised of feature classes, geometric networks, and topologies. (裏面的要素具有相同空間參考)

  • Table is a collection of rows that have attributes stored in columns.

    • 特點:Table是數據的最小的容器
    • 接口:參考官方文檔:Table接口介紹
  • Row is a record in a table. All rows in a table share the same set of fields.

  • ObjectClass is a type of table that stores non-spatial objects.

    • 特點:是Table的子類,具有屬性和行爲
    • 接口:參考官方文檔:Object接口介紹
  • FeatureClass is a type of object class that stores spatial objects.

    • 特點:是ObjectClass的子類,在ObjectClass上進一步發展,用Shape屬性描述了圖形屬性(形狀及位置),即存儲了空間數據(空間數據以具有屬性和行爲的要素表現),是於Table和對象類的最大區別。
    • 接口:參考官方文檔:FeatureClass接口介紹
  • Feature is an object with a geometric shape.

  • RelationshipClass represents relationships through embedded foreign keys.

  • Relationship is an association between objects or features; it controls behavior when objects or features are moved or deleted.

  • AttributedRelationshipClass is a type of table that stores relationships.

  • AttributedRelationship can represent many-to-many relationships as well as attributes on relationships.

2. Geodatabase的面向對象

  • Geodatabase具有面向對象的特點

    • 多態:同一要素的不同存儲方式相同操作方式
      • 同一個要素無論是存放於Shapefile格式還是PersonalGeodatabase還是SDE中,都可以對其進行編輯、刪除等操作。
    • 封裝:標準化接口編程
      • 不需要了解對象內部實現具體工作行爲的原理和過程,只需要通過ArcGIS提供的方法接口進行操作即可。
    • 繼承:存在子類(SubClass)
      • 例如:
        • FeatureDataset和RasterDataset是GeoDataset的子類;
        • AttributedRelationshipClass是RelationshipClass下的一個子類;
  • 嚴格來說,Geodatabase並不是數據庫。在ArcGIS和相關的用戶系統中,通過Geodatabase這一規範化的地理數據模型,數據庫管理系統(DBMS)可以被當作是開放的空間數據庫系統,這時通用關係數據模型的簡單性和靈活性使數據庫管理系統支持的應用程序範圍非常廣泛。數據的存儲和提取由存儲層DBMS實現,高端的數據整合和數據處理功能則由應用層ArcGIS提供。


3. Geodatabase零散知識點

3.1 Geodatabase的分類

-PersonalGeodatabase(.mdb)
- 使用Access數據庫爲儲存介質(可用Access在外部直接打開讀取數據),容量爲2G;
- 僅僅支持Windows系統,只能單用戶編輯和讀取,不支持用戶併發操作;
- 不支持壓縮
- FileGeodatabase(.gdb)
- 在文件系統中以文件夾的形式表現,用二進制方式存儲,每個表容量爲1T;
- 支持多平臺操作(Windows、Linux、Dos…),單用戶編輯多用戶讀取;
- 支持壓縮。
- 大型關係數據庫+ArcSDE形成的地理數據庫
- 存儲格式爲DBMS(DataBase Management System);
- 操作平臺依賴於DBMS,支持多用戶編輯和讀取;
- 可存儲、管理海量數據;
- 存儲於RDBMS中。

3.2 Geodatabase中的Dataset

Geodatabase由各種Dataset組成。
Geodatabase示例
由上圖可以看出,Dataset包括:

  • GeoDataset:擁有空間屬性的數據集
    • Feature Dataset;
    • Raster Dataset;
    • TIN;
    • GeoDataset中也可以直接存放FeatureClass。
  • Table:由row組成
    • ObjectClass:由Object組成;
    • AttributedRelationshipClass:由AttributedRelationship組成

4. Geodatabse數據知識擴展

筆者從網上download了一份esri公司關於geodatabase介紹的ppt,貼出幾張比較關鍵的給大家再加深一下理解:

  • Geodatabase是支持多種數據集的,如下圖:
    這裏寫圖片描述

  • 要素數據集可以具有多種行爲:
    這裏寫圖片描述

  • 要素具有屬性域:
    這裏寫圖片描述

  • Geodatabase要素還可以具有子類:
    這裏寫圖片描述

  • Geodatabase要素支持多種規則:
    這裏寫圖片描述


–原創文章,轉載必須註明出處–

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章