Sử dụng ký tự đại diện cho tiêu đề cột trong Máy tính Trường QGIS?


10

Tôi biết bạn có thể sử dụng ký tự đại diện cho các trường như vậy (trong Máy tính trường):

case when "column" ILIKE '%example%' then 1
else 0
end

Bạn có thể làm một cái gì đó tương tự cho các tiêu đề cột?

Tôi hỏi điều này bởi vì tôi đang tham gia một số lớp (sử dụng thuộc tính Joins ) và nó sẽ giúp tôi dễ dàng chỉnh sửa một bộ bộ lọc thay vì chỉnh sửa một số bộ lọc vì tên cột sẽ phải bao gồm tên lớp đã tham gia.

Tôi đang sử dụng QGIS 2.2.

Câu trả lời:


4

Lấy làm tiếc. Ký tự đại diện được sử dụng trong chuỗi và không may là dấu ngoặc kép quanh tên cột không có nghĩa đó là chuỗi. Tên cột là "định danh", mà tôi nghĩ về cơ bản là tên đối tượng, nhưng tôi không phải là chuyên gia. Điều đó không có nghĩa là không có cách nào để làm những gì bạn yêu cầu, nhưng nó sẽ không xảy ra trong máy tính hiện trường.


Cảm ơn Zack, tôi hiểu về các cột / trường là "định danh", sẽ rất tuyệt nếu chúng có thể bao gồm nó. Tôi sẽ chấp nhận câu trả lời này ngay bây giờ :)
Joseph

6

Với việc giới thiệu Trình chỉnh sửa chức năng trở lại trong QGIS 2.8, có thể lặp qua các tên trường và thực hiện một số phân tích:

from qgis.core import *
from qgis.gui import *

@qgsfunction(args='auto', group='Custom')
def fields(feature, parent):
    layer = qgis.utils.iface.activeLayer()
    field_names = [field.name() for field in layer.fields()]
    for name in field_names:
        if "some_name" in name:
            # Do something
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.