Jak usunąć pola w QGIS?

15

Kiedy w QGIS włączona jest opcja usuwania pola z tabeli atrybutów? Jestem w trybie edycji i nadal nie mogę usunąć pola ...

vascobnunes
źródło
Chcesz więc wyświetlić tylko jedną kolumnę w tabeli atrybutów? lub po prostu wyszukać tylko w tej kolumnie?
Nathan W
2
chcę pokazać tylko jedną kolumnę w tabeli atrybutów
Arun,
sql zaznacz wiersze, a nie kolumny (pole)
neogeomat
@amritkarma można opracować proszę jestem całkowicie zdezorientowany ........
Arun
Powiedz nam, gdzie jesteś zdezorientowany, w przeciwnym razie będziemy mieli trudności z udzieleniem pomocy. Czy możesz wyjaśnić, co rozumiesz przez powiększenie pytania.
neogeomat,

Odpowiedzi:

6

Ten przycisk jest dostępny tylko dla warstwy PostGIS. Możesz usunąć kolumny tabeli za pomocą wtyczki „table manager”.

grafika 21
źródło
6
Czy to nie denerwujące, że musisz zainstalować wtyczkę, aby usunąć pola? dzięki
vascobnunes,
1
To prawda, ale jest to bardziej ograniczenie sterownika OGR, którego QGIS używa do odczytu / zapisu danych wektorowych. Zobacz ten raport o błędzie: trac.osgeo.org/qgis/ticket/1934 . Fortunatley jest w trakcie naprawy : trac.osgeo.org/gdal/ticket/2671 :)
obsadzony
Zawsze możesz także otworzyć plik * .dbf, na przykład w OpenOffice Calc i zmienić, dodać lub usunąć kolumny danych. Upewnij się tylko, że podczas zapisywania wszystkie wiersze są w tej samej kolejności co na początku (np. Za pomocą pola FID).
SAnderka
13

Najnowsze wersje QGIS obsługują usuwanie pól Shapefile z tabeli atrybutów.

Włącz edycję, a następnie możesz edytować tabelę atrybutów shapefile i wielokrotnie usuwać niepotrzebne kolumny.

wprowadź opis zdjęcia tutaj

mixedbredie
źródło
6

W QGIS 3.0 znajduje się również przycisk do usuwania atrybutów w menu właściwości. Najpierw przełącz edycję (kliknij warstwę prawym przyciskiem myszy -> przełącz edycję) i przejdź do menu właściwości (kliknij prawym przyciskiem myszy -> właściwości lub po prostu kliknij dwukrotnie). Przejdź do karty pól źródłowych, wybierz atrybuty, które chcesz usunąć, i kliknij przycisk u góry.Usuń pole

PySjoerd
źródło
1

Wtyczka „Table Manager” jest przestarzała. Zawiera ostrzeżenie, że jest przerywany i sugeruje użycie algorytmu przetwarzania pól refaktora . To może działać. Jednak inną metodą jest zapisanie warstwy pod nową nazwą, usunięcie zaznaczenia pól, które chcesz wyeksportować, a następnie usunięcie poprzedniej wersji, która zawiera pola, które chcesz usunąć po utworzeniu nowej warstwy.Zapisz jako zrzut ekranu zaznaczając, gdzie należy odznaczyć pola

Mark Thompson
źródło
0

Po przejrzeniu wielu plików odkryłem, że niektóre definicje pól - zwłaszcza pola zdefiniowane za pomocą wyrażenia, takiego jak „$ length” - wydają się być przechowywane tylko w pliku * .qgs, który (przynajmniej dla QGIS 2.18.13) jest plik XML, co oznacza, że ​​jest to plik tekstowy, który można edytować za pomocą prostych edytorów tekstu. Nazwa warstwy QGIS jest przechowywana w elemencie <nazwa_pliku> ... </layername>. Poszukaj warstwy zainteresowań. Pola wyrażeń są wymienione w elemencie <expressionfields> ... </expressionfields>. Na przykład

<expressionfields>
  <field typeName="FLOAT" precision="0" expression="$length/1000" length="0" type="6" comment="" name="km"/>
</expressionfields>

dla pola o nazwie „km”, którego wartość jest obliczana jako $ długość / 1000. Usuń element <field> ... </field>, którego już nie chcesz (gdy plik * .qgs nie jest używany). Najpierw wykonaj kopię pliku * .qgs, na wypadek, gdyby coś poszło nie tak.

Louis Strous
źródło
-1

Powinieneś zajrzeć do wtyczki RT SQL Layer lub Fast SQL do QGIS.

Konsola SQL w QGIS

neogeomat
źródło