按邻近性分组 (GeoAnalytics)

摘要

可对空间或时空上彼此接近的要素进行分组。

以下是可通过按邻近性分组工作流回答的问题示例:

  • 连接哪些道路?
  • 在临近距离和时间内出现的犯罪集团位于哪里?
  • 是否存在相互重叠的面组?

插图

按邻近性分组工具图示

使用情况

  • 此地理处理工具适用于 ArcGIS Enterprise 10.9.1 或更高版本。

  • 输出结果是带有名为 group_id 的新字段的输入副本。 该 group_id 字段表示要素的分组。 具有相同 group_id 值的要素在同一组中。 组号表示特定组中的成员身份,并不表示值。 重复使用工具时,组号可能不连续或相同。 结果将用八组符号表示。 如果结果中的组数超过 8 个,则默认情况下所有组都将使用八种颜色进行符号化。 您可以修改符号系统以通过在 group_id 字段上使用唯一符号进行符号化来显示每个唯一组。

  • 该工具支持以下关系组合:

    • 空间关系
    • 空间关系和时态关系
    • 空间关系和属性关系
    • 空间关系、时态关系和属性关系
    当满足所有指定的关系时,系统将对要素进行分组。

  • 受支持的空间关系和输入几何将如下表所述:

    输入几何类型相交接触测地线邻近平面邻近

    复选标记复选标记复选标记

    折线

    复选标记复选标记复选标记复选标记

    复选标记复选标记复选标记复选标记

    叠加方法描述

    相交

    当某些要素或其中的部分重叠时,则这些要素相交。 这是默认设置。

    接触

    如果要素与另一个要素具有相交折点,但两者不重叠,则目标要素与连接要素接触。

    测地线邻近

    如果顶点或边在另一个要素的给定测地线距离内,则这两个要素邻近。

    平面邻近

    如果顶点或边在另一个要素的给定平面距离内,则这两个要素邻近。

  • 要使用空间关系参数的邻近平面选项,必须投影输入图层参数值或将输出坐标系设置为投影坐标系

  • 支持的时间关系和时间类型如下表所述:

    输入时间类型相交邻近

    时刻

    复选标记复选标记

    间隔

    复选标记复选标记

    时间关系方法描述

    相交

    当要素时间的任何部分与另一要素重叠时,要素就会相交。

    邻近

    如果要素的时间在另一要素的给定时间距离内,则这两个要素彼此邻近。

  • 属性表达式是一种对称运算。 该工具将采用在分组时会与自身进行比较的单个输入图层。 正因为如此,该输入图层在 ArcGIS Arcade 表达式中将同时以 a 和 b 表示,并且所有的表达式都需要同时包含 a 和 b。 例如,要在 Amount 字段具有相同值时对所有记录进行分组,请使用以下表达式:$a["Amount"] == $b["Amount"]

  • 可执行以下一项或多项操作来提高按邻近性分组工具的性能:

    • 设置范围环境,以便仅分析感兴趣的数据。
    • 使用空间关系参数的邻近平面邻近测地线选项时,请使用较小的空间邻近距离参数值。
    • 使用空间关系参数时,邻近平面邻近测地线选项快。
    • 使用时间关系参数的邻近选项时,请使用较小的时间邻近距离参数值。
    • 本地数据用于分析运行的位置。

  • 此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。 分析将在 GeoAnalytics Server 上完成,且结果将存储在 ArcGIS Enterprise 的内容中。

  • GeoAnalytics Server 工具运行时,GeoAnalytics Server 上的分析已完成。 要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。 在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。 这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS ProGeoAnalytics Server 移动数据可能会失败。 失败的阈值取决于网络速度,以及数据的大小和复杂性。 建议您始终共享数据或创建大数据文件共享。

    了解有关将数据共享至您的门户的详细信息。

    了解有关通过 Server Manager 创建大数据文件共享的详细信息

参数

标注说明数据类型
输入图层

将对点、线或面要素进行分组。

Feature Set
输出名称

输出要素服务的名称。

具有分组要素的输出要素服务的名称将由新命名的字段表示 group_id

String
空间关系

指定要素分组所依据的关系类型。

  • 相交当某些要素或其中的部分重叠时,则将对这些要素进行分组。 这是默认设置。
  • 接触如果要素与另一个要素具有相交顶点,但两者不重叠,则将对要素进行分组。
  • 平面邻近如果顶点或边在另一个要素的给定平面距离内,则将对要素进行分组。
  • 测地线邻近如果顶点或边在另一个要素的给定测地线距离内,则将对要素进行分组。
String
空间邻近距离
(可选)

该距离将用于对邻近要素进行分组。 仅当空间关系参数值为邻近平面邻近测地线时,使用此参数。

Linear Unit
时态关系
(可选)

