姓名:韩宜真
学号:17020120095
转载自:https://mp.weixin.qq.com/s/8vnS5wr8AiexU-06RfGGIA
【嵌牛导读】本文介绍一种Python-geopandas包绘制空间地图的方法。
【嵌牛鼻子】geopandas
【嵌牛提问】如何用python绘制地图呢?
【嵌牛正文】
geopandas 读取中国地图文件
geopandas提供了非常方便的read_file()方法用于读取geojson文件,我们直接进行默认投影(WGS84)的绘制,代码如下:
file = r"中国省级地图GS(2019)1719号.geojson"
nine = r"九段线GS(2019)1719号.geojson"
china_main = gpd.read_file(file)
china_nine = gpd.read_file(nine)
fig, ax = plt.subplots(figsize=(12, 8),dpi=80)
ax = china_main.plot(ax=ax)
ax = china_nine.plot(ax=ax)
可视化结果如下:
我们进行投影转换(epsg=2343)和进行一些简单的设置,代码如下:
fig, ax = plt.subplots(figsize=(12, 8),dpi=80)
ax = china_main.geometry.to_crs(epsg=2343).plot(fc="white",ec="black",ax=ax)
ax = china_nine.geometry.to_crs(epsg=2343).plot(ec="black",ax=ax)
这里注意to_crs(epsg=2343) 就可以进行投影转换了。
绘图数据操作
接下来,我们将我们要绘制的数据读取、转换并绘制在地图上,数据预览如下:
我们使用如下代码将其转换成具有地理信息的geopandas 格式数据:
scattergdf = gpd.GeoDataFrame(
scatter, geometry=gpd.points_from_xy(scatter.lon, s