zoukankan      html  css  js  c++  java
  • arcpy.UpdateCursor和arcpy.da.UpdateCursor计算面积时间的比较

    arcpy.UpdateCursor

    #######################
    import arcpy
    from arcpy import env
    import os
    
    import sys
    
    fc= arcpy.GetParameterAsText(0)
    filename= arcpy.GetParameterAsText(1)
    
    rows = arcpy.UpdateCursor(fc)
    
    #########################################
    ##
    for row in rows:
        shape=row.shape
        parea=shape.area
        row.setValue(filename,parea)
        rows.updateRow(row)
    
    del row
    del rows

    arcpy.da.UpdateCursor

    import arcpy
    from arcpy import env
    import os
    
    import sys
    
    fc= arcpy.GetParameterAsText(0)
    filename= arcpy.GetParameterAsText(1)
    fields = (filename,'SHAPE@AREA')
    
    rows = arcpy.da.UpdateCursor(fc,fields)
    
    #########################################
    ##
    for row in rows:
        parea=row[1]
        #parea=shape.area
        row[0]=parea
        rows.updateRow(row)
    
    del row
    del rows

    比较如下:

    上面是1.22s,下面是0.25s,差5倍 gisoracle测试

    另一个数据,11.85s,下面是1.8,差6倍 gisoracle测试

    ======================================

    以令牌(如 OID@)取代字段名称可访问更多的信息:

      <esri_enumhead><esri_enumvaluehd><esri_enumdeschd>
    • SHAPE@XY —一组要素的质心 x,y 坐标。
    • SHAPE@TRUECENTROID —一组要素的真正质心 x,y 坐标。
    • SHAPE@X —要素的双精度 x 坐标。
    • SHAPE@Y —要素的双精度 y 坐标。
    • SHAPE@Z —要素的双精度 z 坐标。
    • SHAPE@M —要素的双精度 m 值。
    • SHAPE@JSON — 表示几何的 esri JSON 字符串。
    • SHAPE@WKB —OGC 几何的熟知二进制 (WKB) 制图表达。该存储类型将几何值表示为不间断的字节流形式。
    • SHAPE@WKT —OGC 几何的熟知文本 (WKT) 制图表达。其将几何值表示为文本字符串。
    • SHAPE@ —要素的几何对象。
    • SHAPE@AREA —要素的双精度面积。
    • SHAPE@LENGTH —要素的双精度长度。
    • OID@ —ObjectID 字段的值。
  • 相关阅读:
    操作系统
    Typora
    C++
    linux sftp 和scp 运用
    python GIL锁与多cpu
    django model 高级进阶
    django template 模板
    django view 视图控制之数据返回的视图函数
    django 创建管理员用户
    jango 模型管理数据model入门
  • 原文地址:https://www.cnblogs.com/gisoracle/p/11216534.html
Copyright © 2011-2022 走看看