面邻域 (分析)

摘要

根据面邻接(重叠、重合边或结点)创建统计数据表。

了解有关“面邻域”工作原理的详细信息

插图

“面邻域”工具示例
显示源面及其邻域面的逻辑示意图

使用情况

  • 该工具通过汇总源面和邻域面之间的以下内容来分析面邻接:

    • 重叠面积(重叠邻域(可选))
    • 重合边的长度(边邻域)
    • 边界在源面与邻域面之间的某一点处交叉或接触的次数(节点邻域)
    将汇总信息写入输出表。 源面可能具有一个或多个邻域面;邻域面是以至少一种上述方式与源面相关联的空间。

  • 此工具只分析和报告一阶邻接。 不检查超出的关系;即不检查邻域的邻域(二阶邻接)。

  • 按字段报告参数Pythonin_fields)用于确定唯一面或面组,并按面或面组报告其邻域信息。 要在输入中查找每个单独的面的邻域,指定为每个面生成唯一值或值集(在使用多个字段的情况下)的一个或多个输入字段。

    如果已指定的字段确定了唯一的面组,则按组汇总和报告邻域信息。

    有关使用此参数的详细信息,请参阅面邻域的工作原理

  • 您可以使用包括区域重叠参数来分析区域重叠关系。 当选中包括区域重叠时,输出表将包含 AREA 字段,该字段用于存储所分析的重叠邻域的重叠面积。 如果未发现重叠,则 AREA 字段值为 0。

    提示:

    计算区域重叠关系会占用较多的系统资源,执行起来比确定重合边和结点邻域关系可能要慢。 如果您知道数据中没有重叠要素或者您对分析重叠邻域不感兴趣,请确保未选中包括区域重叠参数(Python 中的 area_overlap = "NO_AREA_OVERLAP")。

    警告:

    要获取源面完全包含的邻域记录,必须在对话框中选中包括区域重叠参数(Python 中的 area_overlap = "AREA_OVERLAP")。 如果未选中包括区域重叠参数,则输出表将不包含源面中完全包含的邻域的记录。

  • 输出表中不包含没有相邻要素的条目。

  • 包括邻域关系的两侧参数用于控制输出中所包括的关系。 要报告所有邻接关系,包括相互关系,请选中包含邻域关系的两侧Python 中的 both_sides = "BOTH_SIDES")。 例如,如果 OID1 是 OID2 的邻域,则将一个条目写入输出表:OID1 具有邻域 OID2,OID2 具有邻域 OID1。如果只需要第一侧的关系,则取消选中包括邻域关系的两侧。 使用上述示例,但要取消选中包括邻域关系的两侧,则在输出表中仅输入一个条目:OID1 具有邻域 OID2。

  • 输出线性单位指定相邻要素间共享边界长度将使用的单位。 默认情况下,使用的单位与输入要素坐标系所定义的单位相同。

  • 仅当选中包括区域重叠参数时(Python 中的 area_overlap = "AREA_OVERLAP")才使用输出面积单位。 选中了包括区域重叠后,在输出面积单位参数中指定用于计算邻域的区域重叠的单位。 默认情况下,使用的单位与输入要素的坐标系所定义的单位相同。

  • 输出表参数值可以是文件地理数据库表或 .dbf 表。

  • 对于按字段报告参数中指定的每个字段,输出表将包含两个使用以下命名约定的字段:src_<field>nbr_<field>。 这些字段表示输入的源字段和邻域字段值。

    输出表中还包含以下字段:

    • AREA- 此字段用于存储源面和邻域面(重叠邻域)的总重叠面积。 仅当选中包括区域重叠参数时,输出表中才包括此字段(Python 中的 area_overlap = "AREA_OVERLAP")。
    • LENGTH- 此字段存储源面和邻域面之间重合边的总长度。
    • NODE_COUNT- 此字段存储源面和邻域面在某一点处交叉或接触的次数。

  • 如果输入要素上有选择集,则将仅分析所选要素。

参数

标注说明数据类型
输入要素

输入面要素。

Feature Layer
输出表

输出表。

Table
按字段报告
(可选)

将使用一个或多个输入属性字段来确定唯一面或面组,并在输出中表示它们。

Field
包括区域重叠
(可选)

指定是否会在输出中分析和包括重叠区域关系。

  • 未选中 - 不会在输出中分析或包括重叠关系。 这是默认设置。
  • 选中 - 会在输出中分析和包括重叠关系。

Boolean
包括邻域关系的两侧
(可选)

指定是否会在输出中包括邻域关系的两侧。

  • 选中 - 对于邻域面对,将同时包括两种邻域信息:一个面是源且另一个面是邻域,以及一个面是邻域且另一个面是源。 这是默认设置。
  • 未选中 - 对于邻域面对,仅包括一个面是源且另一个面是邻域的邻域信息。 不包括互反关系。

Boolean
XY 容差
(可选)

在将两个坐标视为相同坐标之前它们之间的最小距离。 默认情况下,此为输入要素的 x,y 容差。

警告:

更改此参数的值可能会导致出现故障或意外结果。建议不要修改此参数。已将其从工具对话框的视图中移除。默认情况下,将使用输入要素类的空间参考 x,y 容差属性。

