Метод postExecute - это дополнительный метод проверки, который запускается после завершения работы инструмента. Метод вызывается после завершения работы метода execute инструмента из набора Python, выходные данные добавляются на панель Содержание активной карты. Этот метод позволяет использовать модуль arcpy.mp для запроса и изменения способа отображения выходных данных.
Ядро postExecute идентифицирует слой с активной карты и использует значение SimpleRenderer для изменения символа каждой точки на символ аэропорта. Ядро предполагает, что второй параметр инструмента является выходным классом точечных объектов.
def postExecute(self, parameters):
try:
project = arcpy.mp.ArcGISProject('CURRENT')
active_map = project.activeMap
if active_map:
out_layer = active_map.listLayers(os.path.basename(parameters[1].valueAsText))[0]
symbology = out_layer.symbology
symbology.updateRenderer('SimpleRenderer')
symbology.renderer.symbol.applySymbolFromGallery('Airport')
symbology.renderer.symbol.size = 12
out_layer.symbology = symbology
except Exception:
pass
return
Примечание:
Инструмент Применить символы по слою не поддерживается в postExecute. Вместо него воспользуйтесь классом Symbology модуля arcpy.mp.