Pyhton根据shp文件白化/掩膜地区详细实例-中国各省份

本文介绍如何使用Python结合shp文件对地图进行特定区域的白化处理,通过shp2clip()函数实现对中国省份以外地区的屏蔽。文章详细讲解了如何分析shp文件并调整代码以适应不同格式的文件,提供了完整的代码示例,帮助读者理解并应用到自己的项目中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网上的白化教程各式各样,我也是自己从零开始慢慢摸索,这也算是篇记录自己心路历程的整合吧,代码也是来源网上,在这只做一个使用解说的效果。

首先先看一下没有白化的样例代码和图:

from netCDF4 import Dataset as nc
import matplotlib.pyplot as plt
import cartopy.crs as ccrs

if __name__=='__main__':
    pth='air.2m.mon.mean.nc'
    f=nc(pth)
    t=f.variables['air'][:]
    lon=f.variables['lon'][:]
    lat=f.variables['lat'][:]
    t=t[0,0,:,:] 
    t=t-273.15
    
    fig=plt.figure(figsize=(11.5,4.5))
    ax=fig.add_subplot(1,1,1,projection=ccrs.PlateCarree())
    h=ax.contourf(lon,lat,t,cmap='jet',transform=ccrs.PlateCarree())
    ax.coastlines()
    plt.colorbar(h,location='right')
    g=ax.gridlines(draw_labels=['left','bottom']) 
    g.xlines=False
    g.ylines=False

 接下来我们开始利用shp2clip()函数对中国地区以外的白化,即屏蔽其他地区

先放出shp2clip()函数的代码,稍后说明怎么使用:

def shp2clip(originfig, ax, shpfile, regionlist):  #白化函数
    sf = shapefile.Reader(s
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值