当前位置: 首页 > 后端技术 > Python

一行Python代码计算各省面积——Geopandas

时间:2023-03-25 22:01:37 Python

GeoPandas是一款基于pandas的第三方模块,专门支持地理数据。它继承了pandas.Series和pandas.Dataframe,实现了GeoSeries和GeoDataFrame类,可以非常方便的对平面几何对象进行操作和分析。1.在开始之前,您需要确保您的计算机上已经成功安装了Python和pip。(可选1)如果使用Python进行数据分析,可以直接安装Anaconda,Anaconda内置了Python和pip。(可选2)另外,推荐大家使用VSCode编辑器。请选择以下方式之一输入命令安装依赖项:Windows环境打开Cmd(开始-运行-CMD)。MacOS环境打开Terminal(command+空格进入Terminal)。如果您使用的是VSCode编辑器或Pycharm,则可以直接使用界面底部的Terminal。由于geopandas涉及到很多第三方依赖,pip安装非常麻烦。因此,在本教程中,我只推荐使用conda来安装geopandas:condainstallgeopandas一行即可安装。2.基本上使用设定的坐标绘制简单图形:importgeopandasfromshapely.geometryimportPolygonp1=Polygon([(0,0),(1,0),(1,1)])p2=Polygon([(0,0),(1,0),(1,1),(0,1)])p3=多边形([(2,0),(3,0),(3,1),(2,1)])g=geopandas.GeoSeries([p1,p2,p3])#g:#结果:#0多边形((00,10,11,00))#1多边形((00,10,11,01,00))#2POLYGON((20,30,31,21,20))#dtype:geometry这些变量形成的图形如下:这里有一个重要的还有强大的用法,通过area属性,geopandas可以直接返回这些图形的面积:>>>print(g.area)00.511.021.0dtype:float64不仅如此,通过plot属性函数,还可以直接生成matplotlib图。>>>g.plot()可以通过matplot的pyplot保存图片:importmatplotlib.pyplotaspltg.plot()plt.savefig("test.png")学习了上面的基本用法后,我们就可以进行简单的地图绘制和面积计算。3.绘制并计算各省的面积。另外,它最大的亮点是可以通过Fiona(底层实现,用户无需管理)读取诸如ESRIshapefile(一种用于存储地理元素的几何位置和属性信息的文件)。非拓扑简单格式)。下面是读取一个省级行政区数据的例子:importgeopandasimportmatplotlib.pyplotaspltfromshapely.geometryimportPolygonmaps=geopandas.read_file('1.shx')#读取的数据格式类似#geometry#0POLYGON((1329152.3415619034.278,1323327.591...#1Polygon(((-2189253.3754611401.367,-2202922.3...#......maps.plot()plt.savefig("test.png")如代码所示,可以通过read_file读取shx、gpkg、geojson等数据,读取图形如下:同上,因为这个shapefile是省级行政区的数据,每个省级行政区被划分为一个块,所以一行就可以计算出每个省级行政区所占的面积:print(maps.area)#04.156054e+11#11.528346e+12#21.487538e+11#34.781135e+10#41.189317e+12#51.468277e+11#61.597052e+11#79.770609e+10#81.385692e+1.846538e+11#101.015979e+11#......怎么样,是不是很酷?它有更多很酷的功能。那么我们的文章到此结束,如果你今天喜欢Python实用教程,可以关注公众号:Python编程学习圈,了解更多编程技术!

猜你喜欢