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

参考

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习threejs,使用设置lightMap光照贴图创建阴影效果

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.MeshLambertMaterial…

Cocos编辑器

1、下载 下载地址:https://www.cocos.com/creator-download 2、编辑器界面介绍 官方链接:https://docs.cocos.com/creator/3.8/manual/zh/editor/ 3、项目结构 官方链接:https://docs.cocos.com/creator/3.8/manual/zh/getting-started/…

C++11特性(详解)

目录 1.C11简介 2.列表初始化 3.声明 1.auto 2.decltype 3.nullptr 4.范围for循环 5.智能指针 6.STL的一些变化 7.右值引用和移动语义 1.左值引用和右值引用 2.左值引用和右值引用的比较 3.右值引用的使用场景和意义 4.右值引用引用左值及其一些更深入的使用场景分…

Notepad++ 替换所有数字给数字加单引号

前言 今天遇到这样一个场景: 要去更新某张表里 code1,2,3,4,5,6 的数据,把它的 name 设置为 ‘张三’ 但是 code在数据库里面的字段类型是 vachar(64),它自身携带索引 原本可以这样写 SQL: update tableA set namezhangsan where code in …

Django 路由层

1. 路由基础概念 URLconf (URL 配置):Django 的路由系统是基于 urls.py 文件定义的。路径匹配:通过模式匹配 URL,并将请求传递给对应的视图处理函数。命名路由:每个路由可以定义一个名称,用于反向解析。 2. 基本路由配…

工作中可以用到的前端小知识(不定时更新)

1、split 结合 filter(Boolean)使用,可以过滤空字符 2、分割 Unicode 字符 用 Array.from() 实现 const text "👍😊👨‍👩‍👦"; const result Array.from(text); console.log(result); // 输…

第R4周:LSTM-火灾温度预测(TensorFlow版)

>- **🍨 本文为[🔗365天深度学习训练营]中的学习记录博客** >- **🍖 原作者:[K同学啊]** 往期文章可查阅: 深度学习总结 任务说明:数据集中提供了火灾温度(Tem1)、一氧化碳浓度…

CTF-Hub SQL 报错注入(纯手动注入)

​ 当输入1时,发现只有查询正确,基本上可以判断出没有回显 开始注入(工具hackerBar) 题目是报错注入,方向就比较明显,大致说一下用到的函数和原理。 常见报错注入函数: 通过 floor() 报错注入通过 extractValue() …

创建HTTPS网站

每天,我们都会听到网络上发生身份盗窃和数据侵权的案例,这导致用户对自己访问的网站更加怀疑。他们开始更加了解自己将个人信息放在哪里以及信任哪些类型的网站。了解如何使网站使用HTTPS变得比以往任何时候都更加重要。 解读缩略词:HTTP与HT…

计算(a+b)/c的值

计算(ab)/c的值 C语言代码C语言代码Java语言代码Python语言代码 💐The Begin💐点点关注,收藏不迷路💐 给定3个整数a、b、c,计算表达式(ab)/c的值,/是整除运算。 输入 输入仅一行&…

Flink Sink的使用

经过一系列Transformation转换操作后,最后一定要调用Sink操作,才会形成一个完整的DataFlow拓扑。只有调用了Sink操作,才会产生最终的计算结果,这些数据可以写入到的文件、输出到指定的网络端口、消息中间件、外部的文件系统或者是…

Java【多线程】(1)进程与线程

目录 1.前言 2.正文 2.1什么是进程 2.2PCB(进程控制块) 2.2.1进程id 2.2.2内存指针 2.2.3文件描述符表 2.2.4进程状态 2.2.4.1就绪状态 2.2.4.2阻塞状态 2.2.5进程优先级 2.2.6进程上下文 2.2.7进程的记账信息 2.3CPU操作进程的方法 2.4什…

一个专为云原生环境设计的高性能分布式文件系统

大家好,今天给大家分享一款开源创新的分布式 POSIX 文件系统JuiceFS,旨在解决海量云存储与各类应用平台(如大数据、机器学习、人工智能等)之间高效对接的问题。 项目介绍 JuiceFS 是一款面向云原生设计的高性能分布式文件系统&am…

Jmeter中的断言

7)断言 1--响应断言 功能特点 数据验证:验证响应数据是否包含或不包含特定的字符串、模式或值。多种匹配类型:支持多种匹配类型,如文本、正则表达式、文档等。灵活配置:可以设置多个断言条件,满足复杂的测…

游戏引擎学习第23天

实时代码编辑功能的回顾 当前实现的实时代码编辑功能已经取得了显著的成功,表现出强大的性能和即时反馈能力。该功能允许开发者在修改代码后几乎立即看到变化在运行中的程序中体现出来,极大提升了开发效率。尽管目前的演示内容较为简单,呈现…

排序算法之冒泡排序篇

冒泡排序的思想: 是一个把元素从小到大排的一个算法思想 相邻的两个元素两两比较,大的那一个元素向后移,小的那个元素向前移 核心逻辑: 比较所有相邻的两个项,如果第一个比第二个大,就交换它们 从头开始…

Java ArrayList 与顺序表:在编程海洋中把握数据结构的关键之锚

我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 前言:在 Java编程的广袤世界里,数据结构犹如精巧的建筑蓝图,决定着程序在数据处理与存储时的效率、灵活性以…

【笔记】自动驾驶预测与决策规划_Part8_数据驱动的规划方法

文章目录 0. 前言1.生成模型1.1 Diffusion-ES1. Diffusion-ES算法介绍2. Diffusion-ES算法具体流程Diffusion Model 是什么?Diffusion-ES: Evolutionary StrategiesDiffusion-ES MethodDiffusion-ES Mapping Language instructions to reward functions with LLM pr…

React中事件处理和合成事件:理解与使用

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Redis设计与实现第14章 -- 服务器 总结(命令执行器 serverCron函数 初始化)

14.1 命令请求的执行过程 一个命令请求从发送到获得回复的过程中,客户端和服务器都需要完成一系列操作。 14.1.1 发送命令请求 当用户在客户端中输入一个命令请求的时候,客户端会把这个命令请求转换为协议格式,然后通过连接到服务器的套接字…