Ich versuche, Daten zu einer Attributtabelle in ArcGIS 10 mithilfe des folgenden Codes hinzuzufügen:
def make_floor_no( shapefile ):
"Makes header for number of Floors (FLO) and calculates value"
fieldName = "FLO"
try:
ARCPY.AddField_management(shapefile, fieldName, "DOUBLE")
except:
print "Field already there"
# loop through attribute table
Rows = ARCPY.SearchCursor( shapefile )
for row in Rows:
floors = round( row.getValue( 'HGT' ) / 3.0, 0)
print str(floors)
row.setValue( fieldName, floors )
Rows.updateRow(row)
Ich erhalte jedoch immer wieder einen Fehler
row.setValue( fieldName, floors )
Ich kann daran nichts falsches erkennen und habe ein paar verschiedene Optionen ausprobiert. Stimmt etwas mit meiner Syntax nicht?
Die Fehlermeldung lautet wie folgt:
File "Z:\ConstructionMaterial.py", line 100, in <module> make_floor_no( InputFile )
File "Z:\ConstructionMaterial.py", line 71, in make_floor_no
row.setValue( fieldName, floors )
File "C:\Program Files (x86)\ArcGIS\Desktop10.0\arcpy\arcpy\arcobjects\arcobjects.py", line 941, in setValue
return convertArcObjectToPythonObject(self._arc_object.SetValue(*gp_fixargs(args)))
RuntimeError: ERROR 999999: Error executing function.