Linear Unit
输出线性单位
(可选)

指定将用于报告两个邻域面之间重合边的总长度的单位。 默认值为输入要素单位。

  • 未知未知单位。
  • 英寸将以英寸为单位。
  • 英尺单位将为英尺。
  • 将以码为单位。
  • 英里单位将为英里。
  • 海里单位将为海里。
  • 毫米将以毫米为单位。
  • 厘米将以厘米为单位。
  • 分米将以分米为单位。
  • 单位将为米。
  • 千米单位将为公里。
  • 十进制度单位将为十进制度。
  • 将以磅为单位。
String
输出面积单位
(可选)

指定将用于报告邻域面的区域重叠的单位。 默认值为输入要素单位。 只有选中了包括区域重叠参数时,此参数才处于活动状态。

  • 未知未知单位。
  • 公亩将以公亩为单位。
  • 英亩将以英亩为单位。
  • 公顷将以公顷为单位。
  • 平方英寸将以平方英寸为单位。
  • 平方英尺将以平方英尺为单位。
  • 平方码将以平方码为单位。
  • 平方英里将以平方英里为单位。
  • 平方毫米将以平方毫米为单位。
  • 平方厘米将以平方厘米为单位。
  • 平方分米将以平方分米为单位。
  • 平方米将以平方米为单位。
  • 平方千米将以平方公里为单位。
String

arcpy.analysis.PolygonNeighbors(in_features, out_table, {in_fields}, {area_overlap}, {both_sides}, {cluster_tolerance}, {out_linear_units}, {out_area_units})
名称说明数据类型
in_features

输入面要素。

Feature Layer
out_table

输出表。

Table
in_fields
[field,...]
(可选)

将使用一个或多个输入属性字段来确定唯一面或面组,并在输出中表示它们。

Field
area_overlap
(可选)

指定是否会在输出中分析和包括重叠关系。

  • NO_AREA_OVERLAP不会在输出中分析或包括重叠关系。 这是默认设置。
  • AREA_OVERLAP会在输出中分析和包括重叠关系。
Boolean
both_sides
(可选)

指定是否会在输出中包括邻域关系的两侧。

  • BOTH_SIDES对于邻域面对,将同时包括两种邻域信息:一个面是源且另一个面是邻域,以及一个面是邻域且另一个面是源。 这是默认设置。
  • NO_BOTH_SIDES对于邻域面对,仅包括一个面是源且另一个面是邻域的邻域信息。 不包括互反关系。
Boolean
cluster_tolerance
(可选)

在将两个坐标视为相同坐标之前它们之间的最小距离。 默认情况下,此为输入要素的 x,y 容差。

警告:

更改此参数的值可能会导致出现故障或意外结果。建议不要修改此参数。已将其从工具对话框的视图中移除。默认情况下,将使用输入要素类的空间参考 x,y 容差属性。

Linear Unit
out_linear_units
(可选)

指定将用于报告两个邻域面之间重合边的总长度的单位。 默认值为输入要素单位。

  • UNKNOWN未知单位。
  • INCHES将以英寸为单位。
  • FEET单位将为英尺。
  • YARDS将以码为单位。
  • MILES单位将为英里。
  • NAUTICAL_MILES单位将为海里。
  • MILLIMETERS将以毫米为单位。
  • CENTIMETERS将以厘米为单位。
  • DECIMETERS将以分米为单位。
  • METERS单位将为米。
  • KILOMETERS单位将为公里。
  • DECIMAL_DEGREES单位将为十进制度。
  • POINTS将以磅为单位。
String
out_area_units
(可选)

指定将用于报告邻域面的区域重叠的单位。 默认值为输入要素单位。 仅当将 area_overlap 参数设置为 AREA_OVERLAP 时,才会启用此参数。

  • UNKNOWN未知单位。
  • ARES将以公亩为单位。
  • ACRES将以英亩为单位。
  • HECTARES将以公顷为单位。
  • SQUARE_INCHES将以平方英寸为单位。
  • SQUARE_FEET将以平方英尺为单位。
  • SQUARE_YARDS将以平方码为单位。
  • SQUARE_MILES将以平方英里为单位。
  • SQUARE_MILLIMETERS将以平方毫米为单位。
  • SQUARE_CENTIMETERS将以平方厘米为单位。
  • SQUARE_DECIMETERS将以平方分米为单位。
  • SQUARE_METERS将以平方米为单位。
  • SQUARE_KILOMETERS将以平方公里为单位。
String

代码示例

PolygonNeighbors 示例(Python 窗口)

在新斯科舍省中查找每个选举区的邻域。

import arcpy

arcpy.MakeFeatureLayer_management(r"C:\Data\Canada\CanadaElecDist.shp", 
                                  "Canada_ElectoralDist")

arcpy.SelectLayerByAttribute_management("Canada_ElectoralDist", "NEW_SELECTION", 
                                        "\"PROVCODE\" = 'NS'")
count = arcpy.GetCount_management("Canada_ElectoralDist")[0]
print("Selected feature count: {}".format(count))

arcpy.PolygonNeighbors_analysis("Canada_ElectoralDist", 
                                r"C:\Data\Output\NS_elec_neigh.dbf", "ENNAME")
print(arcpy.GetMessages())

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题