连接要素工具可根据空间、时间和属性关系或这三者间的某种组合将属性从一个图层或表中转移到另一个图层或表。或者,用于计算连接要素的统计数据。
工作流示意图
使用 GeoAnalytics Tools 进行的分析
通过跨多个 ArcGIS GeoAnalytics Server 计算机和核心组件的分布式处理来运行使用 GeoAnalytics Tools 进行的分析。GeoAnalytics Tools 和 ArcGIS Enterprise 中标准要素分析工具的参数和功能不同。要了解有关这些差别的详细信息,请参阅要素分析工具差别。
示例
分析师拥有整个城市的犯罪数据。要分析和研究这些罪行的影响,分析师需要了解犯罪地点与城市各辖区(如学区、警务区、社区)的关系。通过使用“连接要素”工具,可将每个地点的附加信息追加到每一起犯罪中,并可以进一步研究和分析对不同辖区的影响。
提示:
如果您的门户配置为使用 ArcGIS Living Atlas 内容,则可以使用 ArcGIS Living Atlas 州县图层,其中包含可与犯罪数据连接的人口数据。
用法说明
“连接要素”工具专用于把信息从一个图层传递并添加到另一个图层。信息将基于定义的空间关系类型、定义的时间关系、两个数据集间共享的公用属性或上述三者间的某种组合进行传递。
连接要素时,您可以根据空间关系、时间关系、属性关系或上述三者的组合来连接要素。
选项 | 描述 |
---|---|
选择空间关系 | 将确定要素是否彼此相连的空间关系。可用的关系将取决于正在连接的图层的几何类型(点、线或面)。可用的空间关系如下:
|
选择时间关系 | 将确定要素是否彼此相连的时态关系。可用的关系取决于正在连接的图层的时间类型(时刻或间隔)。可用的时间关系如下:
|
选择字段进行匹配 | 将确定要素是否彼此相连的属性关系。如果连接图层中的字段值等于目标图层中的字段值,则会对要素进行匹配。 |
如果多个要素与同一目标要素相匹配,则您可以决定是否连接所有匹配要素(一对多连接)或是否将所有匹配要素汇总到一起(一对一连接),具体如下:
- 一对一连接 - 此选项可将所有匹配的连接要素汇总到目标图层中的每个要素。只有具备匹配项的要素才会包括在汇总和输出中。系统将添加已连接要素计数,此外也将添加其他统计数据,如总和、最小值、最大值、范围、平均值、方差和标准差。
- 一对多连接 - 此选项可将连接图层中的所有匹配要素连接到目标图层。此结果图层将包含目标要素的多个记录。
您可以选择构建连接要素所依据的表达式。如果指定了表达式,则只会使用符合条件的要素。例如,如果目标要素大于使用 $target["Magnitude"] > $join["Explosion"] 表达式且字段名称为 Explosion 的连接要素,则只能通过 Magnitude 字段连接目标要素。了解有关使用“连接要素”的 Arcade 表达式的详细信息。
如果选中使用当前地图范围,则仅分析当前地图范围内可见的要素。如果未选中,则会对目标图层和连接图层内的所有要素进行分析,包括超出当前地图范围的要素。
限制
仅在指定一对一连接操作时,才会计算汇总统计数据。
连接要素的工作原理
计算
仅针对符合一对一连接操作中所使用的指定空间、时间或属性关系的要素计算统计数据。可以计算数值和字符串统计数据。默认情况下,系统会计算所有统计数据。如果使用上图,则系统将根据 Occupants 字段计算数值统计数据,并针对 Type 字段的 Apartments 值,根据 Building_Name 字段计算字符串统计数据,如下表中所示:
数值统计数据 | 公寓类型的居住者结果 |
---|---|
计数 | 计数:
|
总和 |
|
最小值 | 最小值:
|
最大值 | 最大值:
|
平均值 |
|
方差 |
|
标准差 |
|
字符串统计数据 | 公寓类型的居住者结果 |
---|---|
计数 | ["Silverbirch Estates", "Pine Ridge", "Lake View"] = 3 |
任意 | = "Pine Ridge" |
注:
计数统计数据(针对字符串和数值字段)用于计算非空值的数量。[0, 1, 10, 5, null, 6] = 5 的计数。[Primary, Primary, Secondary, null] = 3 的计数。
ArcGIS API for Python 示例
可通过 ArcGIS API for Python 获取连接要素工具。
本示例可查找您所在州可能由雷击引起的停电事件。 此工具将返回发生雷击后 30 分钟内以及以雷击位置为中心 20 英里范围内发生的所有停电事件。
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import summarize_data
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported")
exit(1)
# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")
# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_NaturalDisaters")
# Look through the big data file share for lightning
lightning = next(x for x in bdfs_search.layers if x.properties.name == "Lightning")
# Find a feature layer named "PowerOutages" in your ArcGIS Enterprise portal
outages_search_result = portal.content.search("PowerOutages", "Feature Layer")
outages_layer = outages_search_result[0].layers[0]
# Set the tool environment settings
arcgis.env.verbose = True
arcgis.env.defaultAggregations = True
# Run the Join Features tool
output = summarize_data.join_features(target_layer = outages_layer,
join_layer = lightning,
join_operation = "JoinOneToMany",
spatial_relationship = "Near",
spatial_near_distance = 20,
spatial_near_distance_unit = "Miles",
temporal_relationship = "NearAfter",
temporal_near_distance = 30,
temporal_near_distance_unit = "Minutes",
output_name = "LightningOutages")
# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('yourState', 10)
processed_map.add_layer(output)
processed_map
类似工具
使用连接要素工具基于空间和属性关系,将属性从一个图层或表传递到另一个图层或表。
Map Viewer 分析工具
使用聚合点工具将点聚合到面中。
ArcGIS Desktop 分析工具
“连接要素”工具可执行空间连接、添加连接和汇总统计数据工具的功能。
可在 GeoAnalytics Tools 中运行 ArcGIS Pro 连接要素。