使用ArcGIS,QGIS,Grass和/或GVSIG:


构建有效热图涉及哪些工具和过程?
有哪些?涉及的插件?
主要数据要求是什么?
现有热图有哪些缺陷?
热图不能有效解决哪些问题?
如何不制作热图?
在相同的上下文中,有没有比热图更好的数据表示方法?


评论

尽管它不使用您指定的任何工具,但您可能还想看看这个Python脚本jjguy.com/heatmap

Dassouki,您能否阐明“热图”的含义?维基百科似乎认为这是一系列值的chorospleth演绎。这是微妙的,但重要的是,与该线程中的所有答复不同,后者假定它仅表示任何基于网格(或图像)的属性的映射,尤其是已从点数据内插到网格的属性。对于真正的热点图,每个项目符号问题的答案都会有所不同。

#1 楼


该问题已转换为社区Wiki,并且维基百科已锁定
,因为它是一个寻求答案列表的问题的示例,并且似乎很受欢迎,可以防止其被关闭。
应该视为特例,不应将其视为此问题或任何Stack Exchange网站上鼓励的问题的类型,但是如果您希望提供更多内容,然后可以自由编辑该答案。



至少有两种不同的热图:


代表点集中的热图和
代表属性值分布的热图

每种方法都有其优点和问题,恐怕要详细介绍远远超出此问答。

我将尝试列出一些QGIS和GRASS的方法和功能。 ,车辆等。评估位置信息高度集中的区域可能很有用。

工具:例如QGIS Heatmap插件(版本> 1.7.x中可用)或GRASS v.neighbors或v.kernel

属性值的分布

这里,我们基本上是在谈论更多或更少关于插值方法。方法包括:



IDW


根据实现的不同,该方法可以是全局的(使用集中的所有可用点)或局部的(受点数或点与插值位置之间的最大距离)。

工具:QGIS插值插件(全局),GRASS v.surf.idw或r.surf.idw(局部)


样条线

再次,大量可能的实现。 B样条线很受欢迎。

工具:GRASS v.surf.bspline


克里格法(Kriging) 。

工具:GRASS v.krige(感谢om_henners作为提示)或使用R.



评论


通过GRASS,有一个用于kriging v.krige(grass.osgeo.org/wiki/V.krige_GSoC_2009)的接口,但是它仍然需要R以及GRASS Wiki页面上提到的各种R包和绑定。

–om_henners
10年7月27日在17:52



从QGIS 2.8开始,有一个用于点层的Heatmap渲染器。无需创建新数据。

–亚历山大·内托(Alexandre Neto)
2015年12月16日上午10:57

#2 楼

从统计上讲,这是制作热图的方法:

1)积分点特征。集成的想法是获取应该被视为重合的点,并将它们合并为一个位置。我喜欢使用最近邻居分析并从那里使用适当的值。 (例如,在制作犯罪热点图时,我对犯罪进行地理编码的基础宗地数据集使用平均最近的第一个邻居。)

2)收集事件。这将为您的所有积分点创建空间权重。例如。如果您在一个位置上有5个事件,则权重为5将变为1分。这对于接下来的两个步骤至关重要。如果您需要在合并的事件中聚合属性,即不同事件的权重较高,则可以使用一对一的空间联接。使用“收集事件”输出作为目标,并使用原始的集成事件作为联接功能。设置字段映射合并规则,以统计方式将合并事件上的属性组合在一起(通常可以使用SUM,尽管您可以使用其他统计信息)。

3)使用Global Moran's I确定峰空间自相关。说,以不同的时间间隔运行全局moran的I,以适合您正在执行的分析的规模确定空间自相关的峰带。您可能想对收集到的事件再次运行最近的邻居,以确定您的ran鼠I测试的起始范围。 (例如,将最大值用于第一个最近的邻居)

4)运行Getis-Ord Gi *。根据您的moran的I分析使用固定的距离带,或将固定的距离带用作无差异区域。您来自收集事件的空间权重是您的数字计数字段。这将为您的集合中的每个事件点提供z得分。

5)针对Getis-Ord Gi *的结果运行IDW。

该结果与内核密度得到的结果明显不同。它会向您显示高值和低值在哪里聚集在一起,而不是高值在哪里,而不考虑像内核密度这样的聚集。

#3 楼

当我喜欢热图时,我意识到它们经常被滥用。

我通常看到的是一个过程,其中每个像素的颜色基于应用于点集合的反距离加权函数的结果。每当地图上有很多重叠的点标记时,我认为都值得考虑热图。

这是一个基于Web的api。

