自学内容网 自学内容网

【ArcGIS Pro实操第10期】统计某个shp文件中不同区域内的站点数

在 ArcGIS Pro 中,如果需要统计某个shp文件中不同区域内的站点数,可以通过以下步骤实现。通常,这种任务涉及两个数据集:
1、站点数据:点状数据,例如站点坐标。
2、区域数据:多边形数据,例如行政区划、分区等。

目标是计算每个区域(多边形)中包含的站点数量。
在这里插入图片描述

方法 1:使用“空间连接 (Spatial Join)”工具

步骤如下:

1、加载数据:
打开 ArcGIS Pro 并加载两个图层:

  • 站点图层(点数据),如站点位置的 shp 文件。
  • 区域图层(多边形数据),如行政区划的 shp 文件。

2、打开“空间连接 (Spatial Join)”工具:
在“分析”选项卡中,选择“工具 (Tools)”。
搜索并打开 “Spatial Join” 工具。

3、设置参数:

  • 目标要素(Target Features):选择 区域图层(多边形数据)。
  • 连接要素(Join Features):选择 站点图层(点数据)。
  • 连接操作(Join Operation):选择 One-To-One(默认)。
  • 匹配选项(Match Option):选择 Intersects(确保统计所有位于多边形内的点)。

4、运行工具:
运行工具后,输出的多边形图层将包含一个新字段,表示每个区域内的站点数(通常是 Join_Count 字段)。

5、结果:
打开输出图层的属性表,可以在 Join_Count 字段中查看每个区域的站点数量。

方法 2:使用“点计数 (Point Count)”工具

如果仅需要统计点的数量,可以使用专门的点计数工具。

步骤如下:

1、加载数据:
打开 ArcGIS Pro 并加载两个图层:

  • 站点图层(点数据)。
  • 区域图层(多边形数据)。

2、打开“点计数 (Summarize Within)”工具:
在“分析”选项卡中,选择“工具 (Tools)”。
搜索并打开 “Summarize Within” 工具。

3、设置参数:

  • 输入多边形(Input Polygons):选择 区域图层。
  • 输入点(Input Summary Features):选择 站点图层。
  • 输出字段:选择一个字段(如站点 ID 或其他唯一标识),用作计数依据。

示例如下:
在这里插入图片描述
4、运行工具:
运行工具后,输出的多边形图层将包含一个新字段,表示每个区域内的点数量。

5、结果:
打开输出图层的属性表,可以查看每个区域的点数量。
在这里插入图片描述

方法 3:通过“选择 (Select by Location)”统计

如果不需要生成新的图层,只是想快速统计每个区域的站点数量,可以使用“选择 (Select by Location)”功能。

步骤如下:

1、加载数据:
同样加载站点图层和区域图层。

2、打开“按位置选择 (Select by Location)”工具:
在“地图”选项卡中,选择“按位置选择 (Select by Location)”工具。

3、设置参数:

  • 输入要素(Input Features):选择 站点图层。
  • 选择要素(Selecting Features):选择 区域图层。
  • 空间关系(Spatial Relationship):选择 完全包含 (Completely Within) 或 相交 (Intersects)。

4、统计结果:
在属性表中查看被选中的点的数量。
分别对每个多边形执行上述操作,记录每个区域的站点数量。

方法 4:通过“Python 脚本 (ArcPy)”实现

使用 ArcPy 脚本可以自动化此过程,更适合批量处理。

脚本示例:

以下代码统计每个多边形内的站点数,并将结果写入区域图层的属性表。

import arcpy

# 输入文件路径
point_layer = r"path_to_point_layer.shp"  # 站点图层路径
polygon_layer = r"path_to_polygon_layer.shp"  # 区域图层路径
output_layer = r"path_to_output_layer.shp"  # 输出图层路径

# 执行空间连接
arcpy.analysis.SpatialJoin(
    target_features=polygon_layer,
    join_features=point_layer,
    out_feature_class=output_layer,
    join_operation="JOIN_ONE_TO_ONE",
    match_option="INTERSECT"
)

print("空间连接完成,输出保存到:", output_layer)

运行该脚本后,output_layer 将包含一个新字段(Join_Count),表示每个区域的站点数量。

参考


原文地址:https://blog.csdn.net/qq_44246618/article/details/144059116

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!