Я пытаюсь изменить первый скрипт и преобразовать его в пользовательский инструмент ArcGIS. Первый скрипт принимает форму шейпов и преобразует их в слои объектов, а затем пересекает новые функциональные слои и, наконец, копирует вывод в файл формы. Эта часть скрипта работает.ArcMap 10.2: Пользовательский инструмент ArcGIS.
Второй скрипт должен быть модифицированной версией первого скрипта. Большинство скриптов работают, за исключением count = int (arcpy.GetCount_management («output_features»). GetOutput (0)), arcpy.AddMessage и arcpy.AddWarning.
Я не уверен, если сценарий является правильным для подсчета = INT (arcpy.GetCount_management ("output_features"). GetOutput (0))
В настоящее время возвращается arcpy.AddMessage «Новый класс объектов (полный путь выходных_файлов), был создан! "
Я хочу, чтобы он сказал: «Создан новый класс объектов« selected_parcels »!»
Кроме того, я хочу, чтобы arcpy.AddWarning возвращал количество строк в selected_parcels. В настоящее время я получаю сообщение об ошибке, указывающее, что счетчик не существует.
#Current code:
#Part I
try:
userWorkspace = raw_input("What is the workspace location?")
input_class = raw_input("What is the input feature class name?")
select_class = raw_input("What is the select feature class name?")
output_class = raw_input("What is the output feature class name?")
arcpy.env.workspace = userWorkspace
arcpy.env.overwriteOutput = True
arcpy.MakeFeatureLayer_management(input_class,"lyr")
arcpy.MakeFeatureLayer_management(select_class,"select_lyr")
arcpy.SelectLayerByLocation_management('lyr','intersect','select_lyr')
arcpy.CopyFeatures_management("lyr",output_class)
print "A new feature class",output_class," has been created!"
except:
print arcpy.GetMessages()
#Part II
import arcpy
arcpy.env.workspace = r"C:\Users\tpmorris\ProgramingAndScripting\Lab 5 Data\Lab 5 Data"
arcpy.env.overwriteOutput = True
input_features = arcpy.GetParameterAsText(0)
selected_parcels = arcpy.GetParameterAsText(1)
output_features = arcpy.GetParameterAsText(2)
arcpy.MakeFeatureLayer_management("coa_parcels.shp","lyr")
arcpy.MakeFeatureLayer_management("floodplains.shp","select_lyr")
arcpy.SelectLayerByLocation_management('lyr','intersect','select_lyr')
arcpy.CopyFeatures_management("lyr","selected_parcels")
count = int(arcpy.GetCount_management("output_features").getOutput(0))
arcpy.AddMessage("A new feature class" + output_features + "has been created!")
arcpy.AddWarning("There are" + count + "in the new feature class.")
Любые указания будут оценены!
Это исправлено. спасибо –