将netcdf转换为图像

Rim*_*aud 3 python netcdf

我有一个netcdf文件,我想使用命令行工具转换为图像(joed,png,gif).

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

关心大卫

Ric*_*ell 13

其他人已经提到了使用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)
Run Code Online (Sandbox Code Playgroud)

产生这个图像:在此输入图像描述


EnE*_*nE_ 3

以下是用于操作 NetCDF 的软件的官方列表。

http://www.unidata.ucar.edu/software/netcdf/software.html

如果有什么的话,它可能就在那里。但如果您有兴趣的话,我对这个主题有一些评论。

您使用什么平台?Linux、Windows 等?无论答案是什么,我认为答案是您将很难找到一个命令行工具而不需要自己创建它。

使用 Java 或 Python 以及一些 GDAL 库等创建一些东西可能相对容易。如果你有的话,我已经使用 ArcGIS 做了类似的东西,但它不是命令行,因为这很难实现。

您将面临的部分问题是,在使用命令行时,您需要事先了解如何导出设置的附加信息,但此信息不适用于非 GUI 环境。

诸如它是灰度还是彩色等问题。如果使用哪种颜色,因为需要定义这些颜色。假设我们使用蓝色到红色的颜色渐变,那么红色是高值还是低值。如何将颜色分配给值。它是渐变的还是阶梯式的,例如值 0 - 10 对应于单一颜色,然后 10 - 20 对应于另一种颜色。

它不是命令行,但“NcView”可能适合您。

http://meteora.ucsd.edu/~pierce/ncview_home_page.html