Python实战之利用Geopandas算出每个省面积_第1页
Python实战之利用Geopandas算出每个省面积_第2页
Python实战之利用Geopandas算出每个省面积_第3页
Python实战之利用Geopandas算出每个省面积_第4页
Python实战之利用Geopandas算出每个省面积_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第Python实战之利用Geopandas算出每个省面积目录1.准备2.基本使用3.绘制并算出每个省的面积

GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块。

它继承pandas.Series和pandas.Dataframe,实现了GeoSeries和GeoDataFrame类,使得其操纵和分析平面几何对象非常方便。

1.准备

开始之前,你要确保Python和pip已经成功安装在电脑上。

请选择以下任一种方式输入命令安装依赖:

1.Windows环境打开Cmd(开始-运行-CMD)。

2.MacOS环境打开Terminal(command+空格输入Terminal)。

3.如果你用的是VSCode编辑器或Pycharm,可以直接使用界面下方的Terminal.

由于geopandas涉及到许多第三方依赖,pip安装起来非常麻烦。因此在本教程中,我只推荐使用conda安装geopandas:

condainstallgeopandas

一行语句即可完成安装。

2.基本使用

设定坐标绘制简单的图形:

import

geopandas

from

shapely.geometry

import

Polygon

p1=Polygon([(0,

0),(1,

0),(1,

1)])

p2=Polygon([(0,

0),(1,

0),(1,

1),(0,

1)])

p3=Polygon([(2,

0),(3,

0),(3,

1),(2,

1)])

g=geopandas.GeoSeries([p1,p2,p3])

#result:

#0POLYGON((00,10,11,00))

#1POLYGON((00,10,11,01,00))

#2POLYGON((20,30,31,21,20))

#dtype:geometry

这些变量所形成的图形如下:

这里有一个重要且强大的用法,通过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(底层实现,用户不需要管),读取比如ESRIshapefile(一种用于存储地理要素的几何位置和属性信息的非拓扑简单格式)。

import

geopandas

import

matplotlib.pyplot

as

plt

from

shapely.geometry

import

Polygon

maps=geopandas.read_file('1.shx')

#读取的数据格式类似于

#geometry

#0POLYGON((1329152.3415619034.278,1323327.591...

#1POLYGON((-2189253.3754611401.367,-2202922.3...

#2POLYGON((761692.0924443124.843,760999.8734...

#3POLYGON((-34477.0464516813.963,-41105.1284...

#......

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.46

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论