【ArcPy】游标访问数据

2024-03-04 14:28
文章标签 数据 访问 游标 arcpy

本文主要是介绍【ArcPy】游标访问数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

游标类型

类型方法说明
搜索游标arcpy.da.SearchCursor检索行
更新游标arcpy.da.UpdateCursor更新和删除行
插入游标arcpy.da.InsertCursor插入行

 

使用

搜索游标

遍历所有

结果展示

代码

import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
with arcpy.da.SearchCursor(shppath, ["SHAPE@XY","class"]) as cursor:for row in cursor:print(row[0], row[1])
import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
cursor = arcpy.da.SearchCursor(shppath, ["SHAPE@XY","class"])
for row in cursor:print(row[0], row[1])
del cursor

添加条件遍历

结果展示

代码

import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
with arcpy.da.SearchCursor(shppath, ["SHAPE@XY","class"], """"class" = 0""") as cursor:for row in cursor:print(row[0], row[1])

游标回到初始位置(重新遍历)

结果展示

代码

import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
with arcpy.da.SearchCursor(shppath, ["SHAPE@XY","class"]) as cursor:for row in cursor:if row[1]==1:cursor.reset()print(row[0], row[1])

访问对象标识符字段

结果展示

代码

import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
with arcpy.da.SearchCursor(shppath, ["SHAPE@XY","OID@"]) as cursor:for row in cursor:print(row[0], row[1])

更新游标

更新

结果展示

代码(class在原始的基础上增加1)

import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
with arcpy.da.UpdateCursor(shppath, ["SHAPE@XY","class"]) as cursor:for row in cursor:row[1]=row[1]+1cursor.updateRow(row)
with arcpy.da.SearchCursor(shppath, ["SHAPE@XY","class"]) as cursor:for row in cursor:print(row[0], row[1])

删除

结果展示

代码(删除class为3的行)

import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
with arcpy.da.UpdateCursor(shppath, ["SHAPE@XY","class"]) as cursor:for row in cursor:if row[1] == 3:cursor.deleteRow()
with arcpy.da.SearchCursor(shppath, ["SHAPE@XY","class"]) as cursor:for row in cursor:print(row[0], row[1])

插入游标

结果展示

代码

import arcpy
shppath =r"C:\Users\admin\Desktop\excelfile\1.shp"
with arcpy.da.InsertCursor(shppath, ["SHAPE@XY","class"]) as cursor:cursor.insertRow([(-119.158325598, 34.03489167),2])
with arcpy.da.SearchCursor(shppath, ["SHAPE@XY","class"]) as cursor:for row in cursor:print(row[0], row[1])

这篇关于【ArcPy】游标访问数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/773477

相关文章

关于Java内存访问重排序的研究

《关于Java内存访问重排序的研究》文章主要介绍了重排序现象及其在多线程编程中的影响,包括内存可见性问题和Java内存模型中对重排序的规则... 目录什么是重排序重排序图解重排序实验as-if-serial语义内存访问重排序与内存可见性内存访问重排序与Java内存模型重排序示意表内存屏障内存屏障示意表Int

Oracle Expdp按条件导出指定表数据的方法实例

《OracleExpdp按条件导出指定表数据的方法实例》:本文主要介绍Oracle的expdp数据泵方式导出特定机构和时间范围的数据,并通过parfile文件进行条件限制和配置,文中通过代码介绍... 目录1.场景描述 2.方案分析3.实验验证 3.1 parfile文件3.2 expdp命令导出4.总结

更改docker默认数据目录的方法步骤

《更改docker默认数据目录的方法步骤》本文主要介绍了更改docker默认数据目录的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录1.查看docker是否存在并停止该服务2.挂载镜像并安装rsync便于备份3.取消挂载备份和迁

SpringBoot实现基于URL和IP的访问频率限制

《SpringBoot实现基于URL和IP的访问频率限制》在现代Web应用中,接口被恶意刷新或暴力请求是一种常见的攻击手段,为了保护系统资源,需要对接口的访问频率进行限制,下面我们就来看看如何使用... 目录1. 引言2. 项目依赖3. 配置 Redis4. 创建拦截器5. 注册拦截器6. 创建控制器8.

不删数据还能合并磁盘? 让电脑C盘D盘合并并保留数据的技巧

《不删数据还能合并磁盘?让电脑C盘D盘合并并保留数据的技巧》在Windows操作系统中,合并C盘和D盘是一个相对复杂的任务,尤其是当你不希望删除其中的数据时,幸运的是,有几种方法可以实现这一目标且在... 在电脑生产时,制造商常为C盘分配较小的磁盘空间,以确保软件在运行过程中不会出现磁盘空间不足的问题。但在

SpringBoot如何访问jsp页面

《SpringBoot如何访问jsp页面》本文介绍了如何在SpringBoot项目中进行Web开发,包括创建项目、配置文件、添加依赖、控制层修改、测试效果以及在IDEA中进行配置的详细步骤... 目录SpringBoot如何访问JSP页python面简介实现步骤1. 首先创建的项目一定要是web项目2. 在

Linux限制ip访问的解决方案

《Linux限制ip访问的解决方案》为了修复安全扫描中发现的漏洞,我们需要对某些服务设置访问限制,具体来说,就是要确保只有指定的内部IP地址能够访问这些服务,所以本文给大家介绍了Linux限制ip访问... 目录背景:解决方案:使用Firewalld防火墙规则验证方法深度了解防火墙逻辑应用场景与扩展背景:

Java如何接收并解析HL7协议数据

《Java如何接收并解析HL7协议数据》文章主要介绍了HL7协议及其在医疗行业中的应用,详细描述了如何配置环境、接收和解析数据,以及与前端进行交互的实现方法,文章还分享了使用7Edit工具进行调试的经... 目录一、前言二、正文1、环境配置2、数据接收:HL7Monitor3、数据解析:HL7Busines

Mybatis拦截器如何实现数据权限过滤

《Mybatis拦截器如何实现数据权限过滤》本文介绍了MyBatis拦截器的使用,通过实现Interceptor接口对SQL进行处理,实现数据权限过滤功能,通过在本地线程变量中存储数据权限相关信息,并... 目录背景基础知识MyBATis 拦截器介绍代码实战总结背景现在的项目负责人去年年底离职,导致前期规

Redis KEYS查询大批量数据替代方案

《RedisKEYS查询大批量数据替代方案》在使用Redis时,KEYS命令虽然简单直接,但其全表扫描的特性在处理大规模数据时会导致性能问题,甚至可能阻塞Redis服务,本文将介绍SCAN命令、有序... 目录前言KEYS命令问题背景替代方案1.使用 SCAN 命令2. 使用有序集合(Sorted Set)