ArcGIS屬性表關聯方式(Join和Rela…

NO IMAGE

ArcGIS表關聯方式介紹(Join和Relate)

注:本文轉載於Blog:http://blog.csdn.net/linghe301

Weibo:http://www.weibo.com/linghe301

ArcGIS的表關聯方式有很多:Join、Relate、QueryLayer、ArcSDE檢視、關係類等,這些關聯看似有相同的地方,但是其實不同的關聯方式適合於不同的資料,不同的軟體環境,不同的應用場景,不同的版本等,下面我們就針對每一個關聯進行相關的分析和說明。

本文所有的測試環境

作業系統:Windows7 64Bit

資料庫:Oracle 11.2.0.164Bit

中介軟體:ArcSDE10 SP2 64Bit

客戶端:ArcGIS
Desktop10SP264Bit

資料情況

面狀要素:Place


普通表:Owner


預前說明

關於普通表在資料庫中儲存和在ArcSDE裡面儲存管理是完全不同的,雖然都是儲存在資料庫中,但是通過ArcSDE管理這些普通表的資訊是會註冊到ArcSDE的相關Schema中的,那麼就出現一個問題,當我們需要管理一個Linux作業系統的普通表,如果這些表是ArcSDE管理,那麼這些表我們就可以通過ArcSDE服務的方式進行關聯,如果這些表是以普通方式進行儲存,那麼我們只能通過OleDB驅動來關聯,但是Windows系統預設的OleDB驅動有SQLServer和Oracle的,如果使用者是DB2的資料庫,需要自己安裝OleDB驅動,要麼不安裝OleDB驅動使用ArcSDE服務。

Join

      
使用場景:將一個要素類與一個普通表進行關聯

資料環境:檔案資料或者資料庫都可以

必須條件:要素類與普通表必須有一個關聯欄位

Join後我們可以看到,要素類的屬性(既有要素類屬性又有普通表的屬性)

Validate Join進行驗證

Ø 
檢查欄位名稱是否以無效字元開頭。

Ø 
檢查欄位名稱是否包含無效字元。

Ø 
檢查欄位名稱是否與保留字匹配。

Ø  檢查是否存在非地理資料庫 MS
Access表。

連線表可能失敗的原因


用於連線的指定欄位中的值不匹配。

連線區分大小寫,使用字串欄位建立連線時要注意此問題。例如,NEW
YORK 不會與 New York 連線。要將字串值轉換為正常的大小寫形式,請參閱進行欄位計算中的任務。


表或要素類的名稱,或者表或要素類中的欄位名稱包含空格或特殊字元。

這些特殊字元包括連字元(如 x-coordinate 和
y-coordinate)、圓括號、方括號以及 $、% 和 #
等符號。實際上排除了字母數字和下劃線之外的所有符號,但欄位名稱不能以數字或下劃線開頭。必須先對帶分隔符的文字檔案或其他表中的欄位名稱進行編輯以刪除不支援的字元,然後再在
ArcGIS 中使用這些檔案。地理資料庫的要素類、表和欄位的名稱最多可包含 64
個字元。(更具體地說,您最多隻能為個人地理資料庫的要素類名稱輸入 52 個字元,因為系統會將字元總數追加到 64
個。)Shapefile 和 .dbf 欄位的最大名稱長度為 10 個字元。對於 INFO 表,最多使用 16
個字母或數字。

l  表中的欄位名為
MicrosoftAccess 的保留字。

例如,date、day、month、table、text、user、when、where、year
和 zone。


表儲存在非個人地理資料庫的Microsoft Access 資料庫中。

應通過 OLE DB 連線在 ArcGIS 中訪問 Microsoft
Access 表,而不應試圖直接向 ArcMap 新增資料庫。

使用join其實最大的便利就是進行標註顯示,如下:

使用這個可以將要素類的屬性和普通表的屬性同時標註,增加使用者對資料的可讀性。

儲存方式:只能使用MXD的方式進行儲存,如果不使用MXD,關閉ArcMap建立的關聯關係就不在存在。

提示:如果要素類與屬性表不在同一個庫中(同一個庫表示檔案資料比如在同一個Geodatabase,非檔案資料在同一個資料庫中),如果修改屬性表的值,是不會實時更新的,必須重新再建立Join連線,這樣才能看到最新的資訊。

Relate

        
Relate的使用跟Join比較類似,但是Relate並不會更改要素類的表資訊(不會將普通表的資訊新增到要素類中),但是在使用ArcMap的資訊查詢可以看到。

      
關於使用資料、使用場景、儲存方式都可以參考Join的說明。

——————————————————————————————————-
版權所有,文章允許轉載,但必須以連結方式註明源地址,否則追究法律責任!
QQ群:      
     
 78773981
Blog:      
     
  http://blog.csdn.net/linghe301
Weibo:      
   
 http://www.weibo.com/linghe301