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 字段的值。

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM