ArcGIS 绘制热力图

现有一个面图层,是一个个区块;

还有一个点图层,每个点有一定的属性(可能还有权重之类的);

想根据每个区块点的密度做一个“热力图”。

大致思路:

  1. 使用空间连接做聚合计算,得到一个有聚合计算结果的新的面图层
  2. 通过坐标由面图层再弄出一个点图层,每个区块对应一个点
  3. 用插值工具做“热力图”

用空间连接做聚合计算

打开点图层的属性表,把不需要的字段删掉,怕误删的话可保存副本。

这步最好要做,原因如下:arcgis有一个很sb的地方,在使用空间连接做聚合计算(如求和、平均值、方差)的时候,它会把所有数值型字段统统算一遍,比如id这种算出来根本没意义的字段它也会算,而数据连接面板根本不会让你自行选择要算什么字段的什么统计量,就是傻乎乎地全部算一通,浪费了时间,也浪费了电脑的计算资源。即使把字段关闭也不能阻止arcgis对数值型字段做计算,因此,只能删字段了。

右击面图层 - joins and relates - joins - 跳出join data面板 -

  • join data from another layer based on spatial location
  • 要连接的点图层
  • 勾选要计算的统计量(如果没有要算的就不选,就只计数)
  • 检查新图层存储位置

- 确定

旧的面图层可以移除。

每个区块对应一个点

打开面图层属性表,导出这个表,再导进来,display X,Y,得到点图层

用空间内插做“热力图”

arctoolbox - spatial analyst tools - interpolation - spline - 跳出面板 - 

  • 选好点图层
  • 选好Z值字段
  • environments - raster analysis - mask - 选好面图层,作为热力图的边界范围

- 确定

生成结果之后调节一下配色和划分方式之类的。

效果也不是很好:

你可能感兴趣的:(ArcGIS,arcgis)