2015-12-18 8 views
-2

Я использовал Model Builder для преобразования классов объектов в базу геоданных в шейп-файлы в ранее существовавшую папку. Он прошел успешно. Однако, когда я экспортировал модель в сценарий Python и запускал ее в Python, я получаю сообщение об ошибке:ArcPy Traceback (последний последний звонок): ошибка

Traceback (последний последний звонок): Файл «C: \ Users \ Mark.Novicio \ Desktop \ New папка \ FSA_Counties_delivered_by_GISO \ Updated_Iterators.py», строка 13, в arcpy.ImportToolbox ("Функции модели")

сценарий питон прилагается на изображении:

enter image description here

+3

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

+1

Есть ли еще сообщение об ошибке? Это похоже на верхнюю часть трассировки. – JCVanHamme

ответ

2

ArcPy код экспортируемые из ModelBuilder часто требуется много настроек, хотя это может быть умеренно полезная стартовая точка.

IterateFeatureClasses_mb is the python-code of a ModelBuilder only tool.

Этот инструмент предназначен для использования в ModelBuilder, а не в сценарии Python.

Поскольку вы хотите использовать Python вместо этого, вы должны использовать обычный итератор (в общем случае, for цикл проходит через список классов объектов). Вы можете автоматически build the list with arcpy.ListFeatureClasses, а затем просто цикл:

# set the workspace 
arcpy.env.workspace = Test_gdb 

# get a list of feature classes in arcpy.env.workspace 
listFC = arcpy.ListFeatureClasses() 

# iterate 
for fc in listFC: 
    # 
    # code to do to fc 
    # 

Если вы только собираетесь использовать этот список классов объектов один раз, вызовите ListFeatureClasses в петле for:

for fc in arcpy.ListFeatureClasses(): 

В любом случае, вам нужно будет look at FeatureClassToFeatureClass for outputting a shapefile, как только вы получите свою рабочую станцию ​​:)