def read_safnwc(filename):
"""Read MSG SAFNWC hdf5 file into a gdal georeferenced object
Parameters
----------
filename : string
satellite file name
Returns
-------
ds : gdal.DataSet
with satellite data
"""
root = gdal.Open(filename)
ds1 = gdal.Open('HDF5:' + filename + '://CT')
ds = gdal.GetDriverByName('MEM').CreateCopy('out', ds1, 0)
# name = os.path.basename(filename)[7:11]
try:
proj = osr.SpatialReference()
proj.ImportFromProj4(ds.GetMetadata()["PROJECTION"])
except Exception:
raise NameError("No metadata for satellite file %s" % filename)
geotransform = root.GetMetadata()["GEOTRANSFORM_GDAL_TABLE"].split(",")
geotransform[0] = root.GetMetadata()["XGEO_UP_LEFT"]
geotransform[3] = root.GetMetadata()["YGEO_UP_LEFT"]
ds.SetProjection(proj.ExportToWkt())
ds.SetGeoTransform([float(x) for x in geotransform])
return ds
评论列表
文章目录