【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])

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

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

相关文章

一文搞定之Qt多线程(QThread、moveToThread)

目录 一、背景 二、线程基础 (1)使用 QThread 类 (2)使用 moveToThread() (3)QThread常用函数及注意事项 (4)两种方式的缺点 三、线程的同步与互斥 (1&#xff0…

怎么换电脑桌面壁纸?一键设置自己喜欢的壁纸

随着科技的不断发展,电脑桌面壁纸的更换变得越来越简单。现在,您只需轻轻一点,就能将您喜欢的图片设置为电脑桌面壁纸。这种一键设置的功能不仅让更换壁纸变得更加便捷,还使得个性化定制成为了可能。怎么换电脑桌面壁纸&#xff1…

如何在手机上中恢复已删除的照片

市场上有大量用于恢复手机已删除照片的应用程序。您可以尝试任何合法的应用程序来恢复意外删除的视频。其中一些应用程序包括 奇客数据恢复、Disk Drill等。 恢复已删除的 Android 照片 如果您不小心从 Android 设备中删除了任何重要视频,无需惊慌。您可以按照这些…

人大金仓KingbaseES:windows安装

人大金仓KingbaseES:windows安装 产品简介 金仓数据库管理系统[简称:KingbaseES]是北京人大金仓信息技术股份有限公司(简称人大金仓)自主研发的、具有自主知识产权的商用关系型数据库管理系统(DBMS)。该产品面向事务…

请查收!“全国大学生智能汽车竞赛”线上赛备赛指南

「全国大学生智能汽车竞赛」是教育部倡导的大学生科技A类竞赛,中国高等教育学会将其列为含金量最高的大学生竞赛之一。截至2023年,已经举办十八届,比赛每年吸引包括清华、上交、复旦、北航等500多所高校,超10万名大学生参加&#…

使用 Docker 部署 GLPI 资产管理系统

1)GLPI 介绍 GLPI 简介 参考: https://github.com/glpi-project/glpi 官方文档:https://glpi-project.org/documentation/ 中文文档:https://glpi-install.readthedocs.io/zh-cn/latest/ GLPI 提供功能全面的IT资源管理接口&…

Matlab 机器人工具箱 运动学

文章目录 R.fkine()R.ikine()R.ikine6s()R.ikuncR.jacob0、R.jacobn、R.jacob_dotjtrajctraj参考链接 官网:Robotics Toolbox - Peter Corke R.fkine() 正运动学,根据关节坐标求末端执行器位姿 mdl_puma560; % 加载puma560模型 qz % 零角度 qr …

Synchronized 详解(一)

在C程序代码中我们可以利用操作系统提供的互斥锁来实现同步块的互斥访问及线程的阻塞及唤醒等工作。在Java中除了提供Lock API外还在语法层面上提供了synchronized关键字来实现互斥同步原语,本文将对synchronized关键字详细分析。 带着问题去理解Synchronized 提示 请带着这…

【.NET Core】.NET中的流(Stream)

【.NET Core】.NET中的流(Stream) 文章目录 【.NET Core】.NET中的流(Stream)一、流(Stream)1.1 FileStream类1.2 IsolatedStorageFileStream类1.3 MemoryStream类1.4 BufferedStream类1.5 NetworkStream类…

喜迎乔迁,开启新章 ▏易我科技新办公区乔迁庆典隆重举行

2024年1月18日,易我科技新办公区乔迁庆典在热烈而喜庆的氛围中隆重举行。新办公区的投入使用,标志着易我科技将以崭新姿态迈向新的发展阶段。 ▲ 易我科技新办公区 随着公司业务的不断发展和壮大,为了更好地适应公司发展的需要,…

Cesium 3D Tiles 简介

3D Tiles 是大规模异构 3D 地理空间数据集(例如点云、建筑物和摄影测量)的开放标准。3D Tiles 基于 glTF 和其他 3D 数据类型构建,是一种可类似二维瓦片模式的流式传输的优化格式,旨在适应当今不断增长的 3D 地理空间数据集的渲染…

ControlNet作者新作LayerDiffusion,让SD直接生成生成透明图像,堪比商用抠图软件

ControlNet作者又出新工作,这次的工作LayerDiffusion它使得大规模预训练的Stable Diffusion能够生成透明图像。该方法允许生成单个透明图像或多个透明图层,效果堪比商业产品Adobe Stock。而且LayerDiffusion和ControlNet一样支持基于SD微调的模型。 &quo…