[gdal-dev] Reading Modis level1b HDF4 data
Martin Raspaud
martin.raspaud at smhi.se
Fri Feb 26 04:18:18 EST 2010
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I'm trying to access Modis data (Terra) with gdal through the python API.
I'm following the gdal tutorial http://www.gdal.org/gdal_tutorial.html, but get
stuck at the rasterband reading part, with an error:
Traceback (most recent call last):
File "gdaltest.py", line 24, in <module>
print 'Band Type=',gdal.GetDataTypeName(band.DataType)
AttributeError: 'NoneType' object has no attribute 'DataType'
which means that the line:
band = dataset.GetRasterBand(1)
did return None.
Does anyone have an idea of what is going on ?
I join the gdaltest.py and the dump of the file from gdalinfo (removed some
lengthy metadata).
Thanks,
Martin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
iQEcBAEBAgAGBQJLh5HaAAoJEBdvyODiyJI4FoUH/jIbIM2s+rWq9V01CYRxjv+B
PsvKJwIIL2saJ/ozuGlg6K3VMofW4eRRgOq877S6nnuVFSn1Ex0LnL01TKJIqoQF
z9oOAY5knq/c2L37F2M1Y1ROg7hXyu0aTRsJD4+dkEBztu1DXSyC9j1ziYZYf52w
/F0rWAkUjo1z+VuLnAbuqMX/41aHSLQCh5ksMaTv7+aw1QebAwL05IaKAKlEEbLE
Mo8PpZfEl9NeoMyGkm8hK92dkpGxiFTozBmrGZy8zISmY5P3NpuUXDJGMQvX+OHY
3Hf+hHhYZhCXMVKNgM1ECs+SfFQFzegU9W+v5BFxL/VsuG3uwAhDJyhU/XuOcCY=
=UQkq
-----END PGP SIGNATURE-----
-------------- next part --------------
import gdal
from gdalconst import *
filename = "/local_disk/data/satellite/terra/MOD021KM.A2005161.0920.005.2005161194747.hdf"
dataset = gdal.Open( filename, GA_ReadOnly )
if dataset is None:
print "Dataset is None"
print 'Driver: ', dataset.GetDriver().ShortName,'/', \
dataset.GetDriver().LongName
print 'Size is ',dataset.RasterXSize,'x',dataset.RasterYSize, \
'x',dataset.RasterCount
print 'Projection is ',dataset.GetProjection()
geotransform = dataset.GetGeoTransform()
if not geotransform is None:
print 'Origin = (',geotransform[0], ',',geotransform[3],')'
print 'Pixel Size = (',geotransform[1], ',',geotransform[5],')'
band = dataset.GetRasterBand(1)
print 'Band Type=',gdal.GetDataTypeName(band.DataType)
min = band.GetMinimum()
max = band.GetMaximum()
if min is None or max is None:
(min,max) = band.ComputeRasterMinMax(1)
print 'Min=%.3f, Max=%.3f' % (min,max)
if band.GetOverviewCount() > 0:
print 'Band has ', band.GetOverviewCount(), ' overviews.'
if not band.GetRasterColorTable() is None:
print 'Band has a color table with ', \
band.GetRasterColorTable().GetCount(), ' entries.'
scanline = band.ReadRaster( 0, 0, band.XSize, 1, \
band.XSize, 1, GDT_Float32 )
gdal.Close(dataset)
-------------- next part --------------
Driver: HDF4/Hierarchical Data Format Release 4
Files: MOD021KM.A2005161.0920.005.2005161194747.hdf
Size is 512, 512
Coordinate System is `'
Metadata:
HDFEOSVersion=HDFEOS_V2.9
HDFEOS_FractionalOffset_10*nscans_MODIS_SWATH_Type_L1B=0
HDFEOS_FractionalOffset_Max_EV_frames_MODIS_SWATH_Type_L1B=0
LOCALGRANULEID=MOD021KM.A2005161.0920.005.2005161194747.hdf
PRODUCTIONDATETIME=2005-06-10T19:47:48.000Z
DAYNIGHTFLAG=Day
REPROCESSINGACTUAL=processed once
REPROCESSINGPLANNED=further update is anticipated
SCIENCEQUALITYFLAG=Not Investigated
AUTOMATICQUALITYFLAGEXPLANATION=not being investigated
AUTOMATICQUALITYFLAG=Suspect
QAPERCENTMISSINGDATA=0
QAPERCENTOUTOFBOUNDSDATA=52
QAPERCENTINTERPOLATEDDATA=0
PARAMETERNAME=EV_1KM_RefSB
SCIENCEQUALITYFLAG=Not Investigated
AUTOMATICQUALITYFLAGEXPLANATION=not being investigated
AUTOMATICQUALITYFLAG=Suspect
QAPERCENTMISSINGDATA=0
QAPERCENTOUTOFBOUNDSDATA=0
QAPERCENTINTERPOLATEDDATA=0
PARAMETERNAME=EV_1KM_Emissive
EQUATORCROSSINGDATE=2005-06-10
EQUATORCROSSINGTIME=09:38:13.976074
ORBITNUMBER=29140
EQUATORCROSSINGLONGITUDE=12.7623657291106
VERSIONID=5
SHORTNAME=MOD021KM
INPUTPOINTER=LGID:MOD01:005:MOD01.A2005161.0915.005.2005161191258.hdf, LGID:MOD01:005:MOD01.A2005161.0920.005.2005161191440.hdf, LGID:MOD01:005:MOD01.A2005161.0925.005.2005161191649.hdf, MOD02_Reflective_LUTs.hdf.V5.0.6.4.coeff, MOD02_Emissive_LUTs.hdf.V5.0.6.4.coeff, MOD02_QA_LUTs.hdf.V5.0.6.4.coeff
GRINGPOINTLONGITUDE=8.7597011923161, 55.6532739676118, 40.0391675744443, 9.38789658628149
GRINGPOINTLATITUDE=66.8481307216782, 60.1649488030506, 44.3272211294195, 48.4759872891678
GRINGPOINTSEQUENCENO=1, 2, 3, 4
EXCLUSIONGRINGFLAG=N
RANGEENDINGDATE=2005-06-10
RANGEENDINGTIME=09:25:00.000000
RANGEBEGINNINGDATE=2005-06-10
RANGEBEGINNINGTIME=09:20:00.000000
PGEVERSION=5.0.6
ANCILLARYINPUTPOINTER=LGID:MOD03:005:MOD03.A2005161.0920.005.2005161192012.hdf
ANCILLARYINPUTTYPE=Geolocation
ASSOCIATEDSENSORSHORTNAME=MODIS
ASSOCIATEDPLATFORMSHORTNAME=Terra
ASSOCIATEDINSTRUMENTSHORTNAME=MODIS
AveragedBlackBodyTemperature= 290.02
AveragedMirrorTemperature= 276.36
AveragedFocalPlane1Temperature= 269.49
AveragedFocalPlane2Temperature= 269.78
AveragedFocalPlane3Temperature= 83.39
AveragedFocalPlane4Temperature= 83.02
CalibrationQuality=marginal
MissionPhase=EXECUTION
NadirPointing=Y
NORTHBOUNDINGCOORDINATE=66.9024176306048
SOUTHBOUNDINGCOORDINATE=44.4806525822938
EASTBOUNDINGCOORDINATE=55.6517447686945
WESTBOUNDINGCOORDINATE=9.37947978255603
ALGORITHMPACKAGEACCEPTANCEDATE=1999-12-14
ALGORITHMPACKAGEMATURITYCODE=OPERATIONAL
ALGORITHMPACKAGENAME=MODIS Level 1B Algorithm Package
ALGORITHMPACKAGEVERSION=5.0.6.4_Terra
INSTRUMENTNAME=Moderate Resolution Imaging SpectroRadiometer
PROCESSINGCENTER=GSFC
DESCRREVISION=5.0
PRODUCTIONHISTORY=PGE02:5.0.6.4;PGE01:5.0.2
LONGNAME=MODIS/Terra Calibrated Radiances 5-Min L1B Swath 1km
PROCESSINGENVIRONMENT=/usr/bsd/hostname
Number of Scans=204
Number of Day mode scans=204
Number of Night mode scans=0
Incomplete Scans=0
Max Earth View Frames=1354
%Valid EV Observations=100, 99.21136, 99.99989, 99.99982, 99.99178, 99.99998, 99.92158, 77.74535, 50.97116, 41.75863, 37.40073, 33.14359, 24.75512, 14.11185, 26.32291, 8.996546, 5.195354, 5.656334, 96.05117, 100, 99.85711, 100, 99.93998, 99.96195, 99.94226, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100
%Saturated EV Observations=0, 0.7886288, 9.955977e-05, 0.0001719669, 9.050887e-06, 0, 0, 22.14911, 48.40397, 58.16368, 62.59927, 66.85641, 75.24488, 85.88815, 73.67709, 91.00346, 94.80465, 94.34367, 3.94883, 0, 0.1428954, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
% L1A EV All Scan Data are Missing=0
% L1A EV RSB DN Not in Day Mode=0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Bit QA Flags Last Value=819400
Bit QA Flags Change=8200
Granule Average QA Values=290.0298, 290.0169, 290.044, 290.023, 290.0063, 289.9778, 290.0536, 290.0276, 290.0271, 289.9987, 289.9916, 289.9913, 269.4888, 269.7763, 83.38789, 83.01974, 276.3508, 276.3605, 277.0281, 275.5197, 276.6356, 275.4676, 274.5634, 268.8403, 265.752, 267.1087, 267.2303, 82.72014, 82.85756, 126.2144, 126.1309, 185.1862, 5.768203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Electronics Redundancy Vector=22405973, 1048
Electronics Configuration Change=0, 0
Reflective LUT Serial Number and Date of Last Change=R090 2005:05:27:11:08
Emissive LUT Serial Number and Date of Last Change=E082 2005:05:27:11:08
QA LUT Serial Number and Date of Last Change=Q078 2005:05:27:11:08
Focal Plane Set Point State=1
Doors and Screens Configuration=224
Reflective Bands With Bad Data=0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0
Emissive Bands With Bad Data=0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
Noise in Black Body Thermistors=3, 2, 3, 2, 3, 2, 2, 3, 2, 2, 6, 2
Noise in Average BB Temperature=2
Noise in LWIR FPA Temperature=207
Noise in MWIR FPA Temperature=18
Noise in Scan Mirror Thermistor #1=63
Noise in Scan Mirror Thermistor #2=2
Noise in Scan Mirror Thermistor Average=9
Noise in Instrument Temperature=6
Noise in Cavity Temperature=3
Noise in Temperature of NIR FPA=0
Noise in Temperature of Vis FPA=0
Dead Detector List=0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Subdatasets:
SUBDATASET_1_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_1KM_RefSB
SUBDATASET_1_DESC=[15x2040x1354] EV_1KM_RefSB MODIS_SWATH_Type_L1B (16-bit unsigned integer)
SUBDATASET_2_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_1KM_RefSB_Uncert_Indexes
SUBDATASET_2_DESC=[15x2040x1354] EV_1KM_RefSB_Uncert_Indexes MODIS_SWATH_Type_L1B (8-bit unsigned integer)
SUBDATASET_3_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_1KM_Emissive
SUBDATASET_3_DESC=[16x2040x1354] EV_1KM_Emissive MODIS_SWATH_Type_L1B (16-bit unsigned integer)
SUBDATASET_4_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_1KM_Emissive_Uncert_Indexes
SUBDATASET_4_DESC=[16x2040x1354] EV_1KM_Emissive_Uncert_Indexes MODIS_SWATH_Type_L1B (8-bit unsigned integer)
SUBDATASET_5_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_250_Aggr1km_RefSB
SUBDATASET_5_DESC=[2x2040x1354] EV_250_Aggr1km_RefSB MODIS_SWATH_Type_L1B (16-bit unsigned integer)
SUBDATASET_6_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_250_Aggr1km_RefSB_Uncert_Indexes
SUBDATASET_6_DESC=[2x2040x1354] EV_250_Aggr1km_RefSB_Uncert_Indexes MODIS_SWATH_Type_L1B (8-bit unsigned integer)
SUBDATASET_7_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_250_Aggr1km_RefSB_Samples_Used
SUBDATASET_7_DESC=[2x2040x1354] EV_250_Aggr1km_RefSB_Samples_Used MODIS_SWATH_Type_L1B (8-bit integer)
SUBDATASET_8_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_500_Aggr1km_RefSB
SUBDATASET_8_DESC=[5x2040x1354] EV_500_Aggr1km_RefSB MODIS_SWATH_Type_L1B (16-bit unsigned integer)
SUBDATASET_9_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_500_Aggr1km_RefSB_Uncert_Indexes
SUBDATASET_9_DESC=[5x2040x1354] EV_500_Aggr1km_RefSB_Uncert_Indexes MODIS_SWATH_Type_L1B (8-bit unsigned integer)
SUBDATASET_10_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_500_Aggr1km_RefSB_Samples_Used
SUBDATASET_10_DESC=[5x2040x1354] EV_500_Aggr1km_RefSB_Samples_Used MODIS_SWATH_Type_L1B (8-bit integer)
SUBDATASET_11_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:Height
SUBDATASET_11_DESC=[408x271] Height MODIS_SWATH_Type_L1B (16-bit integer)
SUBDATASET_12_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:SensorZenith
SUBDATASET_12_DESC=[408x271] SensorZenith MODIS_SWATH_Type_L1B (16-bit integer)
SUBDATASET_13_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:SensorAzimuth
SUBDATASET_13_DESC=[408x271] SensorAzimuth MODIS_SWATH_Type_L1B (16-bit integer)
SUBDATASET_14_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:Range
SUBDATASET_14_DESC=[408x271] Range MODIS_SWATH_Type_L1B (16-bit unsigned integer)
SUBDATASET_15_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:SolarZenith
SUBDATASET_15_DESC=[408x271] SolarZenith MODIS_SWATH_Type_L1B (16-bit integer)
SUBDATASET_16_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:SolarAzimuth
SUBDATASET_16_DESC=[408x271] SolarAzimuth MODIS_SWATH_Type_L1B (16-bit integer)
SUBDATASET_17_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:gflags
SUBDATASET_17_DESC=[408x271] gflags MODIS_SWATH_Type_L1B (8-bit unsigned integer)
SUBDATASET_18_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_Band26
SUBDATASET_18_DESC=[2040x1354] EV_Band26 MODIS_SWATH_Type_L1B (16-bit unsigned integer)
SUBDATASET_19_NAME=HDF4_EOS:EOS_SWATH:"MOD021KM.A2005161.0920.005.2005161194747.hdf":MODIS_SWATH_Type_L1B:EV_Band26_Uncert_Indexes
SUBDATASET_19_DESC=[2040x1354] EV_Band26_Uncert_Indexes MODIS_SWATH_Type_L1B (8-bit unsigned integer)
Corner Coordinates:
Upper Left ( 0.0, 0.0)
Lower Left ( 0.0, 512.0)
Upper Right ( 512.0, 0.0)
Lower Right ( 512.0, 512.0)
Center ( 256.0, 256.0)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gdaltest.py.sig
Type: application/octet-stream
Size: 287 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/gdal-dev/attachments/20100226/ab9ef32c/gdaltest.py-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: moddump.sig
Type: application/octet-stream
Size: 287 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/gdal-dev/attachments/20100226/ab9ef32c/moddump-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: martin_raspaud.vcf
Type: text/x-vcard
Size: 259 bytes
Desc: not available
Url : http://lists.osgeo.org/pipermail/gdal-dev/attachments/20100226/ab9ef32c/martin_raspaud-0001.vcf
More information about the gdal-dev
mailing list