Как удалить поля в QGIS?

15

Когда опция удаления поля в таблице атрибутов включена в QGIS? Я в режиме редактирования и все еще не могу удалить поле ...

vascobnunes
источник
То есть вы хотите показать только один столбец в таблице атрибутов? или только поиск по этому столбцу?
Натан W
2
хочу показать только один столбец в таблице атрибутов
Арун
sql выбрать строки, а не столбцы (поле)
neogeomat
@amritkarma Вы можете уточнить, пожалуйста, я в полном замешательстве ........
Арун
Пожалуйста, сообщите нам, где вы в замешательстве, иначе у нас будут трудности с оказанием вам помощи. Не могли бы вы объяснить, что вы подразумеваете под увеличением вопроса.
Неогеомат

Ответы:

6

Эта кнопка доступна только для слоя PostGIS. Вы можете удалить столбцы таблицы с помощью плагина "Диспетчер таблиц".

artwork21
источник
6
Разве это не раздражает, когда приходится устанавливать плагин для удаления полей? спасибо
vascobnunes
1
Это правда, но это больше ограничивает драйвер OGR, который QGIS использует для чтения / записи векторных данных. Смотрите этот отчет об ошибке: trac.osgeo.org/qgis/ticket/1934 . Fortunatley исправление находится в стадии разработки: trac.osgeo.org/gdal/ticket/2671 :)
Манинг
Вы также всегда можете открыть файл * .dbf непосредственно, например, в OpenOffice Calc, и изменить, добавить или удалить столбцы данных. Просто убедитесь, что все строки в том же порядке, что и в начале, при сохранении (например, с помощью поля FID).
Сандерка
13

Последние версии QGIS поддерживают удаление полей Shapefile из таблицы атрибутов.

Включите редактирование, после чего вы сможете редактировать таблицу атрибутов шейп-файла и многократно удалять ненужные столбцы.

введите описание изображения здесь

mixedbredie
источник
6

В QGIS 3.0 также есть кнопка для удаления атрибутов в меню свойств. Сначала переключите редактирование (щелкните правой кнопкой мыши на слое -> переключить редактирование) и перейдите в меню свойств (щелкните правой кнопкой мыши -> свойства или просто дважды щелкните). Перейдите на вкладку исходных полей, выберите атрибуты, которые вы хотите удалить, и нажмите кнопку сверху.Удалить поле

PySjoerd
источник
1

Плагин «Диспетчер таблиц» устарел. Он поставляется с предупреждением о том, что оно прекращено, и предлагает вместо этого использовать алгоритм обработки полей Refactor . Это может сработать. Однако другой способ - сохранить слой с новым именем, отменить выбор полей, которые вы хотите экспортировать, а затем удалить предыдущую версию, в которой поля, которые вы хотели удалить, были удалены после создания нового слоя.Сохранить как снимок экрана с выделением полей для отмены выбора

Марк Томпсон
источник
0

Посмотрев много файлов, я обнаружил, что некоторые определения полей, особенно поля, определенные с помощью выражения, такого как "$ 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>

для поля с именем "km", значение которого рассчитывается как $ length / 1000. Удалите элемент <field> ... </ field>, который вам больше не нужен (когда файл * .qgs не используется). Обязательно сначала сделайте копию файла * .qgs, если что-то пойдет не так.

Луи Струс
источник