当前位置:   article > 正文

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

cnmap

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

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

  • 自带合规地图边界,数据源来自于高德等测绘机构,让你无需再额外寻找地图边界文件。

  • 支持地图边界之间的加减、交并集等常规操作,让你可以自由地组合想要的地图形状。

  • 具有易于使用的地图裁剪功能,且裁剪效果好,平滑无锯齿。

  • cartopy集成,可以自动转换地图边界的投影。
    此图引用自官方文档

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

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

绘制结果如下图所示:

在这里插入图片描述
图中灰色阴影带蓝线的部分为江苏省省界

赋代码,代码中也给出了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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

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

  • https://github.com/cnmetlab/cnmaps
  • https://pypi.org/project/cnmaps/0.1.2/
  • https://cnmaps.readthedocs.io/zh_CN/latest/
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/725564
推荐阅读
相关标签
  

闽ICP备14008679号