GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块。
它继承pandas.Series和pandas.Dataframe,实现了GeoSeries和GeoDataFrame类,使得其操纵和分析平面几何对象非常方便。
1.准备
开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装。如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda
Windows环境下打开Cmd(开始—运行—CMD),苹果系统环境下请打开Terminal(command+空格输入Terminal),准备开始输入命令安装依赖。
当然,我更推荐大家用VSCode编辑器,把本文代码Copy下来,在编辑器下方的终端运行命令安装依赖模块,多舒服的一件事啊:Python 编程的最好搭档—VSCode 详细指南。
由于geopandas涉及到许多第三方依赖,pip安装起来非常麻烦。因此在本教程中,我只推荐使用conda安装geopandas:
conda install geopandas
一行语句即可完成安装。
2.基本使用
设定坐标绘制简单的图形:
这些变量所形成的图形如下:
这里有一个重要且强大的用法,通过area属性,geopandas能直接返回这些图形的面积:
>>> print(g.area)
0 0.5
1 1.0
2 1.0
dtype: float64
不仅如此,通过plot属性函数,你还可以直接生成matplotlib图。
>>> g.plot()
通过matplot的pyplot,可以将图片保存下来:
import matplotlib.pyplot as plt
g.plot()
plt.savefig("test.png")
学会上面的基本用法, 我们就可以进行简单的地图绘制及面积的计算了。
3.绘制并算出每个省的面积
此外,它最大的亮点是可以通过 Fiona(底层实现,用户不需要管),读取比如ESRI shapefile(一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式)。
如代码所示,通过read_file你可以读取shx、gpkg、geojson等数据。读取出来的图形如下:
同样,这个shapefile是省级行政区的,每一个省级行政区都被划分为一个区块,因此可以一行语句算出每个省级行政区所占面积:
print(maps.area)
# 0 4.156054e+11
# 1 1.528346e+12
# 2 1.487538e+11
# 3 4.781135e+10
# 4 1.189317e+12
# 5 1.468277e+11
# 6 1.597052e+11
# 7 9.770609e+10
# 8 1.385692e+11
# 9 1.846538e+11
# 10 1.015979e+11
# ... ...
怎么样,是不是很酷?它还有许多更库的特性,欢迎阅读官方文档:
https://geopandas.readthedocs.io/
本文用到的shx格式省级行政区数据,可以在【AI派】公众号后台回复 省级行政区下载。
文末福利
各位猿们,还在为记不住API发愁吗,哈哈哈,最近发现了国外大师整理了一份Python代码速查表和Pycharm快捷键sheet,火爆国外,这里分享给大家。
这个是一份Python代码速查表
下面的宝藏图片是2张(windows && Mac)高清的PyCharm快捷键一览图
怎样获取呢?可以添加我们的AI派团队的程序媛姐姐
一定要备注【高清图】哦
????????????????????
➕我们的程序媛小姐姐微信要记得备注【高清图】哦