Бештар

ArcCatalog ва python ҳангоми коркарди ConvertTimeField_management суқут мекунанд


Ман скрипте дорам, ки файли tif-ро аз нав классификация мекунад, ба tiff соҳаи нав илова мекунад ва бояд санаи аз номи файл таҳлилшударо ба майдони таърихи нав илова кунад. Ҳама чиз ба таври бояду шояд кор мекунад, ба истиснои таҳлили сана. Вақте ки скрипт ин хатро иҷро мекунад, python вайрон мешавад ё скриптро тавассути ArcCatalog ё сатри фармони python иҷро мекунад:

arcpy.ConvertTimeField_management ("C:  Users  OuelletteMS  Desktop  Ice_Data_from_JohnIacozza  1978  wa_19780629_reclass.tif", 19780629, "yyyyMMdd", "Date")

Ин мисол истифодаи қиматҳои тағирёбанда мебошад, зеро онҳо аз рӯи скрипт таъин шудаанд (тағирёбандаҳоро чоп кунед, нусхабардорӣ / часбонед ва нохунакҳо илова кунед). Скрипти пурра дар зер аст.

Ман ягон паёми хатогӣ намегирам ва шарҳи ин як сатр нишон медиҳад, ки ҳама чизи дигар кор мекунад. Ман ин хатро ҳамчун як порча пас аз иҷрои бомуваффақияти асбоб дар ArcMap гирифтам. Ман чӣ гум мекунам?

Ман ArcGIS 10.1 SP1 ва Python 2.7 -ро истифода мебарам

import arcpy, os, sys from arcpy import env arcpy.CheckOutExtension ("Spatial") # Иҷозат барои аз нав сабт кардани файл arcpy.env.overwriteOutput = True # Танзими роҳи каталоги фазои корӣ = "C:  Users  OuelletteMS  Desktop  Ice_Data_from_JohnIac" .workspace = path # Рӯйхати синфҳои хусусиро аз феҳристи феҳристи корӣ гиредFCs = arcpy.ListFiles ("wa_197806 * .tif") # Ҳар як файлро давр занед ва коркарди fc дар listFCs иҷро кунед: print str ("processing" + fc) ) # файли дар айни замон коркардшударо намоиш медиҳад shpname = str (fc) # номи файлро ба сатр табдил медиҳад yearVal = shpname [3: 7] # соли коркард newName = shpname [0:11] + "_reclass.tif" # номи барои растри нав таснифшуда newPath = path + "" + yearVal # роҳро барои файли аз нав таснифшуда муқаррар мекунад outfile = newPath + "" + newName # роҳи таснифшудаи растрро муайян мекунад vf = "Value" # майдони арзиши истифодашавандаро таъин мекунад strDate = shpname [3:11] # аломатҳои аз 3 то 11-ро аз номи файл хориҷ мекунад # Санҷед, ки директория дар он сол вуҷуд дорад. Агар ин тавр набошад, як кӯшиш кунед: os.makedirs (newPath) ба истиснои OSError: агар не os.path.isdir (newPath): баланд бардоштани # Азнавсозӣ кардани raster arcpy.gp.Reclassify_sa (fc, vf, "1 5 1; 6 99 0; NODATA 0 ", outfile," NODATA ") # Соҳаи майдони field2 =" Date "# Майдон барои нигоҳ доштани сана ҳамчун санаи arcpy.AddField_management (outfile, field2," DATE ") # arcpy.ConvertTimeField_management (outfile, strDate , "yyyyMMdd", field2) # Пок кардани дел listFCs, fc, shpname, yearVal, newName, newPath, outfile, vf, strDate, field2 # arcpy.CheckInExtension ("Spatial") print "done"

Ба назар чунин мерасад, ки роҳи шумо дар ибтидо метавонад мушкил бошад. Шумо бояд онро як сатри 'хом' созед ё аз рахҳои рахна халос шавед:

path = r "C:  Users  OuelletteMS  Desktop  Ice_Data_from_JohnIacozza" path = "C:  Users  OuelletteMS  Desktop  Ice_Data_from_JohnIacozza"

Ба гумони ман, натиҷаи Рӯйхат холӣ аст, зеро фазои корӣ вуҷуд надорад.


Видеоро тамошо кунед: QGIS Python PyQGIS - Calculate Field Values Field Calculator (Октябр 2021).