指定将用于匹配要素的时间条件。 当将该参数设置为相交邻近且当空间和时间条件都满足时,要素将被分组。 要支持此功能必须在输入上启用时间。

  • 相交当要素时间的任何部分与另一要素重叠时,要素将被分组。 这是默认设置。
  • 邻近如果要素的时间在另一要素的时间范围内,则要素将被分组。
  • 时间将不会用于对要素进行分组。
String
时态邻近距离
(可选)

时间距离将用于对邻近要素进行分组。 仅当空间关系参数值为邻近时,使用此参数。

Time Unit
数据存储
(可选)

指定将用于保存输出的 ArcGIS Data Store。 默认设置为时空大数据存储。 在时空大数据存储中存储的所有结果都将存储在 WGS84 中。 在关系数据存储中存储的结果都将保持各自的坐标系。

  • 时空大数据存储输出将存储在时空大数据存储中。 这是默认设置。
  • 关系数据存储输出将存储在关系数据存储中。
String
属性关系
(可选)

ArcGIS Arcade 表达式将用于对要素进行分组。 例如,当 Amount 字段具有相同的值时,$a["Amount"] == $b["Amount"] 将对要素进行分组。

String

派生输出

标注说明数据类型
输出要素图层

具有分组要素的新要素类将由新命名的 group_id 字段表示。

Feature Set

arcpy.geoanalytics.GroupByProximity(input_layer, output_name, spatial_relationship, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {data_store}, {attribute_relationship})
名称说明数据类型
input_layer

将对点、线或面要素进行分组。

Feature Set
output_name

输出要素服务的名称。

具有分组要素的输出要素服务的名称将由新命名的字段表示 group_id

String
spatial_relationship

指定要素分组所依据的关系类型。

  • INTERSECTS当某些要素或其中的部分重叠时,则将对这些要素进行分组。 这是默认设置。
  • TOUCHES如果要素与另一个要素具有相交顶点,但两者不重叠,则将对要素进行分组。
  • NEAR_PLANAR如果顶点或边在另一个要素的给定平面距离内,则将对要素进行分组。
  • NEAR_GEODESIC如果顶点或边在另一个要素的给定测地线距离内,则将对要素进行分组。
String
spatial_near_distance
(可选)

该距离将用于对邻近要素进行分组。 仅当 spatial_relationship 参数值为 NEAR_PLANARNEAR_GEODESIC 时,使用此参数。

Linear Unit
temporal_relationship
(可选)

指定将用于匹配要素的时间条件。 当将该参数设置为 INTERSECTSNEAR 且当空间和时间条件都满足时,要素将被分组。 要支持此功能必须在输入上启用时间。

  • INTERSECTS当要素时间的任何部分与另一要素重叠时,要素将被分组。 这是默认设置。
  • NEAR如果要素的时间在另一要素的时间范围内,则要素将被分组。
  • NONE时间将不会用于对要素进行分组。
String
temporal_near_distance
(可选)

时间距离将用于对邻近要素进行分组。 仅当 temporal_relationship 参数值为 Near 时,使用此参数。

Time Unit
data_store
(可选)

指定将用于保存输出的 ArcGIS Data Store。 默认为 SPATIOTEMPORAL_DATA_STORE。 在时空大数据存储中存储的所有结果都将存储在 WGS84 中。 在关系数据存储中存储的结果都将保持各自的坐标系。

  • SPATIOTEMPORAL_DATA_STORE输出将存储在时空大数据存储中。 这是默认设置。
  • RELATIONAL_DATA_STORE输出将存储在关系数据存储中。
String
attribute_relationship
(可选)

ArcGIS Arcade 表达式将用于对要素进行分组。 例如,当 Amount 字段具有相同的值时,$a["Amount"] == $b["Amount"] 将对要素进行分组。

String

派生输出

名称说明数据类型
output

具有分组要素的新要素类将由新命名的 group_id 字段表示。

Feature Set

代码示例

GroupByProximity 示例(独立脚本)

以下 Python 窗口脚本演示了如何使用 GroupByProximity 函数。

# Name: GroupByProximity.py
# Description: Group roads together that touch
#
# Requirements: ArcGIS GeoAnalytics Server

# Import system modules
import arcpy

# Set local variables
inFeatures = "https://myGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_cityData/BigDataCatalogServer/roads"
outFS = "groupedRoads"
overlayType = "TOUCHES"
dataStore = "SPATIOTEMPORAL_DATA_STORE"

# Run Group By Proximity
result = arcpy.geoanalytics.GroupByProximity(inFeatures, outFS, 
                                 overlayType, data_store=dataStore)

环境

特殊情况

输出坐标系

将用于分析的坐标系。 除非由该参数进行指定,否则将基于输入坐标系完成分析。 对于 GeoAnalytics Tools,最终结果将存储于 WGS84 中的时空数据存储之内。

许可信息

  • Basic: 需要 ArcGIS GeoAnalytics Server
  • Standard: 需要 ArcGIS GeoAnalytics Server
  • Advanced: 需要 ArcGIS GeoAnalytics Server

相关主题