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 > [email protected] > http://lists.osgeo.org/mailman/listinfo/gdal-dev > _______________________________________________ gdal-dev mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/gdal-dev
