Bạn có thể viết phương trình của mình trong một hàm mới, và sau đó bạn sẽ chỉ phải gọi hàm để áp dụng lại tính toán.
Mở máy tính trường, bấm vào Function Editortab, new filesau đó chỉnh sửa chức năng. Chọn load. Lưu ý rằng oksẽ không có sẵn tại thời điểm này.
Quay trở lại Expressiontab, chọn customnhóm chức năng và nhấp đúp chuột vào chức năng của bạn. Chọn trường cần cập nhật và nhấn ok.
Nếu bạn muốn chỉ sử dụng các giá trị trường và hằng số, bạn có thể chỉnh sửa chữ ký hàm mặc định, bắt đầu bằng value1. Trong ví dụ của tôi, tôi đã loại bỏ nó, nhưng bạn có thể sử dụng (các) trường này để truyền các đối số mới.
Sau đó, bạn có thể truy cập các giá trị trường tính năng bằng cách sử dụng feature["fieldName"].... hãy cẩn thận để gọi hàm này chỉ trên các lớp có chứa các trường đã nói!
@qgsfunction(args='auto', group='Custom')
def funcTestCalc( feature, parent):
return feature["fieldA"]+feature["fieldB"];
