Khi nào thì tùy chọn xóa trường trong bảng thuộc tính được bật trong QGIS? Tôi đang ở chế độ chỉnh sửa và vẫn không thể xóa một trường ...
Khi nào thì tùy chọn xóa trường trong bảng thuộc tính được bật trong QGIS? Tôi đang ở chế độ chỉnh sửa và vẫn không thể xóa một trường ...
Câu trả lời:
Nút đó chỉ có sẵn cho một lớp PostGIS. Bạn có thể xóa các cột trong bảng thông qua plugin "trình quản lý bảng".
Trong QGIS 3.0 cũng có một nút để xóa các thuộc tính trong menu thuộc tính. Đầu tiên chuyển đổi chỉnh sửa (nhấp chuột phải vào một lớp -> chuyển đổi chỉnh sửa) và chuyển đến menu thuộc tính (nhấp chuột phải -> thuộc tính hoặc chỉ cần nhấp đúp chuột). Chuyển đến tab trường nguồn, chọn các thuộc tính bạn muốn xóa và nhấp vào nút trên cùng.
Plugin "Table Manager" đã lỗi thời. Nó đi kèm với một cảnh báo rằng nó bị ngưng và đề nghị bạn sử dụng thuật toán xử lý Refactor Field thay thế. Điều này có thể làm việc. Tuy nhiên, một phương pháp khác là lưu lớp với tên mới, bỏ chọn các trường bạn muốn xuất và sau đó xóa phiên bản trước đó có các trường bạn muốn xóa sau khi lớp mới được tạo.
Sau khi xem xung quanh nhiều tệp, tôi thấy rằng một số định nghĩa trường - đặc biệt là các trường được xác định thông qua một biểu thức như "$ length" - dường như chỉ được lưu trữ trong tệp * .qss, mà (ít nhất là cho QGIS 2.18.13) là một tệp XML, có nghĩa là nó là một tệp văn bản có thể được chỉnh sửa bằng các trình soạn thảo văn bản đơn giản. Tên của lớp QGIS được lưu trữ trong phần tử <layername> ... </ layername>. Hãy tìm lớp quan tâm. Các trường biểu thức được liệt kê trong phần tử <biểu thức> ... </ biểu thức>. Ví dụ
<expressionfields>
<field typeName="FLOAT" precision="0" expression="$length/1000" length="0" type="6" comment="" name="km"/>
</expressionfields>
đối với trường có tên "km" có giá trị được tính là $ length / 1000. Xóa phần tử <field> ... </ field> mà bạn không muốn nữa (khi tệp * .qss không được sử dụng). Hãy chắc chắn tạo một bản sao của tệp * .qss trước, trong trường hợp có sự cố.
Bạn nên xem xét plugin RT SQL Layer hoặc plugin Fast SQL cho QGIS.