Quand l'option de supprimer un champ dans une table attributaire est-elle activée dans QGIS? Je suis en mode édition et je ne parviens toujours pas à supprimer un champ ...
Quand l'option de supprimer un champ dans une table attributaire est-elle activée dans QGIS? Je suis en mode édition et je ne parviens toujours pas à supprimer un champ ...
Réponses:
Ce bouton n'est disponible que pour une couche PostGIS. Vous pouvez supprimer des colonnes de table via le plugin "gestionnaire de table".
Les versions récentes de QGIS prennent en charge la suppression des champs Shapefile de la table attributaire.
Activez la modification et vous pouvez ensuite modifier la table attributaire du fichier de formes et supprimer plusieurs fois les colonnes dont vous n'avez pas besoin.
Dans QGIS 3.0, il existe également un bouton pour supprimer des attributs dans le menu des propriétés. Basculez d'abord l'édition (clic droit sur un calque -> bascule édition) et allez dans le menu des propriétés (clic droit -> propriétés ou double-cliquez simplement). Accédez à l'onglet des champs source, sélectionnez les attributs que vous souhaitez supprimer et cliquez sur le bouton en haut.
Le plugin "Table Manager" est obsolète. Il est accompagné d'un avertissement indiquant qu'il est interrompu et vous suggère d'utiliser à la place l'algorithme de traitement Refactor Fields . Cela peut fonctionner. Cependant, une autre méthode consiste à enregistrer le calque sous un nouveau nom, à désélectionner les champs que vous souhaitez exporter, puis à supprimer la version précédente qui contient les champs que vous souhaitez supprimer après la création du nouveau calque.
Après avoir parcouru de nombreux fichiers, j'ai constaté que certaines définitions de champs - en particulier les champs définis par une expression telle que "$ length" - semblent être stockées uniquement dans le fichier * .qgs qui (au moins pour QGIS 2.18.13) est un fichier XML, ce qui signifie qu'il s'agit d'un fichier texte qui peut être modifié à l'aide de simples éditeurs de texte. Le nom de la couche QGIS est stocké dans l'élément <layername> ... </layername>. Recherchez la couche d'intérêt. Les champs d'expression sont répertoriés dans l'élément <expressionfields> ... </expressionfields>. Par exemple
<expressionfields>
<field typeName="FLOAT" precision="0" expression="$length/1000" length="0" type="6" comment="" name="km"/>
</expressionfields>
pour un champ nommé "km" dont la valeur est calculée comme $ longueur / 1000. Supprimez l'élément <field> ... </field> dont vous ne voulez plus (lorsque le fichier * .qgs n'est pas utilisé). Assurez-vous de faire une copie du fichier * .qgs en premier, au cas où les choses tournent mal.
Vous devriez regarder dans le plugin RT SQL Layer ou le plugin Fast SQL pour QGIS.