[gdal-dev] hdf5 data to geotiff(the coordinates)

Frank Warmerdam warmerdam at pobox.com
Mon Jan 11 22:40:28 EST 2010


maven apache wrote:
> 
> 
> 2010/1/12 Frank Warmerdam <warmerdam at pobox.com <mailto:warmerdam at pobox.com>>
> 
>     maven apache wrote:
> 
>            It suggests that GDAL is not recognising the georeferencing
>         of the
>            data.  The actual pixel values will hopefully still be accessed
>            properly.
> 
>            I would actually need to see the whole gdalinfo report on the
>         subdataset
>            to be certain that GDAL is not finding another form of
>         georeferencing,
>            like GCPs or geolocation arrays.  These will not be reflected
>         in the
>            corner coordinates report (unfortunately).
> 
>         Thank you very much , I will paste the result.
>         The whole gdalinfo metadata can be found here:
>         http://dpaste.com/143948/
>         And the info of  SUBDATASET_4_NAME  can be found here:
>         http://dpaste.com/143949/
> 
> 
>     "Maven",
> 
>     It seems that GDAL does not recognise the metadata on this file that
>     contains the georeferencing.  However, you can fairly easily apply the
>     georeferencing as part of the translation something like this:
> 
>     gdal_translate \
>      HDF5:"d23.he5"://HDFEOS/GRIDS/ColumnAmountO3/Data_Fields/ColumnAmountO3
>     \
>      -a_ullr -180 90 180 -90
> 
> Oh thanks, it works!
> But I have two questions:
> 1) how do you know the -a_ullr parameter?

Maven,

I read through the metadata reported by gdalinfo:

   ColumnAmountO3:GCTPProjectionCode=0
   ColumnAmountO3:Projection=Geographic
   ColumnAmountO3:GridOrigin=Center
   ColumnAmountO3:GridSpacing=(0.25,0.25)
   ColumnAmountO3:GridSpacingUnit=deg
   ColumnAmountO3:GridSpan=(-180,180,-90,90)
   ColumnAmountO3:GridSpanUnit=deg
   ColumnAmountO3:NumberOfLongitudesInGrid=1440
   ColumnAmountO3:NumberOfLatitudesInGrid=720
   HDFEOS INFORMATION:HDFEOSVersion=HDFEOS_5.1.9

This makes it pretty clear the image is a fullworld image
in geographic coordinates.  If this is a common metadata
format the driver could be updated to recognise it automatically.
Unfortunately there seem to be a variety of ways of storing
georeferencing for different HDF5 products.

> 2) Since some part of the tiff is blank, it is not scanned by the 
> sensor. so I want fill them manually,so I wonder the gdal library can do 
> it ? Also I want to add some new tags to the tif and I want to use java 
> to implement it/

Are you wanting to interpolate these nodata areas from nearby valid
data?  There are many ways of doing this, but gdal_nodatafill.py may
prove helpful to you as a utility.  If you want to do it from Java
you will need to call the FillNodata() function which should be
available in the GDAL Java bindings.  More info on this function at:

   http://www.gdal.org/gdal__alg_8h.html#0a079afef61968f224b159d48423d1c6
   http://www.gdal.org/gdal_fillnodata.html

Best regards,
-- 
---------------------------------------+--------------------------------------
I set the clouds in motion - turn up   | Frank Warmerdam, warmerdam at pobox.com
light and sound - activate the windows | http://pobox.com/~warmerdam
and watch the world go round - Rush    | Geospatial Programmer for Rent



More information about the gdal-dev mailing list