Проверка в постобработке в наборе инструментов Python

Метод 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.

Связанные разделы