ArcGIS如何统计面内点的数量

本文来源:GIS科研实验室公众号

1

数据来介绍

本次教程使用的数据为:各小区的点坐标(来源房天下,坐标为CGCS2000);基础教育设施、商业服务设施、金融保险设施、医疗卫生设施的POI坐标(来源高德地图,坐标为CGCS2000)

2

缓冲区的生成

首先生成各小区点1KM的缓冲区图,具体操作方法为:加载小区点数据——打开ArcToolbox—— 分析工具——缓冲区

图1

在“输入要素”中,我们选择房价的点数据,“输出要素类”选择我们缓冲区数据的输出位置。在“线性单位”下输入1000米。“方法”选择PLANAR(这种方法的作用是:如果输入要素位于投影坐标系中,则将创建欧氏缓冲区。如果输入要素位于地理坐标系中且缓冲距离的单位为线性单位(米、英尺等,而非诸如度之类的角度单位),则会创建测地线缓冲区)。“融合类型”选择NONE(此种方法不考虑重叠,均保持每个要素的独立缓冲区)

图2

点击确定后,就可以生成各点的缓冲区图(虽然有点乱,但是我们也不是为了看图,而是为了统计缓冲区中点的数量,所以就将就一下吧!)

图3

下一步,将你需要统计的POI点数据加载至图层(WARN:有密集恐惧症的同学快闪开!

图4

3

点数据的空间连接

这一步非常关键,大家仔细听!首先右键刚才生成的缓冲区图层——连接和关联——连接。

图5

然后选择“基于空间位置的另一图层的数据”,再选择你需要统计的点的类型,我这里是“医疗卫生设施”。此外,在“如何汇总属性”中,有平均值、最小值、标准差、总和、最大值和方差可以选择,就是说可以计算每个缓冲区中所有点各属性的平均值、最小值、标准差、总和、最大值和方差(前提是这个属性是数值类型不可以是字符串哈,我这里不需要就没有勾选),最后选择好新图层的输出位置就可以啦。

图6

打开生成数据的属性表,可以看到一个Count字段,这个就是每个缓冲区中兴趣点的数量。

图7

树谷资料库资源大全(5月29日更新)

### 计算栅格或矢量网格内要素属性的总和 在 ArcGIS 中,可以通过多种方式来计算栅格或矢量网格内的要素属性总和。以下是具体的方法: #### 方法一:使用空间连接工具 通过 `Spatial Join` 工具可以将要素与栅格转换后的矢量多边形(如鱼网或多边形)进行关联,并统计落在每个网格内部的数量及其属性值。 ```python import arcpy # 设置工作环境 arcpy.env.workspace = "C:/data" # 输入要素图层路径 point_layer = "points.shp" # 创建或已有网格图层路径 grid_layer = "fishnet.shp" # 输出的空间连接结果文件名 output_join_feature = "spatial_join_result.shp" # 执行 Spatial Join 操作 arcpy.SpatialJoin_analysis(target_features=grid_layer, join_features=point_layer, out_feature_class=output_join_feature) # 添加字段用于存储求和的结果 arcpy.AddField_management(output_join_feature, "SUM_VALUE", "DOUBLE") # 更新 SUM_VALUE 字段为对应区域内所有的某属性之和 with arcpy.da.UpdateCursor(output_join_feature, ["TARGET_FID", "JOIN_COUNT"]) as cursor: for row in cursor: sum_value = 0 with arcpy.da.SearchCursor(point_layer, "ATTRIBUTE_NAME", f"TARGET_FID={row[0]}") as pnt_cursor: for pnt_row in pnt_cursor: sum_value += pnt_row[0] row[1] = sum_value cursor.updateRow(row) ``` 此脚本实现了基于 Python 的自动化流程[^1]。 #### 方法二:利用汇总功能直接处理 如果只需要简单地获取某个特定字段上的统计数据,则可以直接采用 ArcMap 或者 ArcGIS Pro 提供的地图界下的 “Summarize” 功能来进行快速操作。只需选中目标字段并指定相应的聚合函数即可完成任务[^3]。 对于更复杂的场景下,比如当涉及到多个不同类型的地理对象之间的交互作用时,可能还需要借助其他高级分析工具和服务的支持,例如 Geoprocessing Tools 和 ModelBuilder 等[^2]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值