Более

Извлечение растровых значений NetCDF в шейп-файлы с включенным временем - что не так с моим скриптом Python?


Я пытаюсь создать инструмент сценария Python, который извлекает значения из растра NetCDF в каждую точку данных из шейп-файла с включенным временем в нужное время. Мой растр NetCDF состоит из среднемесячных значений температуры поверхности моря (SST), и у меня также есть шейп-файл точек пластикового мусора, который был включен по времени с интервалом в один месяц. Я проверил с помощью Time Slider, что значения растра и шейп-файла меняются со временем правильно.

Может ли кто-нибудь помочь мне понять, почему я продолжаю получать ошибку с этим скриптом:

mxd = arcpy.mapping.MapDocument ('SST.mxd') df = arcpy.mapping.ListDataFrames (mxd) [0] rasterLayerName = "SST" rasterLayer = arcpy.mapping.ListLayers (mxd, rasterLayerName, dfLayerName) [0] пластик = "Пластик" plasticLayer = arcpy.mapping.ListLayers (mxd, plasticLayerName, df) [0] df.time.currentTime = df.time.startTime, а df.time.currentTime <= df.time.endTime: uniqueName = "Plastic_ "+ df.time.currentTime.strftime ("% Y_% m ") outPointFeatures =" U: / gis / "+ uniqueName arcpy.sa.ExtractValuesToPoints (plasticLayer, rasterLayer, outPointFeatures," NONE "," VALUE_ONLY ") df. time.currentTime + = df.time.timeStepInterval

Вот ошибка:

Ошибка выполнения Traceback (последний вызов последним): File "", строка 6, в  Файл «c:  program files (x86)  arcgis  desktop10.1  arcpy  arcpy  sa  Functions.py», строка 1311, в ExtractValuesToPoints add_attributes) Файл «c:  program files (x86)  arcgis  desktop10. 1  arcpy  arcpy  sa  Utils.py ", строка 47, в swapper result = wrapper (* args, ** kwargs) File" c:  program files (x86)  arcgis  desktop10.1  arcpy  arcpy  sa  Functions.py ", строка 1304, в оболочке add_attributes) Файл" c:  program files (x86)  arcgis  desktop10.1  arcpy  arcpy  geoprocessing  _base.py ", строка 498, в  return lambda * args: val (* gp_fixargs (args, True)) ExecuteError: ERROR 001143: фоновый сервер выдал исключение.

Я использую ArcGIS Desktop 10.1 и Python 2.7 в Windows 7.


Похоже, что у вас включена фоновая геообработка для вашего скрипта. Отключите фоновую геообработку для этого инструмента и попробуйте запустить его снова.

Кроме того, вы вводите в свой сценарий бесконечный цикл. Измените свойпокацикл для включенияdf.time.currentTime + = df.time.timeStepIntervalфрагмент:

в то время как df.time.currentTime <= df.time.endTime: uniqueName = "Plastic_" + df.time.currentTime.strftime ("% Y_% m") outPointFeatures = "U: / gis /" + uniqueName arcpy.sa. ExtractValuesToPoints (plasticLayer, rasterLayer, outPointFeatures, «NONE», «VALUE_ONLY») df.time.currentTime + = df.time.timeStepInterval