Spatial Join的理解

Spatial Join概述

Spatial Join是ArcGIS的叠置分析工具之一, 它在ArcGIS的工具箱(ArcToolBox)的位置如下:
Spatial Join在ESRI中文帮助中译为空间连接,是一个非常强大的叠置分析工具。简单来说,就是根据目标图层和连接图层叠置后的空间关系,将它们的属性表进行连接,同时可完成属性表中字段添加,修改字段名,以及计算基本统计值。文末通过一个小例子说明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(连接要素的字段列表)

Match Option(optional)(匹配选项)

共有四种选择,本别为intersects(相交);contains(包含);is_within(包含于);closest(最近)。
1. Intersects:join feature(intersects)target feature。任何形状的要素都能进行这种操作。
2. contains:target feature (contains)join feature。在此,target feature不能为点要素,因为点要素不能包含其它要素;若join feature为面要素,则target feature也只能是面要素。
3. is_within:target feature(is_within)join feature。若target feature 为面,则join feature也只能为面;join feature不能为点。
4. closest:两个要素间距离不超过一定范围(范围由用户自己定,写在下一行)
在理论上,始终记住上面的条件限制似乎麻烦。但是用户不必担心,当我们选择的要素不能进行某些操作时,系统会自动屏蔽,不在下拉列表框中出现。所以细心的用户会发现,经常会出现下拉列表框只有3个操作可供选择。

Keep All Target Features(保留所有目标要素)

默认为选中状态,原本的要素会依旧一个不落得显示在新图层里,但是属性数据可能会有些变化。去掉复选框的“√”,只会保留满足Match
Option的目标要素。

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,再根据
这个增加的字段给属于不同行政区划的景点设置不同的颜色


转载自:https://blog.csdn.net/huangyinyou/article/details/79276309

You may also like...