Wann ist die Option zum Löschen eines Feldes in einer Attributtabelle in QGIS aktiviert? Ich bin im Bearbeitungsmodus und kann noch kein Feld löschen ...
Wann ist die Option zum Löschen eines Feldes in einer Attributtabelle in QGIS aktiviert? Ich bin im Bearbeitungsmodus und kann noch kein Feld löschen ...
Antworten:
Diese Schaltfläche ist nur für eine PostGIS-Ebene verfügbar. Sie können Tabellenspalten über das Plugin "Tabellenmanager" löschen.
In QGIS 3.0 gibt es auch eine Schaltfläche zum Löschen von Attributen im Eigenschaftenmenü. Schalten Sie zuerst die Bearbeitung um (klicken Sie mit der rechten Maustaste auf eine Ebene -> schalten Sie die Bearbeitung um) und rufen Sie das Eigenschaften-Menü auf (klicken Sie mit der rechten Maustaste -> Eigenschaften oder doppelklicken Sie einfach). Gehen Sie zur Registerkarte Quellfelder, wählen Sie die Attribute aus, die Sie löschen möchten, und klicken Sie oben auf die Schaltfläche.
Das Plugin "Table Manager" ist veraltet. Es wird mit einer Warnung angezeigt, dass es nicht mehr erhältlich ist, und schlägt vor, stattdessen den Refactor Fields- Verarbeitungsalgorithmus zu verwenden. Das kann funktionieren. Eine andere Methode besteht darin, die Ebene unter einem neuen Namen zu speichern, die Auswahl der zu exportierenden Felder aufzuheben und dann die vorherige Version zu löschen, in der die gewünschten Felder entfernt wurden, nachdem die neue Ebene erstellt wurde.
Nachdem ich mich in vielen Dateien umgesehen hatte, stellte ich fest, dass einige Felddefinitionen - insbesondere Felder, die durch einen Ausdruck wie "$ length" definiert wurden - nur in der * .qgs-Datei gespeichert zu sein scheinen (zumindest für QGIS 2.18.13) eine XML-Datei, dh eine Textdatei, die mit einfachen Texteditoren bearbeitet werden kann. Der Name der QGIS-Ebene wird im Element <layername> ... </ layername> gespeichert. Suchen Sie nach der gewünschten Ebene. Die Ausdrucksfelder werden im Element <expressionfields> ... </ expressionfields> aufgelistet. Beispielsweise
<expressionfields>
<field typeName="FLOAT" precision="0" expression="$length/1000" length="0" type="6" comment="" name="km"/>
</expressionfields>
für ein Feld mit dem Namen "km", dessen Wert als $ length / 1000 berechnet wird. Löschen Sie das <field> ... </ field> -Element, das Sie nicht mehr benötigen (wenn die * .qgs-Datei nicht verwendet wird). Stellen Sie sicher, dass Sie zuerst eine Kopie der * .qgs-Datei erstellen, falls etwas schief geht.
Sie sollten sich das RT SQL Layer-Plugin oder das Fast SQL-Plugin für QGIS ansehen.