本系列文章是根据GeoPandas
官方文档翻译整理,学习任何一个Python第三方库,其官方文档都是最好的学习资料。相比网络搜索得到的一些资料,官方文档是权威的一手资料,其内容全面、准确可靠。通过官方文档入手,能够保证学习认知不会有大偏差。在学习完官方文档后,可以在寻找其他资料进一步学习。
点击“阅读原文”或者直接访问下方链接,查看翻译整理的“GeoPandas 0.12.2 中文文档”。
https://www.mizhushare.com/docs
-
可以通过百度网盘获取,需要在本地配置代码运行环境:
链接:https://pan.baidu.com/s/185Qs6RpVhyP2nm9VV39Ehw?pwd=mnsj
提取码:mnsj
-
前往GitHub详情页面,单击 code 按钮,选择Download ZIP选项:
https://github.com/returu/geopandas
坐标参考系:
从 GeoPandas
0.7 开始,坐标信息不再是 proj4
字符串,而是将坐标信息存储为 pyproj.CRS
,采用EPSG (European Petroleum Survey Group)
编码,
EPSG
编码,使用4或5位数字编码来唯一确定已存在的一种CRS,ArcGIS中也可以看到此种坐标描述方式。
可以从 https://spatialreference.org/ref/epsg/
查找已知的EPSG
和CRS
的对应关系。
同一个 CRS 通常可以有多种引用方式。例如,最常用的 CRS 之一是 WGS84 经纬度投影。这可以使用权限代码“EPSG:4326”来表示。
以下是一些常见的坐标参考系及其 EPSG
代码:
-
WGS84 Latitude/Longitude(地理坐标系):
"EPSG:4326"
; -
WGS84 Pseudo-Mercator(投影坐标系):
"EPSG:3857"
; -
UTM Zones (North):
"EPSG:32633"
; -
UTM Zones (South):
"EPSG:32733"
。
crs
属性,查看坐标参考系的信息: 1>>> china = gpd.read_file('./datasets/china/china_counties.shp')
2
3>>> china.crs
4<Geographic 2D CRS: EPSG:4326>
5Name: WGS 84
6Axis Info [ellipsoidal]:
7- Lat[north]: Geodetic latitude (degree)
8- Lon[east]: Geodetic longitude (degree)
9Area of Use:
10- name: World.
11- bounds: (-180.0, -90.0, 180.0, 90.0)
12Datum: World Geodetic System 1984 ensemble
13- Ellipsoid: WGS 84
14- Prime Meridian: Greenwich
设置投影:
当出于某种原因 geopandas
具有坐标数据(x-y
值)但没有关于这些坐标如何指向现实世界中的位置的信息时,可能需要设置投影。设置投影是告诉 geopandas
如何解释坐标的方式。如果未设置 CRS
,geopandas
几何操作仍然有效,但坐标转换将无法进行,导出的文件可能无法被其他软件正确解释。
通过set_crs()
方法为不包含投影的数据设置投影信息。
1>>> china_no_rojection = gpd.read_file('./datasets/china/china_counties_no_rojection.shp')
2
3>>> print(china_no_rojection.crs)
4None
5
6# 设置投影,以下两种方式均可
7# china_re = china_no_rojection.set_crs(epsg=4326)
8>>> china_re = china_no_rojection.set_crs("EPSG:4326")
9
10>>> china_re.crs
11<Geographic 2D CRS: EPSG:4326>
12Name: WGS 84
13Axis Info [ellipsoidal]:
14- Lat[north]: Geodetic latitude (degree)
15- Lon[east]: Geodetic longitude (degree)
16Area of Use:
17- name: World.
18- bounds: (-180.0, -90.0, 180.0, 90.0)
19Datum: World Geodetic System 1984 ensemble
20- Ellipsoid: WGS 84
21- Prime Meridian: Greenwich
重投影:
重投影是将位置表示从一个坐标系更改为另一个坐标系的过程,可以使用 to_crs()
命令重新投影数据:
1# 查看数据的坐标信息
2>>> china.crs
3
4# 转换坐标参考系
5>>> china_re = china.to_crs(epsg=3857)
6
7>>> china_re.crs
8
9# 绘图
10>>> ax = china_re.plot()
11>>> ax.set_title("EPSG:3857")
结果如下所示,可以看到已经转换到投影坐标系:
本篇文章来源于微信公众号: 码农设计师