将netcdf转换为imag

2024-05-23 19:01:51 发布

您现在位置:Python中文网/ 问答频道 /正文

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

是不是有人可以帮我查一下图书馆的名字,可能还有一个链接。

问候 大卫


Tags: 文件工具命令行图像图书馆png链接netcdf
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

IDV是NetCDF的一个很好的可视化工具,但据我所知,它没有命令行界面。

我推荐Matlab。它有NetCDF的读写功能,还有一个扩展的绘图库……可能是最好的之一。然后可以编译matlab代码并从命令行运行它。

其他人提到了使用ArcGIS、IDL和Matlab的商业解决方案,但这里有一种方法可以使用Python,使用netCDF4模块读取netcdf文件,使用matplotlib创建图像。netCDF4模块将读取NetCDF3和netCDF4文件,还将读取通过OPeNDAP服务提供的远程NetCDF(或其他文件)。下面我使用OPeNDAP服务读取地形数据,因此您应该能够在不做任何更改的情况下运行程序。netCDF4模块可能有点难以构建,但它包含在Python(x,y)、enthough 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)

它产生这个图像:enter image description here

相关问题 更多 >