以Dotspatial为基础GIS库空间点云核密度估计算法的实现

开源WebGIS

以Dotspatial为基础GIS库空间点云核密度估计算法的实现

2016-05-13 作者: zhangxiang 浏览: 3878 次

摘要: 核密度分析可用于测量建筑密度、获取犯罪情况报告,以及发现对城镇或野生动物栖息地造成影响的道路或公共设施管线。可使用population字段根据要素的重要程度赋予某些要素比其他要素更大的权重,该字段还允许使用一个点表示多个观察对象。例如,一个地址可以表示一栋六单...

核密度分析可用于测量建筑密度、获取犯罪情况报告,以及发现对城镇或野生动物栖息地造成影响的道路或公共设施管线。可使用population字段根据要素的重要程度赋予某些要素比其他要素更大的权重,该字段还允许使用一个点表示多个观察对象。例如,一个地址可以表示一栋六单元的公寓,或者在确定总体犯罪率时可赋予某些罪行比其他罪行更大的权重。对于线要素,分车道高速公路可能比狭窄的土路产生更大的影响,高压线要比标准电线杆产生更大的影响。

上面是在ArcGIS中的介绍,热力图大家一定听说过,其实热力图就是核密度估计。总而言之,核密度就是用来估计密度的,如果你有一系列空间点数据,那么核密度估计往往是比较好的可视化方法。

核密度估计的原理非常简单,给出n个点X1,X2…..Xn,对于某个位置s上的核密度估计值为:

其中di,s是Xi到s的距离,r搜索带宽,K是核函数。核函数一般都有这样的性质:随着di,s的增大,核函数越小,并且当di,s大于r时,核函数接近于0。包含的道理就是距离越远,影响越小。通常核函数都是采用高斯函数,当然有很多变体(也就有了很多文章),读者可以自行探索。高斯核函数公式如下:

有了上述公式之后,只需遍历输出图像的每一个点,计算其核密度估计值即可。如果有很多点(n很大),并且输出图像很大,那么每一个像素都需要进行n个累积的加法运算,并且大部分都是+0(因为一般来说,一个点附近的点不会很多,远远小于n,其余大部分点与这个像素的距离都大于r),这样就造成了冗余计算。解决方案当然也非常简单,就是建立一个索引,然后在计算某个像素的核密度估计值时利用索引搜索出附近的点,然后累积这些点的核函数即可。

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © 2014-2019 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org