Làm cách nào để xóa các trường trong QGIS?


14

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 ...


Vì vậy, bạn chỉ muốn hiển thị một cột duy nhất trong bảng thuộc tính? hoặc chỉ tìm kiếm trên cột đó?
Nathan W

2
chỉ muốn hiển thị một bảng màu duy nhất trong bảng thuộc tính
Arun

sql chọn hàng không phải cột (trường)
neogeomat

@amritkarma bạn có thể giải thích rõ không, tôi hoàn toàn bối rối ........
Arun

Vui lòng cho chúng tôi biết bạn đang bối rối ở đâu, nếu không chúng tôi sẽ gặp khó khăn trong việc giúp đỡ bạn. Bạn có thể giải thích những gì bạn có nghĩa là bằng cách phóng to câu hỏi.
neogeomat

Câu trả lời:


6

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".


6
Có phải hơi khó chịu khi phải cài đặt một plugin để xóa các trường không? cảm ơn
vascobnunes

1
Điều đó là đúng, nhưng đây là một hạn chế của trình điều khiển OGR mà QGIS sử dụng cho dữ liệu vectơ đọc / ghi. Xem báo cáo lỗi này: trac.osgeo.org/qgis/ticket/1934 . Fortunatley một bản sửa lỗi đang được triển khai: trac.osgeo.org/gdal/ticket/2671 :)
quản lý

Bạn cũng luôn có thể mở tệp * .dbf trực tiếp, ví dụ, OpenOffice Calc và thay đổi, thêm hoặc xóa các cột dữ liệu. Chỉ cần đảm bảo tất cả các hàng theo thứ tự như lúc ban đầu khi bạn lưu (ví dụ: bằng cách sử dụng trường FID).
SAnderka

12

Các phiên bản gần đây của QGIS hỗ trợ xóa các trường Shapefile khỏi bảng thuộc tính.

Cho phép chỉnh sửa và sau đó bạn có thể chỉnh sửa bảng thuộc tính shapefile và xóa nhiều cột mà bạn không cần.

nhập mô tả hình ảnh ở đây


6

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.Xóa trường


1

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.Lưu dưới dạng Ảnh chụp màn hình làm nổi bật nơi Bỏ chọn Trường


0

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ố.


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.