ArcGIS表關聯方式介紹
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表。
串連表可能失敗的原因
l 用於串連的指定欄位中的值不匹配。
串連區分大小寫,使用字串欄位建立串連時要注意此問題。例如,NEW YORK 不會與 New York 串連。要將字串值轉換為正常的大小寫形式,請參閱進列欄位計算中的任務。
l 表或要素類的名稱,或者表或要素類中的欄位名稱包含空格或特殊字元。
這些特殊字元包括連字號(如 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。
l 表格儲存體在非個人地理資料庫的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
-------------------------------------------------------------------------------------------------------