如何对属性数据进行分组和计数?


18

我想对具有相同代码属性值的特征进行分组和计数。

我可以对数据进行分类并在图层列表中启用要素计数,但无法在属性表中获取计数。

Answers:


19

通过新的虚拟层,您现在可以在QGIS的任何层上使用SQL,例如QGIS示例数据中的Airport Shapefile:

在此处输入图片说明

要按USE类型计算机场数量并计算平均海拔,请使用:

在此处输入图片说明

结果将作为新层加载:

在此处输入图片说明


这对我来说比组统计更有用,因为我试图从与矢量层和纯属性(CSV)层中的字段相连的层中获取数据。组统计信息只会让我从单层而不是联接中退出。
J.泰勒

我刚刚在项目的层上尝试了这种确切的方法,SQL测试没有错误地返回,但是我在“求和”列中得到的都是0。做错了吗?

1
@Isaacson,我面临着完全相同的问题,事实证明引号是应该被指责的。在我的情况下,测试时字段的双引号给出了错误,单引号没有给出错误,但结果错误,没有引号给出了预期的结果。它还可能取决于您使用的QGIS版本。我是3.4

1
PS另外,我无法在合并的字段上进行汇总(SUM)。
dorakiara

7

这是我能在Google上找到的最好结果,但是GM的屏幕截图教程已过时,花了我一段时间才弄清楚如何使用该插件。

  1. 安装完成后,从“向量”菜单中加载“组统计”控制面板。
  2. 选择感兴趣的图层。
  3. 从字段列表中,将感兴趣的字段拖到“行”框中。
  4. 现在,将相同的字段拖到“值”框中。
  5. 在字段列表中还有一些功能,将“计数”拖到“值”框中(在您放置在其中的字段下方)。
  6. 单击“计算”,表格将出现在左侧。
  7. 您可以根据需要对计数进行排序,单击列标签。

这如何帮助其他人。


对于纯属性层和矢量层之间的连接,您将如何处理?例如,假设我有一个具有属性宗地和值的“宗地”表,然后是一个将所有者名称映射到宗地编号的“所有者”表。我如何说“将所有所有者按其所有地块的属性值之和分组”?
泰勒

6

我建议您安装Group Stats插件。这是一个快速教程: 组统计教程

  1. 搜索“组统计”图标
  2. 选择您拥有代码的图层
  3. 选择属性(在您的情况下为Code)
  4. 点击计算

计数将出现。如果您转到首选项,则应该只能选择Count以避免显示其他参数(这不是我的情况...)。请记住,在单击“保存”按钮之前,您必须选择要添加到.csv的字段:按住Shift键即可。这是Anita Graser编写的更高级的教程


别客气!也看这个问题。我希望能从您那里得到更多!再见!
2013年

1

您也可以在QGIS中使用Qspatialite。SQL窗口就像Mapinfo一样。由您自己决定使用所需列上的groupby命令发出SQL请求。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.