Kiedy w QGIS włączona jest opcja usuwania pola z tabeli atrybutów? Jestem w trybie edycji i nadal nie mogę usunąć pola ...
Kiedy w QGIS włączona jest opcja usuwania pola z tabeli atrybutów? Jestem w trybie edycji i nadal nie mogę usunąć pola ...
Odpowiedzi:
Ten przycisk jest dostępny tylko dla warstwy PostGIS. Możesz usunąć kolumny tabeli za pomocą wtyczki „table manager”.
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.
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.
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.
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.
Powinieneś zajrzeć do wtyczki RT SQL Layer lub Fast SQL do QGIS.