Veel

Tsoonistatistika Pythoni kood

Tsoonistatistika Pythoni kood


Püüan arvutada teatud rasterrakkude arvu FID-i tuvastatud üksikute puhvrite sees ja ma pole kindel, mida veel pean selles koodis muutma, et see töötaks:

# Süsteemimoodulite importimine arcpy importimine arcpy-st importimine env saidilt arcpy.sa importimine * importimine osade arv nump nimega # ülekirjutage olemasolevad andmekogumid arcpy.env.overwriteOutput = True arcpy.CheckOutExtension ("Spatial") # Tööturu määratlemine arcpy.env.workspace = arcpy.GetParameterAsText (0) in_features = arcpy.GetParameterAsText (1) arcpy.MakeFeatureLayer_management (in_features, "lyr") FIDS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 , 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,33, 34, 35, 36 , 37, 38, 39, 40] InputRaster = arcpy.GetParameterAsText (2) arcpy.MakeRasterLayer_management (InputRaster, "rdlayer") elemendile FIDS: fieldName = "FID" FID_item = str (item) EXP = '"FID" = '+ str (element) print EXP arcpy.AddMessage ("Pesapuhvritest valimine, kus" + EXP) arcpy.SelectLayerByAttribute_management ("shp", "NEW_SELECTION", EXP) result = int (arcpy.GetCount_management ("lyr"). getOutput (0)) printimistulemus arcpy.AddMessage (str (tulemus) + "pesapuhvrid valitud") OutputTabl e = "suit_" + str (element) ZonalStatisticsAsTable ("shp", "FID", "rdlayer", OutputTable, "DATA", "SUM")

See on see, mida ma saan selle käivitamisel:

Jälgimine (viimane kõne viimati): fail "C: /Users/csetash/PycharmProjects/Covariates/SuitHab.py", rida 22, sisse  arcpy.MakeFeatureLayer_management (in_features, "lyr") Fail "C:  Program Files (x86)  ArcGIS  Desktop10.2  arcpy  arcpy  management.py", rida 6043, MakeFeatureLayer'is tõsta e arcgisscripting.ExecuteError: ebaõnnestus . Parameetrid ei kehti. VIGA 000735: sisendfunktsioonid: väärtus on kohustuslik (MakeFeatureLayer) ei õnnestunud. Protsess on lõpetatud väljumiskoodiga 1

Valiku Kiht atribuudi järgi sisend peab olema funktsioonikiht või tabelivaade. Sisend ei saa olla funktsiooniklass ega tabel. Tee funktsioonikiht

Teie sisend on "shp", mis võib olla funktsiooniklass.