Вы можете написать свое уравнение в новой функции, и тогда вам нужно будет только вызвать функцию, чтобы повторно применить вычисления.
Откройте калькулятор поля, нажмите на 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"];