Вы можете написать свое уравнение в новой функции, и тогда вам нужно будет только вызвать функцию, чтобы повторно применить вычисления.
Откройте калькулятор поля, нажмите на Function Editorвкладку, new fileзатем отредактируйте функцию. Выберите load. Обратите внимание, что okна данный момент не будет доступно.
Вернитесь на Expressionвкладку, выберите группу customфункций и дважды щелкните свою функцию. Выберите поле для обновления и нажмите ok.
Если вы хотите использовать только значения полей и константы, вы можете отредактировать сигнатуру функции по умолчанию, которая начинается с value1. В моем примере я удалил его, но вы можете использовать эти поля для передачи новых аргументов.
Затем вы можете получить доступ к значениям полей объектов, используя feature["fieldName"].... будьте осторожны, вызывая эту функцию только на слоях, содержащих указанные поля!
@qgsfunction(args='auto', group='Custom')
def funcTestCalc( feature, parent):
return feature["fieldA"]+feature["fieldB"];
