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

统计某个shp文件中不同区域内的站点数

  • 方法 1:使用“空间连接 (Spatial Join)”工具
  • 方法 2:使用“点计数 (Point Count)”工具
  • 方法 3:通过“选择 (Select by Location)”统计
  • 方法 4:通过“Python 脚本 (ArcPy)”实现
  • 参考

在 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),表示每个区域的站点数量。

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/60905.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过端口测试验证网络安全策略

基于网络安全需求,项目中的主机间可能会有不同的网络安全策略,这当然是好的,但很多时候,在解决网络安全问题的时候,同时引入了新的问题,如k8s集群必须在主机间开放udp端口,否则集群不能正常的运…

Spring框架使用xml方式配置ThreadPoolTaskExecutor线程池,并且自定义线程工厂

一、自定义线程工厂 自定义线程工厂需要实现java.util.concurrent.ThreadFactory接口,重写newThread方法。 示例代码: package com.xiaobai.thread;import org.apache.log4j.Logger;import java.util.concurrent.ThreadFactory; import java.util.conc…

鸿蒙学习自由流转与分布式运行环境-价值与架构定义(1)

文章目录 价值与架构定义1、价值2、架构定义 随着个人设备数量越来越多,跨多个设备间的交互将成为常态。基于传统 OS 开发跨设备交互的应用程序时,需要解决设备发现、设备认证、设备连接、数据同步等技术难题,不但开发成本高,还存…

web day03 Maven基础 Junit

目录 Maven坐标: 依赖排除: 依赖范围: Maven生命周期: 单元测试: Junit入门: 断言: Junit中的常见注解: 概念:Maven 是一款用于管理和构建 Java项目的工具&#…

docker部署单机版doris

文章目录 前言一、系统环境简介二、部署要求三、部署安装1、基础设置2、下载镜像3、下载安装包4、启动镜像环境5、配置fe6、配置be 总结 前言 应项目测试需求,需使用docker部署单机版doris。 一、系统环境简介 #1 系统信息 [roottest][~] $cat /etc/redhat-relea…

WPF ItemsControl控件

ItemsControl 是 WPF 中一个非常灵活的控件,用于显示一组数据项。它是一个基类,许多其他控件(如 ListBox, ListView, ComboBox 等)都是从 ItemsControl 继承而来。ItemsControl 的主要特点是它可以自定义数据项的显示方式&#xf…

【漏洞复现】CVE-2020-13925

漏洞信息 NVD - CVE-2020-13925 Similar to CVE-2020-1956, Kylin has one more restful API which concatenates the API inputs into OS commands and then executes them on the server; while the reported API misses necessary input validation, which causes the hac…

Linux:文件管理(一)——文件描述符fd

目录 一、文件基础认识 二、C语言操作文件的接口 1.> 和 >> 2.理解“当前路径” 三、相关系统调用 1.open 2.文件描述符 3.一切皆文件 4.再次理解重定向 一、文件基础认识 文件 内容 属性。换句话说,如果在电脑上新建了一个空白文档&#xff0…

责任链模式在spring security过滤器链中的应用

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它允许多个对象按照顺序处理请求,并且每个对象可以选择自己是否处理该请求或将其传递给下一个对象。 在Spring Security中,责任链模式得到了广泛应…

mac上的建议xftp 工具

mac上的建议xftp 工具 最近使用mac比较频繁了,但是第一次重度使用mac里面有很多的工具都是新的,有的window版本的工具无法使用。 xftp 的平替 Cyberduck 从它的官网上下载是免费的,但是如果使用 Apple store 要花费198呢。这不就剩下一大笔…

异步编程中,为什么必须将conn放到后台连接

tokio::spawn(async move {if let Err(err) conn.await {let err_msg format!("Connection failed: {:?}", err);dbg!(err_msg);}});为什么不能是 if let Err(err) conn.await {let err_msg format!("Connection failed: {:?}", err);dbg!(err_msg);…

IC数字后端实现之大厂IC笔试真题(经典时序计算和时序分析题)

今天小编给大家分享下每年IC秋招春招必考题目——静态时序分析时序分析题。 数字IC后端笔试面试题库 | 经典时序Timing计算题 时序分析题1: 给定如下图所示的timing report,请回答一下几个问题。 1)这是一条setup还是hold的timing report?…

警钟长鸣,防微杜渐,遨游防爆手机如何护航安全生产?

近年来,携非防爆手机进入危险作业区引发爆炸的新闻屡见报端。2019年山西某化工公司火灾,2018年延安某煤业瓦斯爆炸,均因工人未用防爆手机产生静电打火引发。涉爆行业领域企业量大面广,相当一部分企业作业场所人员密集,…

MySQL 与 MongoDB 存储差异分析

MySQL 与 MongoDB 存储差异分析:为什么随机生成数据的存储空间不同? 在实际应用中,我们常常需要选择合适的数据库系统来处理不同类型的数据。在这个过程中,数据库的 存储机制 和 性能优化 起着至关重要的作用。对于很多开发者来说…

nginx和netcore加载常见的3D模型

背景 数字孪生带火了3D版的Web世界,3D模型格式也是众多,常见的glb适合web传输,fbx,gltf,obj,unity等常用于模型编辑和处理。我们在用netcore或者wasm加载这些3D模型文件时,一般都需要手工增加M…

mac 安装node提示 nvm install v14.21.3 failed可能存在问题

如果你在 macOS 上使用 nvm(Node Version Manager)安装 Node.js 版本 v14.21.3 时遇到安装失败的问题,可以按照以下步骤进行排查和解决: 1. 确认 nvm 安装是否正确 首先,确认你的 nvm 是否正确安装,并且能…

Mongo数据库 --- Mongo Pipeline

Mongo数据库 --- Mongo Pipeline 什么是Mongo PipelineMongo Pipeline常用的几个StageExplanation with example:MongoDB $matchMongoDB $projectMongoDB $groupMongoDB $unwindMongoDB $countMongoDB $addFields Some Query Examples在C#中使用Aggreagtion Pipeline**方法一: …

银行卡 OCR 识别 API 接口的发展前景

随着智能手机的广泛普及以及互联网的迅猛发展,“互联网 ” 时代的移动支付已然开启了智慧生活的崭新蓝图。移动支付要求进行实名认证并绑定银行卡,然而传统的手工输入银行卡号不但速度缓慢、容易出错,还极大地降低了用户体验。银行卡 OCR 识别…

华为OD机试真题---智能驾驶

华为OD机试中的“智能驾驶”题目是一道涉及广度优先搜索(BFS)算法运用的题目。以下是对该题目的详细解析: 一、题目描述 有一辆汽车需要从m * n的地图的左上角(起点)开往地图的右下角(终点)&a…

Redis与MySQL如何保证数据一致性

Redis与MySQL如何保证数据一致性 简单来说 该场景主要发生在读写并发进行时,才会发生数据不一致。 主要流程就是要么先操作缓存,要么先操作Redis,操作也分修改和删除。 一般修改要执行一系列业务代码,所以一般直接删除成本较低…