python--使用cnmaps绘制省界地图(快速上手,简单有效)

简介: cnmaps是一个致力于让中国地图的获取和使用更丝滑的python扩展包。

cnmaps是一个致力于让中国地图的获取和使用更丝滑的python扩展包。



当前版本具有以下几个主要功能:

  • 自带合规地图边界,数据源来自于高德等测绘机构,让你无需再额外寻找地图边界文件。
  • 支持地图边界之间的加减、交并集等常规操作,让你可以自由地组合想要的地图形状。
  • 具有易于使用的地图裁剪功能,且裁剪效果好,平滑无锯齿。
  • cartopy集成,可以自动转换地图边界的投影。


68c1d5ba1da842548556bb0080f6f62e.png


这个库的优势在于,绘制省界相当的方便,随意指定省份,国家都可以实现绘制


  • 不足在于,windows下安装有点麻烦,需要指定相应的cartopy版本
  • 建议在Linux系统下进行安装


绘制结果如下图所示:


40124723b4f244a8bdab17d759431b38.png


图中灰色阴影带蓝线的部分为江苏省省界

赋代码,代码中也给出了cartopy中自带的江苏省沿岸地区,与cnmaps进行了简单对比。


import cartopy.crs as ccrs
import matplotlib.pyplot as plt
from cnmaps import get_adm_maps, draw_maps
import numpy as np
from cartopy.mpl.ticker import LongitudeFormatter,LatitudeFormatter
import proplot as pplt
f, ax = pplt.subplots(ncols=1, nrows=1, proj='cyl',figsize=(6,6)) 
region=[120,130,25,35]
proj=ccrs.PlateCarree()
province=get_adm_maps(province='江苏省',record='first', only_polygon=True)
draw_maps(get_adm_maps(province='江苏省'),color='blue',linewidth=0.6)
ax.set_extent(region, crs = proj)
ax.set_xticks(np.arange(region[0],region[1]+1,3),crs=proj)
ax.set_yticks(np.arange(region[-2],region[-1]+1,3),crs=proj)
ax.xaxis.set_major_formatter(LongitudeFormatter(zero_direction_label=False))
ax.yaxis.set_major_formatter(LatitudeFormatter())
ax.add_geometries(province, crs=proj, edgecolor='grey', facecolor='whitesmoke',alpha=0.8)
ax.set_extent(province.get_extent(buffer=0.5))
ax.coastlines('10m',zorder=0)
ax.format(
        ltitle='(m/s)',
        # coast=True,
        labels=True,
        # grid =False,
              lonlim=(120, 130),
              latlines=2,
              lonlines=2,
              latlim=(25, 35),
                             )
ax.tick_params(which='major', 
                direction='out', 
                length=8,
                width=0.69, 
                pad=5, 
                labelsize=10,
                bottom=True, left=True)
plt.show()



下面给出这个库的安装使用说明文档


相关文章
|
数据可视化 定位技术 Python
Python基础综合案例-数据可视化(地图)
今天给大家带来的是Python综合实战开发的数据可视化操作 通过python实现对数据的分析、可视化
126 0
|
2月前
|
小程序 定位技术 Python
Python编程:根据经纬度生成并调用地图
Python编程:根据经纬度生成并调用地图
64 2
|
4月前
|
数据可视化 数据挖掘 定位技术
Python+Kepler.gl轻松制作时间轮播地图
Python+Kepler.gl轻松制作时间轮播地图
|
4月前
|
数据可视化 定位技术 开发工具
用Python快速制作海报级地图
用Python快速制作海报级地图
|
7月前
|
数据采集 JSON 数据可视化
python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示
python_selenuim获取csdn新星赛道选手所在城市用echarts地图显示
60 1
|
7月前
|
编解码 定位技术 Python
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
206 1
|
7月前
|
数据可视化 算法 定位技术
Python实现地图四色原理的遗传算法(GA)着色实现
Python实现地图四色原理的遗传算法(GA)着色实现
109 1
|
7月前
|
定位技术 Python
Python的pyecharts安装,导入map、geo模块,画地图
Python的pyecharts安装,导入map、geo模块,画地图
178 1
|
定位技术 Python
Python根据经纬度在地图上显示(folium)
Python根据经纬度在地图上显示(folium)
381 0
Python根据经纬度在地图上显示(folium)
|
编解码 Python
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
使用python对海洋气象数据做显著性检验,并绘制空间pattern
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点