如何使用gdal_late或gdalwarp将HDF5转换为Geotiff? [英] How to transform HDF5 to geotiff using gdal_translate or gdalwarp?

查看:0
本文介绍了如何使用gdal_late或gdalwarp将HDF5转换为Geotiff?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个10°x 10°的未经地理参考的HDF5,我想将其转换为Geotiff。 我尝试了两种方法(1)gdalwarp(2)gdal_Translate,但找不到如何转换文件。

1)gdalwarp

gdalwarp -t_srs '+proj=longlat +datum=WGS84 +no_defs ' -te 40 30 50 40 -tr 0.0089285714 -0.0089285714 -multi HDF5:"/PathToTheHDF/FileName.HDF5"://SUBDATASET /PathToOutput/FileName_Subdataset.tif

我有以下错误:

ERROR 1: Unable to compute a transformation between pixel/line
and georeferenced coordinates for ...
There is no affine transformation and no GCPs.
256

2)gdal_Translate

gdal_translate -of GTiff -a_srs '+proj=longlat +datum=WGS84 +no_defs ' -a_ullr 40 40 50 30 HDF5:"/PathToTheHDF/FileName.HDF5"://SUBDATASET /PathToOutput/FileName_Subdataset.tif

我有以下错误:

Input file size is 1120, 1120
0HDF5-DIAG: Error detected in HDF5 (1.8.11) thread 140288255100800:
  #000: ../../../src/H5Dio.c line 182 in H5Dread(): can't read data
    major: Dataset
    minor: Read failed
  #001: ../../../src/H5Dio.c line 550 in H5D__read(): can't read data
    major: Dataset
    minor: Read failed
  #002: ../../../src/H5Dchunk.c line 1837 in H5D__chunk_read(): unable to read raw data chunk
    major: Low-level I/O
    minor: Read failed
  #003: ../../../src/H5Dchunk.c line 2868 in H5D__chunk_lock(): data pipeline read failed
    major: Data filters
    minor: Filter operation failed
  #004: ../../../src/H5Z.c line 1150 in H5Z_pipeline(): required filter 'szip' is not registered
    major: Data filters
    minor: Read failed
  #005: ../../../src/H5PL.c line 293 in H5PL_load(): search in paths failed
    major: Plugin for dynamically loaded library
    minor: Can't get value
  #006: ../../../src/H5PL.c line 397 in H5PL__find(): can't open directory
    major: Plugin for dynamically loaded library
    minor: Can't open directory or file
ERROR 1: H5Dread() failed for block.
ERROR 1: HDF5:/export/GIO/gww-probav-test/modis/2014/01/21/MC10GWW_X22Y09_20140121_1KM.HDF5://HUE, band 1: IReadBlock failed at X offset 0, Y offset 0
ERROR 1: GetBlockRef failed at X block offset 0, Y block offset 0

知道哪里出了问题吗?或者我应该如何转换这些数据?

推荐答案

使用R和GDAL_TRANSLATE:

library(gdalUtils)

band <- 1

file_path <- "/myfolder/myfile.hdf"

system(paste0('gdal_translate ', get_subdatasets(file_path)[band],' myfile_', band','.tif'))

这篇关于如何使用gdal_late或gdalwarp将HDF5转换为Geotiff?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