打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
新版白话空间统计(55)使用纯Python实现可后续分析的核密度栅格
userphoto

2023.04.21 北京

关注

前言:

开始没想过这个内容归类到空间统计里面,还是归类到Python开发里面,不过经过我通过很科学的丢硬币决定,还是把这篇内容归类到了空间统计中了。

本文来自这样一个需求:

要说到Python中的高等数学,那就必须说一下Python里面科学计算包scipy……如果说matlab是科学计算第一工具软件的话,Python能够在科学计算领域占据一席之地的第一功臣,就是这个scipy包了:

我们来看看scipy的简单介绍:
Scipy是赖于Numpy结构的科学计算工具包。
Scipy包含的功能:最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理、图像处理、常微分方程求解器等
应用场景:Scipy是高端科学计算工具包,用于数学、科学、工程学等领域
Scipy由一些特定功能的子模块组成:

所以,如果仅仅要做一个密度分析,那真是牛刀杀鸡……不过能杀鸡的刀就是好刀,甭管是叫做牛刀,还是羊刀。
下面先来看看效果

200个正态分布的随机点,不得不说,seaborn用于探索性数据分析实在是灰常好用。
如果我们仅需要可视化的显示密度,直接调用seaborn的kdeplot方法:

但是我们需要的是一个栅格,一个可以后续继续分析,甚至可以发布到镶嵌数据集的标准raster数据,这样绘制出来自然就不行了,所以我们就需要通过计算,得到一个栅格结构的数据,这个数据可以导出成tif结构的栅格数据。
而我们本次就通过scipy来实现这种计算,如下:

可视化的效果如下,我们也可以通过rasterio包(这是一个基于gdal的包,有兴趣的同学可以学习一下)把栅格数据写下来:

就可以得到这样一个tif文件了:

我们通过ArcGIS打开,无论是可视化还是元数据,可以看见是个标准的tif文件。

好了,到此为止,我们已经实验出来,通过scipy + rasterio,可以在没有GIS软件的情况下,完成核密度分析,下面来通过一个实际数据做一个案例。
数据是美国2014年的城市人口统计数据,存储为csv格式共计3229条,如下所示:

下面我们来通过scipy + rasterio来做一个核密度分析:

同样,保存下来的tif,可以在ArcGIS里面直接使用:

打完收工。

具体的代码和数据地址,还在老地方:

https://gitee.com/godxia/PythonDemo

036Python核密度

都已经到这里,三连一把吧!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python可视化 | 使用xarray读取tif数据并可视化
ArcGIS 影像镶嵌和影像合并
【最强笔记】12张图理解Keras等8个深度学习库(下载)
利用Python绘制DEM数据
干货来袭!当城市规划遇上大数据!
空间分析之密度分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服