python函数五要素_GeoPandas入门 | 01-地理数据介绍

本文介绍了GeoPandas库,用于处理地理空间数据。通过读取世界国家边界数据,展示了GeoDataFrame的特性,包括其geometry列、数据操作和空间数据可视化。此外,还讨论了点、线、面等基本矢量要素,以及使用shapely库构建和操作几何对象。文章提供了多个练习,帮助读者掌握GeoPandas的基本用法。
摘要由CSDN通过智能技术生成

01-地理数据介绍

源代码请看此处

1.1 Python地理空间矢量数据简介

%matplotlib inline

import pandas as pd

import geopandas

导入地理数据

地理空间数据通常可以从特定的GIS文件格式或数据存储中获得,如ESRI shapefiles、GeoJSON文件、geopackage文件、PostGIS(PostgreSQL)数据库、...

我们可以使用GeoPandas库中的geopandas.read_file函数,来读取其中的很多GIS文件格式(依靠的是fiona库,它是GDAL/OGR的python接口)。

例如,我们先读取一个包含世界所有国家边界的shapefile文件,zip文件放到在/data目录下)。

countries=geopandas.read_file("zip://data/ne_110m_admin_0_countries.zip")

countries.head()

featurecla scalerank LABELRANK SOVEREIGNT SOV_A3 ADM0_DIF LEVEL TYPE ADMIN ADM0_A3 ... NAME_KO NAME_NL NAME_PL NAME_PT NAME_RU NAME_SV NAME_TR NAME_VI NAME_ZH geometry
0 Admin-0 country 1 6 Fiji FJI 0 2 Sovereign country Fiji FJI ... 피지 Fiji Fidżi Fiji Фиджи Fiji Fiji Fiji 斐濟 MULTIPOLYGON (((180.00000 -16.06713, 180.00000...
1 Admin-0 country 1 3 United Republic of Tanzania TZA 0 2 Sovereign country United Republic of Tanzania TZA ... 탄자니아 Tanzania Tanzania Tanzânia Танзания Tanzania Tanzanya Tanzania 坦桑尼亚 POLYGON ((33.90371 -0.95000, 34.07262 -1.05982...
2 Admin-0 country 1 7 Western Sahara SAH 0 2 Indeterminate Western Sahara SAH ... 서사하라 Westelijke Sahara Sahara Zachodnia Saara Ocidental Западная Сахара Västsahara Batı Sahra Tây Sahara 西撒哈拉 POLYGON ((-8.66559 27.65643, -8.66512 27.58948...
3 Admin-0 country 1 2 Canada CAN 0 2 Sovereign country Canada CAN ... 캐나다 Canada Kanada Canadá Канада Kanada Kanada Canada 加拿大 MULTIPOLYGON (((-122.84000 49.00000, -122.9742...
4 Admin-0 country 1 2 United States of America US1 1 2 Country United States of America USA ... 미국 Verenigde Staten van Amerika Stany Zjednoczone Estados Unidos Соединённые Штаты Америки USA Amerika Birleşik Devletleri Hoa Kỳ 美国 MULTIPOLYGON (((-122.84000 49.00000, -120.0000...

5 rows × 95 columns

countries.plot()

我们可以观察到:

使用 .head()可以得到数据集的前五列,就像使用Pandas一样

有一个 geometry列,用于存储不同的国家的边界多边形

我们可以使用 .plot()方法来快速得到数据的基本可视化效果

1.2 GeoDataFrame 介绍

我们使用GeoPandas库来读取地理空间数据,然后返回一个GeoDataFrame对象。

type(countries)

geopandas.geodataframe.GeoDataFrame

一个GeoDataFrame包含一个表格式的地理空间数据集

它有一个geometry列,用来保存几何信息(或GeoJSON要素)

其他列是描述每个几何体的属性(或GeoJSON属性)

这样的GeoDataFrame就像pandas.DataFrame一样,但它具有一些额外的功能,用于处理地理空间数据

一个.geometry属性,总是返回带有几何信息的列(返回一个GeoSeries)。列名本身不一定是 geometry,但它总是作为.geometry属性被访问。

它有一些额外的方法来处理空间数据(面积、距离、缓冲区、交叉点......),我们将在后面的教程中看到

countries.geometry

0 MULTIPOLYGON (((180.00000 -16.06713, 180.00000...

1 POLYGON ((33.90371 -0.95000, 34.07262 -1.05982...

2 POLYGON ((-8.66559 27.65643, -8.66512 27.58948...

3 MULTIPOLYGON (((-122.84000 49.00000, -122.9742...

4 MULTIPOLYGON (((-122.84000 49.00000, -120.0000...

...

172 POLYGON ((18.82982 45.90887, 18.82984 45.90888...

173 POLYGON ((20.07070 42.58863, 19.80161 42.50009...

174 POLYGON ((20.59025 41.85541, 20.52295 42.21787...

175 POLYGON ((-61.68000 10.76000, -61.10500 10.890...

176 POLYGON ((30.83385 3.50917, 29.95350 4.17370, ...

Name: geometry, Length: 177, dtype: geometry

type(countries.geometry)

geopandas.geoseries.GeoSeries

countries.geometry.area

0 1.639511

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值