Как сгруппировать и посчитать данные атрибутов?

18

Я хочу группировать и считать объекты с одинаковым значением атрибута кода.

Я могу классифицировать данные и включить счетчик объектов в списке слоев, но не могу получить счетчики в таблице атрибутов.

Серен
источник

Ответы:

19

С новым виртуальным слоем вы теперь можете использовать SQL на любом слое в QGIS, например, Shapefile для аэропорта из примеров данных QGIS:

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

Чтобы подсчитать количество аэропортов по типу USE и рассчитать среднее значение по высоте:

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

Результаты загружаются как новый слой:

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

Подземье
источник
Это было более полезно для меня, чем групповая статистика, потому что я пытался получить данные из слоя, который соединял векторный слой с полями из слоя только для атрибутов (CSV). Групповая статистика позволила бы мне получать только из одного слоя, а не из объединения.
Дж. Тейлор
Я только что попробовал этот точный метод со слоем в моем проекте, тест SQL возвращается без ошибок, но все, что я получаю в столбце «сумма», это 0. Любые подсказки относительно того, где я могу найти то, что я я делаю неправильно?
1
@ Исааксон, я столкнулся с точно такой же проблемой, оказалось, что виноваты были в кавычках. В моем случае двойное цитирование полей давало ошибку при тестировании, одинарные кавычки не давали никаких ошибок, но неверные результаты, никакие кавычки не давали ожидаемого результата. Это также может зависеть от используемой вами версии QGIS. Я на 3,4
Доракиара
1
PS Также я не мог заставить его работать для агрегирования (SUM) в объединенной области.
Доракиара
7

Это был лучший результат в Google, который я смог найти, но руководство по скриншотам от GM устарело, и мне потребовалось некоторое время, чтобы понять, как использовать плагин.

  1. После установки загрузите панель управления Group Stats из меню «Вектор».
  2. Выберите интересующий слой.
  3. Из списка полей перетащите интересующее поле в поле «Строки».
  4. Теперь перетащите то же поле в поле «значение».
  5. В списке полей также есть некоторые функции, перетащите «count» в поле «value» (под полем, которое вы там указали).
  6. Нажмите «Рассчитать», и слева появится таблица.
  7. Вы можете отсортировать по количеству, если хотите, нажмите метку столбца.

Как это помогает другим людям.

Грегори
источник
Как бы вы сделали это для соединения между слоем только для атрибута и векторным слоем? Например, скажем, у меня была таблица «Участки», в которой были участки и значения свойств, а затем таблица «Владельцы», в которой имена владельцев сопоставлялись с номерами участков. Как бы я сказал «Сгруппировать всех владельцев по сумме стоимости имущества всех участков, которыми они владеют»?
Дж. Тейлор
6

Я предлагаю вам установить плагин Group Stats . Вот краткое руководство: учебник групповой статистики

  1. Поиск значка группы статистики
  2. Выберите слой, в котором у вас есть коды
  3. Выберите атрибут (в вашем случае код)
  4. Нажмите на Рассчитать

Граф появится. Если вы перейдете к настройкам, вы сможете выбрать только Count, избегая отображения других параметров (это не мой случай ...). Не забудьте перед тем, как нажать кнопку «Сохранить», вам нужно выбрать поля, которые вы хотите добавить в .csv: для этого удерживайте Shift. Вот более продвинутое руководство, написанное Анитой Грейзер.

GM
источник
Пожалуйста! Посмотрите на этот вопрос тоже. Я надеюсь увидеть больше от вас! До свидания!
GM
1

Вы также можете использовать Qspatialite в QGIS. Окно SQL такое же, как и в Mapinfo. После этого вы можете сделать SQL-запрос с помощью команды groupby для нужного столбца.

Боден
источник