QGISで属性テーブルのフィールドを削除するオプションはいつ有効になりますか?編集モードで、まだフィールドを削除できません...
QGISで属性テーブルのフィールドを削除するオプションはいつ有効になりますか?編集モードで、まだフィールドを削除できません...
回答:
このボタンは、PostGISレイヤーでのみ使用できます。「テーブルマネージャー」プラグインを使用して、テーブルの列を削除できます。
多くのファイルを調べたところ、いくつかのフィールド定義(特に「$ length」などの式で定義されたフィールド)が* .qgsファイルにのみ保存されていることがわかりました(少なくともQGIS 2.18.13の場合) XMLファイル。つまり、単純なテキストエディターを使用して編集できるテキストファイルです。QGISレイヤーの名前は<layername> ... </ layername>要素に保存されます。関心のある層を探します。式フィールドは、<expressionfields> ... </ expressionfields>要素にリストされます。例えば
<expressionfields>
<field typeName="FLOAT" precision="0" expression="$length/1000" length="0" type="6" comment="" name="km"/>
</expressionfields>
値が$ length / 1000として計算される「km」という名前のフィールドの場合。不要になった<field> ... </ field>要素を削除します(* .qgsファイルが使用されていない場合)。問題が発生した場合に備えて、*。qgsファイルのコピーを最初に作成してください。
QGISのRT SQL LayerプラグインまたはFast SQLプラグインを調べる必要があります。