python nc basemap
来源:互联网 发布:局域网视频软件 编辑:程序博客网 时间:2024/05/16 23:54
#!/usr/bin/env python3# -*- coding: utf-8 -*-"""Created on Tue Dec 5 23:10:46 2017@author: chenze"""from mpl_toolkits.basemap import Basemap, cm# requires netcdf4-python (netcdf4-python.googlecode.com)from netCDF4 import Dataset as NetCDFFileimport numpy as npimport matplotlib.pyplot as plt#import h5py# plot rainfall from NWS using special precipitation# colormap used by the NWS, and included in basemap.nc = NetCDFFile('/home/chenze/practice/nws_precip_1day_20171203_netcdf/nws_precip_conus_20061222.nc', mode='r')#nc= NetCDFFile('/home/chenze/practice/nws_precip_1day_20171203_netcdf/nws_precip_1day_20171203_ak.nc')#nc2 = NetCDFFile('/home/chenze/practice/nws_precip_1day_20171203_netcdf/nws_precip_1day_20171203_pr.nc')# data from http://water.weather.gov/precip/print(nc)#,'1\n',nc1,'2\n',nc2)print(nc.variables.keys())prcpvar = nc.variables['amountofprecip']data = 0.01*prcpvar[:]#print(nc.variables['polar_stereographic'][:])print(data)#print(nc2)#print(nc2.variables['percent_of_normal'][:])#print(nc2.variables.keys())#print(nc.variables['normal'][:])#latcorners = nc.variables['lat'][:]#loncorners = -nc.variables['lon'][:]#lon_0 = -nc.variables['true_lon'].getValue()#lat_0 = nc.variables['true_lat'].getValue()# create figure and axes instancesfig = plt.figure(figsize=(8,8))ax = fig.add_axes([0.1,0.1,0.8,0.8])# create polar stereographic Basemap instance.m = Basemap(projection='stere',lon_0=-105,lat_0=90.,lat_ts=60.,\ llcrnrlat=25.,urcrnrlat=50.,\ llcrnrlon=-118.,urcrnrlon=-60.,\ rsphere=6371200.,resolution='l',area_thresh=10000)'''projection 地图投影方式地图底图各参量 lon_0 lat_0 投影中心 llcrnr-- 最小经纬度 urcrnr--最大经纬度 两者对后面计算所有数据的经纬度有影响 其它参量可以看之前推荐的站 ''' # draw coastlines, state and country boundaries, edge of map.m.drawcoastlines()m.drawstates()m.drawcountries()# draw parallels.parallels = np.arange(0.,90,10.)m.drawparallels(parallels,labels=[1,0,0,0],fontsize=10)# draw meridiansmeridians = np.arange(180.,360.,10.)m.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10)ny = data.shape[0]; nx = data.shape[1]print(ny,nx)#经纬度的个数lons, lats = m.makegrid(nx, ny) # get lat/lons of ny by nx evenly space grid.#计算经纬度--根据最大,最小值,以及个数来进行准确计算。print(lons,lats)x, y = m(lons, lats) # compute map proj coordinates.#经纬度坐标,根据地图投影方式,计算对应的系,xy值# draw filled contours.clevs = [0,1,2.5,5,7.5,10,15,20,30,40,50,70,100,150,200,250,300,400,500,600,750]cs = m.contourf(x,y,data,clevs,cmap=cm.s3pcpn)# add colorbar.cbar = m.colorbar(cs,location='bottom',pad="5%")cbar.set_label('mm')# add title#plt.title(prcpvar.long_name+' for period ending '+prcpvar.dateofdata)plt.show()
计算经纬度时,因为用的nc文件改过,所以降水图与地图没有很好的重合。nc文件各数据已给出,懒得改了!
nc文件已传
阅读全文
0 0
- python nc basemap
- 完整的python basemap 选nc特定区域图
- python basemap 底图
- python basemap 画图案例
- 安装Python basemap包
- python利用basemap叠加地图
- Fill Countries in Python Basemap
- python basemap 在地图标点
- basemap
- windows下Python安装basemap教程
- Python/Basemap绘制美国人口分布示意图
- windows下Python安装basemap教程
- window10下安装python basemap模块
- python basemap 画出经纬度并标定
- python 画中国地图环境搭建(basemap)
- python讀寫nc文件
- 地理信息可视化——Python之matplotlib Basemap简介
- 地理信息可视化——Python之matplotlib Basemap简介
- Centos搭建ceph+++十一、测试存入/检出对象数据
- 完整禁止查看网页源代码的写法、onload加载两个函数
- spring boot redis缓存JedisPool
- javaWeb购物商城设计---总体设计
- Nginx访问静态文件配置
- python nc basemap
- 搭建Kali Linux 基础环境
- UE编码转化图以及 VS2013中的代码页设置
- oracle
- iOS p12证书转换成pem证书
- windows编程一日一练(3)
- VMware Ubuntu安装详细过程
- Android热修复技术选型——三大流派解析
- IO流使用与总结