Geodatabase中的子類(Subtypes)

2021-06-15 21:57:25 字數 1208 閱讀 1701

(原創)geodatabase中的子類(subtypes)

資料庫組織中關心的兩件事就是完整性和效率的高低。域和子類為組織資料提供了一種方法,便於確保這些操作,如編輯,在保持屬性完整性的前提下更加高效。下面就子類問題進一步闡述。

設計geodatabase的乙個重要決策就是確定是要組成一組要素類還是建立有子類的單一要素類。子類是乙個要素類或物件類中要素或物件的輕量級的劃分。使用子類的主要原因是提高效能。含有少量要素類的geodatabase比含有多個要素類的geodatabase效能更好一些。子類允許使用者通過屬性規則、關係規則、預設值和連線規則指定乙個要素類中一組要素的行為。在任何可能的情況下,都應首先選擇用子類區分相關聯的要素組。

雖然乙個要素類或表的所有物件有相同的行為和屬性,但並不是所有的物件共巷相同的屬性域。當乙個要素類或表中的物件使用不同的屬性域時,使用不同屬性域的物件構成了要素類或表的子類(subtypes)。乙個物件的字類是由其子類**值決定的,子類**一整型字段儲存在要素類或表中,每乙個子型別在給定的字段可以有它自己的預設值集合和屬性域,並且關聯不同的連線規則。

在進行geodatabase設計時,需要決定在什麼地方社和使用子型別和在什麼地方需要新增要素類,當需要通過預設值、屬性域、連線規則、關係規則區分物件時就需要對單一的要素類或表建立不同的子型別。當根據不同的行為、屬性、訪問許可權或物件的多版本來區分物件時,必須建立另外的要素類,即需要把相關聯的要素組分成不同要素的情況有:每一組的關聯要素需要不同的定製行為;要素集的屬性不同;每一要素組組要不同的訪問許可權;一些要素需要通過版本訪問,而另外一些不能。

子類提供了一種劃分要素的方法,即依據長整型數屬性值把要素類劃分成多個邏輯組。例如,街道類中有乙個長整型屬性欄位class(街道級別),1代表主要街道,2代表次要街道。將街道類劃分為兩個子類,主要街道和次要街道就是根據要素類中的列的數值而建立。任何值為1 的要素都歸類到次要街道子類,值為2的要素類屬於主要街道子類。這樣在arcmap中可以利用符號表示或根據子類對其進行編輯。通過子與乙個域的聯結,還可以為整個子類加強資料的完整性。

注意:子類列必須是長整數。如果從info表向geodatabase表中匯入資料,則惟有定義為4位元組的二進位制的資料項才是合格的。如果沒有整數列,則需要建立乙個,可以用以下技巧:在geodatabase新增乙個長整數列,然後把原來非長整數列中的數值轉移到新的整數列中。

參考arcgis 8開發與實踐(毛鋒)

geodatabase教程(培訓教程)

building a geodatabase(esri) 

Geodatabase中基於規則的拓撲關係管理機制

geodatabase中基於規則的拓撲關係管理機制 發表 2004 11 27 22 28 17 出處 你的部落格網 yourblog.org 富融公司 蔡曉兵 1 問題的提出 空間資料的拓撲關係及其處理方法在高階的空間分析處理和空間資料庫資料質量保證方面具有相當重要的作用。在arcinfo的經典資...

geodatabase與gdb的相互轉換

geodatabase長得是gdb的全稱,確實它們有一定的關係,但也有區別。有人也問過我,gdb外表像個資料夾,是怎麼實現的。gdb資料庫是esri特有的資料庫,它是一些資料集定義 規則和關係的地理資料庫方案。這是不展開說,如果沒有特別要求,使用gdb比mdb更好!geodatabase是arcgi...

地理資料庫 geodatabase 的架構

地理資料庫儲存模型以一系列簡單但核心的關聯式資料庫概念為基礎,並利用了基礎資料庫管理系統 dbms 的優勢。簡單表和明確定義的屬性型別用於儲存各地理資料集的方案 規則 庫以及空間屬性資料。該方法為儲存和使用資料提供了乙個正式模型。通過此方法,可使用結構化查詢語言 sql 即一系列關係函式和運算子 來...