[gdal-dev] Can't read HDF4 - TRMM
Joaquim Luis
jluis at ualg.pt
Mon May 24 11:46:11 EDT 2010
Ivan,
Since nasa is now imitating me (http://mirador....) I gave it a shot
with Mirone, which obviously also failed because because it relies
mostly in gdal to read the hdf files.
My experience with the nasa satellite files is that they are a big mess
with the metadata written in endless different ways which makes the
parsing very painful. There is some reference info in the files. See
what I got using Matlab (look at the end of this long list)
Joaquim
>> info.Attributes(1).Value
ans =
OBJECT=OrbitNumber;
Value=-9999;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=OrbitNumber;
OBJECT=RangeBeginningDate;
Value=2010/04/01;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=RangeBeginningDate;
OBJECT=RangeBeginningTime;
Value=00:00:00;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=RangeBeginningTime;
OBJECT=RangeEndingDate;
Value=2010/05/01;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=RangeEndingDate;
OBJECT=RangeEndingTime;
Value=00:00:00;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=RangeEndingTime;
OBJECT=GranulePointer;
Value="3B43.100401.6A.HDF";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=GranulePointer;
OBJECT=ShortName;
Value="Surface Rain from all Satellite and Surface";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=ShortName;
OBJECT=SizeMBECSDataGranule;
Value=4.394;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SizeMBECSDataGranule;
OBJECT=LongitudeOfMaximumLatitude;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=LongitudeOfMaximumLatitude;
OBJECT=SpatialCoverageType;
Value="Horizontal";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SpatialCoverageType;
OBJECT=EllipsoidName;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=EllipsoidName;
OBJECT=EquatorialRadius;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=EquatorialRadius;
OBJECT=DenominatorFlatteningRatio;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=DenominatorFlatteningRatio;
OBJECT=OrbitalModelName;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=OrbitalModelName;
OBJECT=SemiMajorAxis;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SemiMajorAxis;
OBJECT=MeanAnomaly;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=MeanAnomaly;
OBJECT=RightAscensionNode;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=RightAscensionNode;
OBJECT=ArgumentOfPerigee;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=ArgumentOfPerigee;
OBJECT=Eccentricity;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=Eccentricity;
OBJECT=Inclination;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=Inclination;
OBJECT=EpochTime;
Value=99:99:99;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=EpochTime;
OBJECT=EpochDate;
Value=9999/99/99;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=EpochDate;
OBJECT=EpochMillisec;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=EpochMillisec;
OBJECT=WestBoundingCoordinate;
Value=-180;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=WestBoundingCoordinate;
OBJECT=EastBoundingCoordinate;
Value=180;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=EastBoundingCoordinate;
OBJECT=NorthBoundingCoordinate;
Value=50;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=NorthBoundingCoordinate;
OBJECT=SouthBoundingCoordinate;
Value=-50;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SouthBoundingCoordinate;
OBJECT=CenterLatitude;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=CenterLatitude;
OBJECT=CenterLongitude;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=CenterLongitude;
OBJECT=RadiusValue;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=RadiusValue;
OBJECT=LatitudeResolution;
Value=".25deg";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=LatitudeResolution;
OBJECT=LongitudeResolution;
Value=".25deg";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=LongitudeResolution;
OBJECT=GeographicCoordinateUnits;
Value="Decimal Degrees";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=GeographicCoordinateUnits;
OBJECT=TemporalRangeType;
Value="Continuous Range";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=TemporalRangeType;
OBJECT=QualityAssuranceParameterName;
Value="ScienceQualityFlag";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=QualityAssuranceParameterName;
OBJECT=QualityAssuranceParameterValue;
Value="NOT BEING INVESTIGATED";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=QualityAssuranceParameterValue;
OBJECT=ReprocessingActual;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=ReprocessingActual;
OBJECT=BrowsePointer;
Value="3B43_BR.100401.6A.PNG";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=BrowsePointer;
OBJECT=ScienceContact;
Value="George Huffman";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=ScienceContact;
OBJECT=MeanMotion;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=MeanMotion;
OBJECT=OrbitAdjustFlag;
Value=-9999;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=OrbitAdjustFlag;
OBJECT=AttitudeModeFlag;
Value=-9999;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=AttitudeModeFlag;
OBJECT=SolarBetaAngleAtBeginningOfGranule;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SolarBetaAngleAtBeginningOfGranule;
OBJECT=SolarBetaAngleAtEndOfGranule;
Value=-9999.9;
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SolarBetaAngleAtEndOfGranule;
OBJECT=SensorAlignment;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SensorAlignment;
OBJECT=SensorAlignmentChannelOffsets;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=SensorAlignmentChannelOffsets;
OBJECT=ScanPathModel;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=ScanPathModel;
OBJECT=ScanPathModelParam;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=ScanPathModelParam;
OBJECT=EphemerisFileID;
Value="NULL";
Data_Location=PGE;
Mandatory=FALSE;
END_OBJECT=EphemerisFileID;
> Hi,
>
> I ran gdalinfo on some HDF4 files and no subdataset shows up.
>
> The data is available for download at this website: http://mirador.gsfc.nasa.gov/cgi-bin/mirador/presentNavigation.pl?tree=project&project=TRMM&dataGroup=Gridded&dataset=3B43:%20Monthly%200.25%20x%200.25%20degree%20merged%20TRMM%20and%20other%20sources%20estimates&version=006
>
> I tried reading those some file on:
>
> - Idrisi
> - ArcGIS 9.3
> - ArcGIS 10 (RC)
> - Erdas
>
> They do identify the internal datasets but they cannot identify the reference system and the images they are flipped by 90' clockwise. But that is not due to rotation. I would guess. It is more like a misinterpretation of the dimension parameter, taking rows as columns and columns as rows. It looks like the documentation for that particular product is missing here: http://mirador.gsfc.nasa.gov/cgi-bin/mirador/servcoll.pl?helpmenuclass=inventory&SearchButton=Search%20GES-DISC
>
> Does anybody has a clue?
>
> BTW. There is a netCDF version of that data that also has some issues.
>
> Regards,
>
> Ivan
>
>
>
>
>
>
> _______________________________________________
> 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