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()



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


相关文章
|
1月前
|
编解码 定位技术 Python
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
Python中ArcPy实现ArcGIS自动批量制图与地图要素批量设置
|
1月前
|
数据可视化 算法 定位技术
Python实现地图四色原理的遗传算法(GA)着色实现
Python实现地图四色原理的遗传算法(GA)着色实现
|
1月前
|
定位技术 Python
Python的pyecharts安装,导入map、geo模块,画地图
Python的pyecharts安装,导入map、geo模块,画地图
130 1
|
8月前
|
定位技术 Python
Python根据经纬度在地图上显示(folium)
Python根据经纬度在地图上显示(folium)
197 0
Python根据经纬度在地图上显示(folium)
|
编解码 Python
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
使用python对海洋气象数据做显著性检验,并绘制空间pattern
python--海温、OLR数据分布做显著性检验,绘制空间分布并打点
|
数据可视化 算法 定位技术
地图四色原理的涂色实现:基于遗传算法的Python代码
本文介绍利用Python语言,实现基于遗传算法(GA)的地图四色原理着色操作~
267 1
|
存储 前端开发 定位技术
Python FastApi集成百度地图并反显到地图
百度地图有海量api可进行调用,FastApi集成百度地图api调用
97 0
Python FastApi集成百度地图并反显到地图
|
测试技术 Python
Python:使用nltk统计词频并绘制统计图
Python:使用nltk统计词频并绘制统计图
104 0
Python:使用nltk统计词频并绘制统计图
|
存储 数据处理 Python
python--对站点数据做EOF并做插值绘制填色图
最近,师弟在学习使用python复现毕设论文,正好之前没有处理过站点数据,也没咋用过EOF,特此记录下使用python处理站的数据的过程。
python--对站点数据做EOF并做插值绘制填色图