我一直在使用QGIS的Heatmap插件,我想知道是否可以使用类似的使用多边形和点的插件/工具制作热图?
我想以类似于热图插件对点的方式获得数据密度的表示。
下图是我期望的结果的粗略草图:
我一直在使用QGIS的Heatmap插件,我想知道是否可以使用类似的使用多边形和点的插件/工具制作热图?
我想以类似于热图插件对点的方式获得数据密度的表示。
下图是我期望的结果的粗略草图:
Answers:
也许您可以在多边形中生成一组随机点,是否有一个QGIS工具?如果多边形重叠,则在此区域中它们的密度较高。然后使用热图作为要点。您将需要进行几轮寻找最佳点数,因为结果取决于此。
如果您的数据显示某些栖息地的分布,无论如何都是模糊的,则这可能最接近现实世界的情况,在该情况下,一个点大约反映了一个标本。
如果我正确理解了您的问题,我之前已经做过类似的事情;只是要记得我做了什么。
如果您的多边形重叠且不属于同一图层,则此方法将起作用。如果它们在同一层上并且有可能,请将它们移动到单独的层,如果不这样做,则目标层将只继承其中一个值。
使用的关键过程是在“ 向量”>“数据管理”菜单下的“ 按位置联接属性”。在这里,将六角形字段指定为目标层,将连接层指定为多边形之一。命名您的结果图层,然后勾选“ 保留所有记录 ”单选按钮。
生成的层应该是六边形层的副本,其中所有单元格都与多边形层相交。现在进行交互时,将最后得到的图层用作目标图层并加入下一个多边形图层。使用产生的激光层并加入下一层,直到加入所有层。
您的最后一层应该继承了先前各层的所有属性字段,并且其中大部分可能都为NULL。
这是我们必须使用shapefile的某些功能的地方,因此,如果您尚未将图层另存为shapefile,请立即执行。并从QGIS中的工作区中删除该层。
在OpenOffice Calc中打开shapefile的* .dbf文件,请勿使用Excel。它将破坏文件并且它毫无用处,这是很难学的。并且不要对数据重新排序,它也非常明确地指向文件中的行顺序。检查以确保NULL现在为零(如果不是),请仔细替换。
现在,将shapefile插入QGIS并打开“ 属性表”。现在它应该显示零而不是NULL。使用字段计算器,并将在您的工作中获得的字段汇总到新列中。
现在,您有了一个求和字段,该字段应准确显示与目标字段重叠的所有要素集合的值。您可以使用“符号系统”功能根据求和字段的值为多边形着色,以绘制精美的Choropleth图。
如果要清除文件中所有未使用的字段。只需在Calc中再次打开dbf文件,然后随意删除不需要的列即可。就个人而言,我建议像我经常这样做那样学习学会适应shapefile。
这是使用栅格的常规工作流程。我不知道要在QGIS中完成它的具体细节。
Alpha / null值和/或图层透明度可让您将栅格覆盖在任何底图上。
如果适合您的要求,请尝试执行此操作,这不是针对数据集的计算解决方案,但是,如果您仅查找信息图表解决方案,则可以尝试执行此操作。
按位置连接属性,以六边形单元为目标,点数据为连接。选择保留所有功能。将具有继承值的单元格设置为期望的颜色,并将透明度设置为50%之类的值。
然后在带有圆形多边形的图层上将其符号系统设置为相同的颜色和透明度。将圆形多边形放在单元多边形的前面。随着值的增加,这将带来饱和度增加的错觉。
如果您愿意,也可以提取所有多边形的线并覆盖在顶部,这样子图层的轮廓就不会被其他图层所着色。
您将不得不使用颜色和透明度来寻找最佳解决方案。我发现相同的颜色看起来最好,但有实验性。
我建议您使用GRASS插件-QGIS的功能相当有限(为什么当GRASS之类的软件已经存在时,为什么要重新发明python?):
v.in.ogr.qgis
[根据您的多边形是否已经有一个值,可能需要下两行]
v.db.addcol
v.db.update_const
这是我们在多边形中叠加的部分,然后根据这些列制作栅格
v.to.db ... qcolumns=sum(col_with_polygon_value)
v.to.rast.attr
v.out.ogr [r.out.ogr]