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

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

#1 楼

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



计算机场数量按USE类型并计算平均高程使用:



结果将作为新层加载:



评论


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

– J. Taylor
18 Mar 5 '18 at 18:55

我刚刚在项目上尝试了这种精确的方法,SQL测试没有错误地返回,但是我在'sum'列中得到的都是0。有关我可能在哪里寻找的任何线索做错了吗?

–user39790
18年6月15日在8:51

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

– dorakiara
19年5月23日在10:13



附言我也无法在一个联接字段上进行汇总(SUM)。

– dorakiara
19年5月23日在13:58

#2 楼

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


一旦安装,从“矢量”菜单中加载“组统计”控制面板。
选择感兴趣的层。
从字段列表中,将感兴趣的字段拖到“行”框中。
现在将相同的字段拖到“值”框中。
在字段列表中还有一些功能,将“计数”拖到“值”框中(在您输入的字段下方)。
单击“计算”,表格将显示在左侧。
如果需要,可以按计数排序,单击列标签。

这如何帮助其他人。

评论


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

– J. Taylor
18 Mar 5 '18 at 8:37

#3 楼

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



搜索“组统计”图标
选择具有代码的图层
选择属性(根据您的情况选择代码)
单击计算

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

评论


别客气!也看这个问题。我希望看到更多来自您的信息!再见!

– G M
2013年9月9日在9:22

#4 楼

您还可以在QGIS中使用Qspatialite。
SQL窗口就像Mapinfo一样。
之后,由您在想要的列上使用groupby命令发出SQL请求。

#5 楼

QGIS 3.10在处理工具箱中带有“按类别统计”工具。

结果如下: