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