GeoChalkboard有一个很好的教程。

您可以在ArcGIS中使用IDW。

评论


请注意,IDW对数据收集位置非常敏感。例如,如果数据是聚类的,则可能会出现严重的数学异常。

– Reed Copsey
2010年7月23日在22:32

@Reed Copsey您会提出什么选择?

–fmark
10年7月24日在7:54



@fmark:您可以使用很多插值例程来代替IDW,包括基于自然邻域/三角剖分的方法,克里格法,样条曲线/最小拉力等。

– Reed Copsey
10年7月24日在19:42

@Reed我从来没有真正关心过热图的数学正确性(也许我应该这样)。但是我确实认为它们在许多情况下都可以有效地交流集群。这是我认为可以有效地绘制为热图的地图示例:www2.clustrmaps.com/counter/maps.php?url=http://clustrmaps.com

– Kirk Kuykendall
2010年7月27日在22:12

我认为它们是一个很好的工具。仅当您将结果用于决策时,数学/统计的正确性才可能很重要,但是如果要传达分布的一般意义,IDW可能很好。 (更多的是由于数学异常,导致簇在热图结果中引起较大的“偏斜”,尤其是簇之间)。

– Reed Copsey
10年7月27日在22:52

#4 楼

为了获得简单的热图并生成countour线,我将QGis与Grass集成在一起使用:创建草草地图集
打开草草工具箱,然后单击模块列表以搜索每个工具
加载v.in.ogr.qgis模块并加载点数据和边界形状,每次记住单击每个视图的输出–给每个输入一个有用的名称,例如pointdata和maskshape

将maskshape转换为栅格,以将其用作v.to.rast的蒙版并添加到地图集中–命名像maskraster一样-可能会花费一些时间来处理复杂的多边形。
加载r.mask模块以将下一个动作限制为缓冲区。
运行v.surf.rst以根据点数据生成一个插值的网格-选择适当的列作为进行插值的属性字段,然后将其命名为rastersurface。这是花费时间并生成栅格的位,可将其用作热图或3D阴影。
关闭草工具箱
使用GDAL栅格轮廓插件选择GRASS栅格作为输入;将默认级别值保留为10,然后选择一个将保存轮廓shapefile的输出目录。检查“属性名称”并输入名称。

NB:为使此工作正常,数据集应在同一投影中!

#5 楼

我认为这个问题已经得到了解答,除了关于问题的几点。

热图可能很棒,但是经典的缺陷和问题在于解释。取犯罪事件的热图与犯罪率/比例的图(热或其他)之间的差。尽管事件热图在识别总体事件密度方面可能很有用,但它作为风险的估计是盲目的,但通常会以这种方式被解释或滥用。考虑在相同大小和形状,但人口不同的区域中发生的事件数量相同,而犯罪可能集中在某个区域,这可能仅仅是因为该空间中有更多的人。此外,事件数据的比率(例如犯罪)很难建模,因为要生成热图栅格,它们可能需要像人口模型那样的事件,但人们并不会停滞不前。平均家庭组成可能会用于较小区域的地籍图,但这可能会带来问题,例如犯罪可能与在家中的住所无关,但这将是研究家庭入侵和家庭暴力的一种完全有效的方法。

第二个问题是,热图仅限于考虑单个空间比例,选择该空间比例即内核大小或衰变速率可能很复杂,并且取决于目标学习,但必须辩解。如果重点是确定最强集群的中心及其发生的规模(也许是确定疾病暴发的源头及其传播因素),那么更好的选择可能是考虑多个尺度。使用与比例尺/区域成比例的适当权重以生成3D栅格,其中3D空间比例尺栅格中的局部最大值指示群集中心及其各自大小的位置以及比例尺之间的持久性。

评论


您提出了一些非常有效的观点。这两个问题实际上是地理学的经典问题。第一个问题与对潜在的空间不均匀性的解释有关,即,由于人的分布不均匀(某些地区人烟稀少),犯罪的机会也不均匀。一个模式受另一个模式的强制。规模的第二个问题是可修改的地域单位问题(MAUP)的一部分,它将影响依赖于度量区域的任何度量,例如密度。这是大多数地理工作中的经典问题。

– WhiteboxDev
14年8月18日在16:41

还应将蒂森多边形视为对空间图案的第一眼观察。它们非常简单,但是也能够显示很多细节,是精确的插值器,并且似乎可以解决困扰其他更复杂插值方法的比例尺问题-gislandscapeecology.blogspot.com/2016/04/…

–汤姆·迪尔斯(Tom Dilts)
16年5月2日在23:26