加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 将netcdf转换为图像

发布时间:2020-12-20 12:19:24 所属栏目:Python 来源:网络整理
导读:我有一个netcdf文件,我想使用命令行工具转换为图像(joed,png,gif). 是否有人可以帮助我使用库名称,并可能链接到它是如何完成的. 问候 大卫 解决方法 其他人已经提到了使用ArcGIS,IDL和Matlab的商业解决方案,但是这里有一种方法可以使用 Python,使用netCDF4模
我有一个netcdf文件,我想使用命令行工具转换为图像(joed,png,gif).

是否有人可以帮助我使用库名称,并可能链接到它是如何完成的.

问候
大卫

解决方法

其他人已经提到了使用ArcGIS,IDL和Matlab的商业解决方案,但是这里有一种方法可以使用 Python,使用netCDF4模块读取netcdf文件,使用matplotlib来创建图像. netCDF4模块将读取NetCDF3,NetCDF4文件,还读取通过OPeNDAP服务提供的远程NetCDF(或其他文件).下面我使用OPeNDAP服务读取地形数据,因此您应该能够在不进行更改的情况下运行程序. netCDF4模块可能有点难以构建,但它包含在Python(x,y),Enthought Canopy和Continuum Anaconda发行版中.

import matplotlib.pyplot as plt
import netCDF4

# open a local NetCDF file or remote OPeNDAP URL
url = 'http://www.ngdc.noaa.gov/thredds/dodsC/relief/ETOPO1/thredds/ETOPO1_Bed_g_gmt4.nc'
nc = netCDF4.Dataset(url)

# examine the variables
print nc.variables.keys()
print nc.variables['z']

# sample every 10th point of the 'z' variable
topo = nc.variables['z'][::10,::10]

# make image
plt.figure(figsize=(10,10))
plt.imshow(topo,origin='lower') 
plt.title(nc.title)
plt.savefig('image.png',bbox_inches=0)

产生这个图像:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读