将NetCDF (.nc)文件转换为GEOTIFF

9

我有一个大小约为300MB的.nc文件,其中包含几个数据集(TEMPDEWPOINT)的预测数据。我需要将(TEMP) 数据集转换为多个GEOTIFF(每个时间切片一个 .tif 文件)。

下面是.nc文件的样式。

enter image description here

我查看了这篇答案,但它似乎是针对整个数据集的。

我尝试使用GDAL,但不确定如何使其适用于每个时间切片。

有任何想法吗?netcdf4-python?


1
你尝试过使用GDAL中的gdal_translate吗?gdal_translate -of GTiff file.nc test.tiff - AF7
我已经尝试过并且适用于整个数据集,而不是一次性切片。gdal-translate是否有选项可以将时间切片作为参数添加? - johnny
1
抱歉,我不知道。但我相信你可以轻松地编写一个脚本来将文件分成多个时间片段(例如使用CDO或NCO),然后分别翻译它们。 - AF7
1
使用以下命令将地理数据格式的NC文件转换为GeoTIFF格式:gdal_translate -a_srs EPSG:4326 NETCDF:File_Name.nc:Band_Name -of ‘Gtiff’ Output_FileName.geotiff。您可以使用gdalinfo命令获取NC文件中的波段名称。 - Bharti Mohane
1个回答

16

gdal有一个gdal_translate选项,可以让您将文件从.nc翻译成.tiff

请参见下面:

gdal_translate -of GTiff file.nc test.tiff

使用-b选项将允许您指定要转换的带宽。

gdal_translate -of GTiff -b 10 file.nc test.tiff  # to get 10th band

来自文档:

-b band:选择一个输入波段band以进行输出。波段从1开始编号。可以使用多个-b开关选择要写入输出文件的一组输入波段或重新排序波段。从GDAL 1.8.0开始,还可以将band设置为“mask,1”(或只是“mask”),以表示输入数据集的第一个波段的掩码波段。

不幸的是,您需要知道您想要的波段(以数字形式而非日期/时间形式),但是可以使用简单的脚本迭代时间维度并获取所需的索引或仅逐个迭代每个波段。


是的,没错。你回答得有点晚,但我正在使用你建议的东西。所以基本上我的数据预测了接下来的100个小时,而且也是按顺序排列的。所以如果我想要获取前10个小时,那就是第1到10个小时的区间。在我的情况下,这个区间也不是很重要,即使这些小时没有按顺序排列,当我处理它们去服务器时,我仍然可以修复它们。 - johnny
4
抱歉晚了哈哈 - 我在尝试寻找类似的东西时偶然发现了这个问题,想帮忙减少未回答的问题数量! - tda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接