[gdal-dev] -if netCDF fails to read Matlab .mat files
Joaquim Manuel Freire Luís
jluis at ualg.pt
Mon Apr 18 11:50:14 PDT 2022
Strange, I don’t see an HDF5 driver in my list of drivers but I do include it in the GDAL build.
$ gdalinfo --formats | grep HDF
HDF4 -raster,multidimensional raster- (ros): Hierarchical Data Format Release 4
HDF4Image -raster- (rw+): HDF4 Dataset
Also
$ gdalinfo "NETCDF:"U.mat
ERROR 4: NETCDF:U.mat: No such file or directory
gdalinfo failed - unable to open 'NETCDF:U.mat'.
I’m sending attached the U.mat file
From: Even Rouault <even.rouault at spatialys.com>
Sent: Monday, April 18, 2022 7:07 PM
To: Joaquim Manuel Freire Luís <jluis at ualg.pt>; gdal-dev at lists.osgeo.org
Subject: Re: [gdal-dev] -if netCDF fails to read Matlab .mat files
Joaquim,
https://www.loc.gov/preservation/digital/formats/fdd/fdd000440.shtml mentions HDF5, but I don't know if it is HDF5-only or the HDF5 profile of netCDF 4.
From my tests trying to simulate the situation (I don't have a .mat file handy),
- if it is netCDF 3 file (non-HDF5), the netCDF driver should be able to open even with the .mat extension
- if it is netCDF 4 file,
- and the netCDF and HDF5 drivers are present, the HDF5 driver will kick in. The reason is that there's no easy way to recognize a HDF5 file from a netCDF 4 from their header, so the netCDF driver has a white list of extensions (which doesn't include .mat) when it sees the HDF5 driver is there, since it knows it is a potential fallback
- and only the netCDF driver is present, it will kick in
- and only the HDF5 driver is present, it will kick in
So basically I don't reproduce your issue.
You should be able to force the NetCDF driver by prefixing "NETCDF:" to the filename (the -if flag only restricts drivers which are probed. it doesn't force a driver to accept a file)
Even
Le 18/04/2022 à 18:31, Joaquim Manuel Freire Luís a écrit :
Hi,
Matlab creates files in what they call the “mat” format (with a .mat extension) but which in fact are files in netCDF/HDF
And indeed we can read them … but only if renamed to .nc
Why is this failing?
$ gdalinfo -if netCDF windaa.mat
ERROR 4: `windaa.mat' not recognized as a supported file format.
gdalinfo failed - unable to open 'windaa.mat'.
But this works
$ gdalinfo windaa.nc
Driver: netCDF/Network Common Data Format
Files: windaa.nc
Size is 512, 512
Subdatasets:
SUBDATASET_1_NAME=NETCDF:"windaa.nc":u
SUBDATASET_1_DESC=[15x41x35] u (64-bit floating-point)
SUBDATASET_2_NAME=NETCDF:"windaa.nc":v
SUBDATASET_2_DESC=[15x41x35] v (64-bit floating-point)
…
Joaquim
_______________________________________________
gdal-dev mailing list
gdal-dev at lists.osgeo.org<mailto:gdal-dev at lists.osgeo.org>
https://lists.osgeo.org/mailman/listinfo/gdal-dev
--
http://www.spatialys.com
My software is free, but my time generally not.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20220418/403f88f1/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: U.mat
Type: application/octet-stream
Size: 47503 bytes
Desc: U.mat
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20220418/403f88f1/attachment-0001.obj>
More information about the gdal-dev
mailing list