AnsweredAssumed Answered

Loop in python with Zonal Statistics

Question asked by kolumb on Mar 13, 2014
Latest reply on Mar 14, 2014 by xander_bakker

I have following problem. I have a layer with thousands of objects - crowns. I have CHM (nDSM) with "height" values. I would like to calculate "All" height statistics for crowns based on CHM, crown after a crown - because to do so directly in Spatial Analyst is impossible (to many objects in layer). I tried to write a Python script (one of my first ones) but it simply does not work:

import arcpy
import os
from arcpy import env
from import *
# Set environment settings
env.workspace = "F:\\_IBL\\Projekty\\GDLP_Sudety_Beskidy\\Analizy\\ALS2007vs2012\\analiza_probna\\baza.gdb"
outWorkspace = "F:\\_IBL\\Projekty\\GDLP_Sudety_Beskidy\\Analizy\\ALS2007vs2012\\analiza_probna\\baza.gdb"
featureClass = "korony_proba"  # crowns
raster2007 = "T2007_proba" #CHM (nDSM) ??? 32 bit, flout

rows = arcpy.SearchCursor(featureClass)
row =
for row in rows:
inZoneData = "featureClass"
zoneField = "ID_OK"
inValueRaster = "raster2007"
outTable = "stat_2007"
outZSaT = ZonalStatisticsAsTable(inZoneData, zoneField, inValueRaster, outTable, "NODATA", "ALL")

I have following error on the beginning:
Runtime error  Traceback (most recent call last):  
File "<string>", line 11, in <module>  
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\sa\", line 6195, in ZonalStatisticsAsTable     statistics_type)  
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\sa\", line 47, in swapper     result = wrapper(*args, **kwargs)  
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\sa\", line 6187, in Wrapper     statistics_type)  
File "c:\program files (x86)\arcgis\desktop10.2\arcpy\arcpy\geoprocessing\", line 498, in <lambda>     return lambda *args: val(*gp_fixargs(args, True)) ExecuteError: ERROR 000865: Input raster or feature zone data: featureClass does not exist. ERROR 001000: Zone field: Field ID_OK does not exist ERROR 000865: Input value raster: raster2007 does not exist.

Can you help me please.