[gdal-dev] To to create HDF4 files for GDAL
Andreas H.
lists at hilboll.de
Thu Jan 5 10:59:18 EST 2012
Hi again,
I played around a bit and now it's working. I needed to add four global
attributes to the HDF4 file:
- TransformationMatrix
- AREA_OR_POINT
- Projection
- Signature
What I don't understand is why Signature is needed. I mean, even without
Signature, the file contains all necessary information, but GDAL refuses
to process it. Once I add the Signature = "Created with GDAL
(http://www.remotesensing.org/gdal/)" attribute, GDAL does read the file
correctly.
I personally find this behaviour very strange. If I don't use GDAL to
create the file, but add all attributes necessary, GDAL should use these
attributes.
I created a ticket for this:
http://trac.osgeo.org/gdal/ticket/4425
Cheers,
Andreas.
> Hi there,
>
> when creating HDF4 files outside of GDAL, which metadata do I have to
> write to
> the file such that GDAL can subsequently correctly read the data? In the
> docs
> I read that only HDF4 files created with GDAL or certain other HDF4 types
> are
> recognized. However, the files are created "by hand" using the HDF4 API
> from
> Delphi. I would like to modify this creation in a way such that GDAL can
> read
> the data.
>
> The HDF files follow the "Scientific DataSet (SDS)" standard. When reading
> the files with GDAL, it looks like this:
>
> $ gdalinfo datafile.hdf
> Driver: HDF4Image/HDF4 Dataset
> Files: datafile.hdf
> Size is 2880, 1440
> Coordinate System is `'
> Metadata:
> _FillValue=-nan
> long_name=VCDstrat NO2
> Geolocation:
> SRS=GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS
> 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],TOWGS84[0,0,0,0,0,0,0],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9108"]],AUTHORITY["EPSG","4326"]]
> X_DATASET=HDF4_SDS:UNKNOWN:"datafile.hdf":2
> X_BAND=1
> Y_DATASET=HDF4_SDS:UNKNOWN:"datafile.hdf":1
> Y_BAND=1
> PIXEL_OFFSET=0
> PIXEL_STEP=1
> LINE_OFFSET=0
> LINE_STEP=1
> Corner Coordinates:
> Upper Left ( 0.0, 0.0)
> Lower Left ( 0.0, 1440.0)
> Upper Right ( 2880.0, 0.0)
> Lower Right ( 2880.0, 1440.0)
> Center ( 1440.0, 720.0)
> Band 1 Block=2880x347 Type=Float32, ColorInterp=Gray
>
> Obviously, georeferencing is not working. What do I need to do to the HDF4
> file to fix this?
>
> Thanks for your insight,
>
> Andreas.
>
>
> PS: In case anyone is interested, here's the reason why I want to do this:
>
> I have a whole lot of HDF4-SDS files which I want to plot using GMT. So I
> thought using gdal_translate to convert the HDF4 to GRD would be the
> easiest
> solution. I'm using GDAL 1.8.1 .
>
> However, I'm running into problems which I'm detailing below:
>
> I guess the problem is that GDAL doesn't read the SDS's latitude/longitude
> information. When converting this file then to GMT's grd format, I get a
> warning, which I guess doesn't really matter too much:
>
> $ gdal_translate -of GMT datafile.hdf test.grd
> Warning 6: A dataset opened by GDALOpenShared should have the same
> filename (datafile.hdf) and description
> (HDF4_SDS:UNKNOWN:"datafile.hdf":0)
> Input file size is 2880, 1440
>
> The resulting grd file looks like this:
>
> $ gdalinfo test.grd
> Driver: GMT/GMT NetCDF Grid Format
> Files: test.grd
> test.grd.aux.xml
> Size is 2880, 1440
> Coordinate System is `'
> Origin = (0.000000000000000,0.000000000000000)
> Pixel Size = (1.000000000000000,1.000000000000000)
> Metadata:
> _FillValue=-nan
> long_name=VCDstrat NO2
> Corner Coordinates:
> Upper Left ( 0.0000000, 0.0000000)
> Lower Left ( 0.000, 1440.000)
> Upper Right ( 2880.000, 0.000)
> Lower Right ( 2880.000, 1440.000)
> Center ( 1440.000, 720.000)
> Band 1 Block=2880x1 Type=Float32, ColorInterp=Gray
>
> When I now try to plot this file using grdimage, I get the following:
>
> grdimage: GMT ERROR: grid y increment <= 0.0
> grdimage: Use grdedit -A on your grid file to make region and
> increments compatible [test.grd]
>
> However, running the suggested grdedit -A test.grd doesn't change a thing
> ...
>
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
More information about the gdal-dev
mailing list