前言: 开始没想过这个内容归类到空间统计里面,还是归类到Python开发里面,不过经过我通过很科学的丢硬币决定,还是把这篇内容归类到了空间统计中了。
![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_1_20230421103555840_wm.png)
![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_2_20230421103556630_wm.png)
![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_3_20230421103559974_wm.png) 要说到Python中的高等数学,那就必须说一下Python里面科学计算包scipy……如果说matlab是科学计算第一工具软件的话,Python能够在科学计算领域占据一席之地的第一功臣,就是这个scipy包了:![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_4_20230421103603161_wm.png) Scipy包含的功能:最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等应用场景:Scipy是高端科学计算工具包,用于数学、科学、工程学等领域![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_5_20230421103606380_wm.png) 所以,如果仅仅要做一个密度分析,那真是牛刀杀鸡……不过能杀鸡的刀就是好刀,甭管是叫做牛刀,还是羊刀。![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_6_20230421103607412_wm.png) 200个正态分布的随机点,不得不说,seaborn用于探索性数据分析实在是灰常好用。如果我们仅需要可视化的显示密度,直接调用seaborn的kdeplot方法:![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_7_20230421103609755_wm.png) 但是我们需要的是一个栅格,一个可以后续继续分析,甚至可以发布到镶嵌数据集的标准raster数据,这样绘制出来自然就不行了,所以我们就需要通过计算,得到一个栅格结构的数据,这个数据可以导出成tif结构的栅格数据。![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_8_20230421103613677_wm.png) 可视化的效果如下,我们也可以通过rasterio包(这是一个基于gdal的包,有兴趣的同学可以学习一下)把栅格数据写下来:![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_9_20230421103616364_wm.png)
就可以得到这样一个tif文件了: ![](http://image109.360doc.com/DownloadImg/2023/04/2110/264724221_10_20230421103618161_wm.png) 我们通过ArcGIS打开,无论是可视化还是元数据,可以看见是个标准的tif文件。![](http://pubimage.360doc.com/wz/default.gif) 好了,到此为止,我们已经实验出来,通过scipy + rasterio,可以在没有GIS软件的情况下,完成核密度分析,下面来通过一个实际数据做一个案例。数据是美国2014年的城市人口统计数据,存储为csv格式共计3229条,如下所示:![](http://pubimage.360doc.com/wz/default.gif) 下面我们来通过scipy + rasterio来做一个核密度分析:![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif)
![](http://pubimage.360doc.com/wz/default.gif) 同样,保存下来的tif,可以在ArcGIS里面直接使用:![](http://pubimage.360doc.com/wz/default.gif)
具体的代码和数据地址,还在老地方: https:///godxia/PythonDemo 036Python核密度 都已经到这里,三连一把吧!
|