这是玩转ArcGISPro的第81篇文章
编辑|From0to1
封面|来自Esri
前几天接了一个电话,客户问怎么才能在ArcGIS中画出“百度地图热力图”中的那种炫酷的热力图,来反应采样点密集程度,而且当他进行缩放时热力图的形状也要能动态改变。缩放前后就像下面左图、右图这样:
客户的需求是要在Web端显示热力图,但是数据量非常大所以不愿意用前端API的方式实现。他说:“我查了很多资料,密度分析,kriging插值和热点分析三个工具我都试过了,但是哪个都不能做到我想要的效果热力图原理,是我选择的方法错了,还是设置的参数不对呢?”
这样的问题我不是第一次听人说起,相信也绝不是最后一次。首先我先给出这个问题的答案:三种工具都不能做到!
接下来先分别介绍一下这三个工具,说说他们为什么不行,最后再说说怎么做才能实现这个需求。
一、 kriging插值
插值和“热力图”是最不沾边的一个工具,如果说他们之间还有什么共同点,他们都是通过一些点(线)数据生成一个栅格表面。
在我的理解中,插值是通过数据的自相关性创建出确定性函数或地统计模型热力图原理,从而预测测量点周围未知区域的属性的工具。而热力图则是通过高亮的渲染色彩来反映点(线)要素的聚集程度。插值结果是对数据属性值的预测,而热力图是对数据密度表现。
插值结果
偶尔有极特殊的情况下插值结果图长得跟热力图很像,像得仿佛换个颜色就能说自己是热力图了。但那时因为恰好观测点喜欢扎堆儿,而且恰好每一堆儿观测点的观测值都很相似。但这并不代表你可以用插值工具来绘制热力图,这是完全不搭边儿的两个功能。
二、 热点分析
我特别能理解很多人认为热点分析是用来绘制热力图的,就像东京热,北京也很热一样。但是很遗憾的告诉大家,热力图的英文是:Heat Map,而热点分析则是:Hot Spot Analysis,两者的“热”字根本不是一个字。
热点分析工具确实可以统计出地理数据的聚类情况,但这个工具是基于数据值来统计的。想想一下,我对一个城市每隔一公里均匀设置采样点,采集各个地区的空气质量,在热力图看来,这些点在小比例尺下就是一坨,大比例尺下则是一个一个点,毫无聚集情况。但是如果用热点分析进行统计,则可能会发现某个点及其周围几个点都具有较高的空气污染,那么这几个点就会作为热点被统计出来。
而且ArcGIS中的热点分析结果是将数据的热点和冷点分别标记出来,输出数据仍然为点要素,如下左图所示。要想以栅格的形式反映一片区域的聚类情况,还需要对这些点进行进一步(插值)处理,如下右图所示。
三、 密度分析
为什么把密度分析放在最后呢,因为密度分析工具和热力图的目的是最为相近的,可参考密度分析帮助文档。
密度分析可以对某个现象的已知量进行处理,然后将这些量分散到整个地表上,依据是在每个位置测量到的量和这些测量量所在位置的空间关系。密度表面可以显示出点要素或线要素较为集中的地方。
密度分析可以显示出点要素或线要素较为集中的地方。例如,每个城镇都可能有一个点值,这个点值表示该镇的人口总数,但是您想更多地了解人口随地区的分布情况。由于每个城镇内并非所有人都住在聚居点上,通过计算密度,您可以创建出一个显示整个地表上人口的预测分布状况的表面。
下图给出了一个密度分析的示例。相加到一起时,像元的人口值将等于原始点图层人口的总和。
密度分析的工作原理就是设置一个搜索半径,搜索半径内的栅格像元值就是这个搜索区域内的密度。当我们使用的是点密度分析工具时,工具会进行简单的密度计算,如果两个点的搜索区域有重叠,则将重叠区域内的栅格像元值相加,如下图左所示。当我们使用核密度分析工具时,则会根据二次核函数对搜索区域进行计算,最终拟合为光滑锥状的搜索范围,如下图右所示。
可以看出,核密度分析工具的效果与我们希望得到的热力图效果已经很相近了,只要改一下色带的设置即可。但是我们的需求中还有一点没有实现,我们希望热力图可以随着比例尺变化动态的改变,就像百度地图热力图一样,核密度分析工具是无法实现这个需求的,我们需要用ArcGIS Pro来实现它!
四、 ArcGIS pro 热点图
ArcGIS Pro提供的热点图符号系统是通过核密度分析功能,基于数据的分布密度,动态地对点数据进行热力图渲染。与核密度分析工具类似,热点图符号系统也可以选择搜索半径和权重字段。而热点图符号系统还提供额外的渲染质量设置选项,这里可以选择优先渲染效果或者渲染速度,如果提高渲染速度,工具会对点数据集进行不同程度上的动态聚合, 从而达到提升渲染速度的需求,如下图左所示。
而且在ArcGIS pro中,我们还可以编辑热力图的色带(因为原装的几条色带都丑爆了,不编辑不行!),我们可以增减色带的颜色区间,更改每一个区间的颜色,还支持透明度的更改,如上图右所示。
在2.2及之后版本,提供了两种渲染方法:
恒定方法:无论地图范围如何,密度定义(方案中每种颜色与密度值的关系)均保持不变。只要地图比例保持不变,恒定方法便可用于在地图上的不同区域进行准确比较。
以下是使用恒定方法显示的同一比例下两个不同区域的地震热点图符号系统。由于密度定义恒定不变,因此可以对不同区域进行比较。
动态方法:每次地图比例或地图范围改变时,均会重新计算密度定义(方案中每种颜色与密度值的关系),以仅反映当前位于视图中的要素。动态方法可用于查看特定区域的数据分布情况,但无法用于比较地图上的不同区域。当前视图中最密集的区域使用“最暖”的颜色绘制,但这些区域不一定是整个数据集中最密集的区域。例如,如果绘制城市的犯罪热点,缩小可显示整个城市中犯罪活动的大图,而放大可显示特定邻域中的详细密度图案,无需重置系统符号属性。
以下是使用动态方法显示的同一比例下两个不同区域的地震热点图符号系统。系统会针对每个范围重新计算密度定义,因此使用完整配色方案显示局部变化。
以上!
———END———
限 时 特 惠:本站每日持续更新海量各大内部创业教程,一年会员只需128元,全站资源免费下载点击查看详情
站 长 微 信:jiumai99