【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

相关文章

Jmeter如何向数据库批量插入数据

《Jmeter如何向数据库批量插入数据》:本文主要介绍Jmeter如何向数据库批量插入数据方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Jmeter向数据库批量插入数据Jmeter向mysql数据库中插入数据的入门操作接下来做一下各个元件的配置总结Jmete

Javascript访问Promise对象返回值的操作方法

《Javascript访问Promise对象返回值的操作方法》这篇文章介绍了如何在JavaScript中使用Promise对象来处理异步操作,通过使用fetch()方法和Promise对象,我们可以从... 目录在Javascript中,什么是Promise1- then() 链式操作2- 在之后的代码中使

如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件

《如何使用Docker部署FTP和Nginx并通过HTTP访问FTP里的文件》本文介绍了如何使用Docker部署FTP服务器和Nginx,并通过HTTP访问FTP中的文件,通过将FTP数据目录挂载到N... 目录docker部署FTP和Nginx并通过HTTP访问FTP里的文件1. 部署 FTP 服务器 (

MySQL InnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据

《MySQLInnoDB引擎ibdata文件损坏/删除后使用frm和ibd文件恢复数据》mysql的ibdata文件被误删、被恶意修改,没有从库和备份数据的情况下的数据恢复,不能保证数据库所有表数据... 参考:mysql Innodb表空间卸载、迁移、装载的使用方法注意!此方法只适用于innodb_fi

mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据

《mysql通过frm和ibd文件恢复表_mysql5.7根据.frm和.ibd文件恢复表结构和数据》文章主要介绍了如何从.frm和.ibd文件恢复MySQLInnoDB表结构和数据,需要的朋友可以参... 目录一、恢复表结构二、恢复表数据补充方法一、恢复表结构(从 .frm 文件)方法 1:使用 mysq

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

golang获取prometheus数据(prometheus/client_golang包)

《golang获取prometheus数据(prometheus/client_golang包)》本文主要介绍了使用Go语言的prometheus/client_golang包来获取Prometheu... 目录1. 创建链接1.1 语法1.2 完整示例2. 简单查询2.1 语法2.2 完整示例3. 范围值

javaScript在表单提交时获取表单数据的示例代码

《javaScript在表单提交时获取表单数据的示例代码》本文介绍了五种在JavaScript中获取表单数据的方法:使用FormData对象、手动提取表单数据、使用querySelector获取单个字... 方法 1:使用 FormData 对象FormData 是一个方便的内置对象,用于获取表单中的键值

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Python使用Pandas对比两列数据取最大值的五种方法

《Python使用Pandas对比两列数据取最大值的五种方法》本文主要介绍使用Pandas对比两列数据取最大值的五种方法,包括使用max方法、apply方法结合lambda函数、函数、clip方法、w... 目录引言一、使用max方法二、使用apply方法结合lambda函数三、使用np.maximum函数