Spatial Join概述,Spatial Join對話框介紹,Target Feature,Join Feature,Output Feature,Field Map of Join Features,Match Option(optional),Keep All Target Features,Join Operation,Distance Field Name,實例,問題,操作解答,
Spatial Join概述
Spatial Join是ArcGis的疊置分析工具之一, 它在ArcGis的工具箱(ArcToolBox)的位置可參照圖冊封面尋找。Spatial Join是一個強大的疊置分析工具,可進行多種操作,中文可譯為空間聯合。用它進行分析時可以同時對圖層要素與屬性表進行操作,對圖層要素的操作主要為尋找滿足條件的要素並添加到一個新圖層,對屬性要素的操作主要為增加有需要的欄位並寫入相應數據,最後將通過一個小例子說明Spatial Join的強大功能。
Spatial Join對話框介紹
Spatial Join的對話框如右圖所示
Target Feature
Target Feature中的對象要素為結果中得到的要素,即Target Feature中若為點要素,則得到的為從此檔案中篩選的點要素。
Join Feature
Join Features相當於參照物,比如,篩選出點與線距離在50m範圍之內的點。篩選對象為點要素,故點層為Target Feature,篩選所用的參照物為線要素,故線層為Join Feature。
Output Feature
Output Feature 為要輸出的圖層,系統會自動新建,此圖層中的點為在Target Feature中滿足條件的點(若操作時選擇Keep All Target Features,則會保留Target Features所有的要素;若操作時不勾選這一項,則只顯示所需要的要素。)
Field Map of Join Features
會顯示出兩個層內所有的欄位,根據需要修改相關欄位,修改後的欄位將體現在生成的新圖層數據的屬性表上。可以滑鼠右擊選擇Rename自定義欄位名,方便記憶。
Match Option(optional)
共有四種操作,本別為intersects;contains;is_within;closest。
Intersects:join feature(intersects)target feature。任何形狀的要素都能進行這種操作。
contains:target feature (contains)join feature
這裡要注意的是,target feature不能為點要素,因為點要素不能包含其它要素;若join feature為面要素,則target feature也只能是面要素。
③is_within
target feature(is_within)join feature。
若target feature 為面,則join feature也只能為面;join feature不能為點。
④closest:兩個要素間距離不超過一定範圍(範圍由用戶自己定,寫在下一行)
在理論上,始終記住上面的條件限制似乎麻煩。但是用戶不必擔心,當我們選擇的要素不能進行某些操作時,系統會自動禁止,不在下拉列表框中出現。所以細心的用戶會發現,經常會出現下拉列表框只有3個操作可供選擇。
Keep All Target Features
Join Operation
有兩個選項,join one to one和join one to many。
前者是一對一的關係,後者是一對多的關係。
即如果Target Feature與Join Feature是一對多的關係,如果選擇前者,結果的屬性表中Target Feature僅選擇Join Feature中滿足條件的一條屬性進行聯合;反之,將選擇所有滿足條件的屬性進行聯合,這樣的結果是,新圖層上一個要素可能對應的有幾條屬性行。
Distance Field Name
它只在“Match Option”選擇“Closest”時才可用。用戶可填寫新增的欄位名稱,該欄位默認為Double類型,將記錄目標與最近的Join Feature的距離。“-1”代表這個點不符合要求(即這個點到Join Features的距離大於用戶的定義值)
實例
問題
現有兩份shp檔案。一份是點檔案,給它命名為:景點;另一份是面檔案,給它命名為:行政區劃。兩份檔案中相對應的表欄位如下:
表名/欄位名 | 欄位1 | 欄位2 | 欄位3 |
景點 | ID | Name | Adress |
行政區劃 | ID | Name | Density |
其中,Name各為景點名稱和區縣名稱,Adress為景點地址,Density為行政區劃人口密度。
問題:假設有5000條景點的屬性數據和100條行政區劃的屬性數據,請根據行政區劃的名稱,對景點進行分類,使處在不同行政區劃上的點以不同的顏色表示。(若給點提示,則可以問:要求給景點數據增加一個欄位,用來表示景點所在的行政區,並且根據這個增加的欄位給屬於不同行政區劃的景點設定不同的顏色。)
操作解答
提示告訴我們,要先給景點數據增加一個欄位,用來表示景點所在的行政區。
故第一步,進行Spatial Join時,Target Feature 選擇景點層,Join Feature選擇行政區劃層,Match Operation選擇intersects或者is_within,最後第二行的數字與此操作無關,默認即可,Field Map of Join Feature中一定要留著區縣的名稱,區縣其他欄位可刪。
單擊OK,便出現一個新的圖層,乍看之下沒什麼變化。但是打開新的點層的屬性表,會發現最後一列多了行政區劃的名稱欄位。
第二步,在新的點層上右鍵依次選擇Properties→Symbology,再根據
這個增加的欄位給屬於不同行政區劃的景點設定不同的顏色