ArcPy 游标

作者: JeetChan | 来源:发表于2018-05-28 16:44 被阅读133次

  ArcPy 游标位于数据访问模块 (arcpy.da)中,包括用于查询的 SearchCursor ,插入数据的 InsertCursor ,更新和删除的 UpdateCursor 。

  SearchCursor 和 UpdateCursor 都支持 SQL WHERE 子句,用于限制所返回的记录的可选表达式。在使用 SQL WHERE 子句时可以用 AddFieldDelimiters 函数返回字段分隔符,因为所查询数据的格式不同,字段分隔符不同,如,文件地理数据库和 shapefile 使用双引号 (" "),个人地理数据库使用方括号 ([ ]),而 ArcSDE 地理数据库不使用字段分隔符。

  使用游标会锁定处理的数据,使用完后需要释放,可以使用 Python 的 with 语句,这会自动释放锁。

SearchCursor

# -*- coding: utf-8 -*-

import arcpy
from arcpy import env

env.workspace = r'E:\EsriPress\Python\Data\Exercise07'
fc = 'airports.shp'
delimitedField = arcpy.AddFieldDelimiters(fc, 'COUNTY')
with arcpy.da.SearchCursor(fc, ('NAME', 'FIPS'), delimitedField + ' = \'Anchorage Borough\'') as cursor:
    for row in sorted(cursor):
        print("name:{0},county:{1}".format(row[0], row[1]))

InsertCursor

# -*- coding: utf-8 -*-

import arcpy
from arcpy import env

env.workspace = r'E:\EsriPress\Python\Data\Exercise07'
fc = 'Results/airports_anchorage.shp'
with arcpy.da.InsertCursor(fc, ('SHAPE@XY', 'Name')) as cursor:
    cursor.insertRow(((-149.771939, 61.100004), 'New Airport'))

UpdateCursor

# -*- coding: utf-8 -*-


import arcpy
from arcpy import env

env.workspace = r'E:\EsriPress\Python\Data\Exercise07'
fc = 'Results/airports_anchorage.shp'
delimfield = arcpy.AddFieldDelimiters(fc, 'STATE')
with arcpy.da.UpdateCursor(fc, ('STATE', 'NAME'), delimfield + ' <> \'AK\'') as cursor:
    for row in cursor:
        row[0] = 'AK'
        cursor.updateRow(row)
        if row[1] == 'New Airport':
            cursor.deleteRow()

参考

面向ArcGIS的Python脚本编程

相关文章

  • ArcPy 游标

      ArcPy 游标位于数据访问模块 (arcpy.da)中,包括用于查询的 SearchCursor ,插入数据...

  • 帮助

    >>> import arcpy >>> help (arcpy) Help on package arcpy: ...

  • arcgis循环裁剪shp文件

    import arcpy from arcpy import env from arcpy.sa import *...

  • ArcGIS批量裁剪遥感影像

    使用arcpy的方式 import arcpy from arcpy import env #栅格文件路径 env...

  • AGS Python开发-ArcPy开发基础

    1、Python与ArcGIS关系 ArcGIS提供了ArcPy包,Python是通过该ArcPy包来操作ArcG...

  • MongoDB之文档游标

    游标 查询操作返回的结果游标 游标的迭代与操作 db.collecton.find() 返回一个文档集合游标,在不...

  • sqlserver 游标

    游标更新删除当前数据 1.声明游标 2.打开游标 3.声明游标提取数据所要存放的变量 4.定位游标到哪一行 5.关...

  • 使用arcpy把hdf格式的遥感影像转换为TIFF格式

    import arcpy import os try: for dirpath, dirnames, file...

  • Oracle 存储过程学习笔记

    1、存储过程简单实例 2.游标实现方式 显式游标实现方式(可多值) 隐式游标(可以实现查询多值) 带有参数的游标(...

  • sql server 游标

    定位到结果集中某一行 游标分类 静态游标(Static):在操作游标的时候,数据发生变化,游标中数据不变。 动态游...

网友评论

    本文标题:ArcPy 游标

    本文链接:https://www.haomeiwen.com/subject/wlawjftx.html