[gdal-dev] [gdal_translate] Spatial subset HDF4Image with multiple subdatasets?

Etienne Tourigny etourigny.dev at gmail.com
Wed Jun 20 05:55:54 PDT 2012


You could combine them as a multi-band gtiff file for example

On Wed, Jun 20, 2012 at 9:50 AM, dcd <dennis.duro at glel.carleton.ca> wrote:
>
> Le mardi 19 juin 2012 23:55:49, dcd a écrit :
>> Hi,
>>
>> Is it possible to spatially subset an HDF4Image that contains multiple
>> subdatasets using gdal_translate (GDAL 1.9.1)? When using a spatial subset
>> switch ("-a_ullr"), I get the following response:
>>
>> "Input file contains subdatasets. Please, select one of them for reading."
>>
>> This happens regardless of output format specified (HDF4Image, GTiff,
>> ENVI,
>> etc.), or whether the "-b" switch has been used as per the examples here:
>> http://www.gdal.org/gdal_translate.html. A workaround is to use the "-sds"
>> switch allows the process to complete, but (as expected) it processes each
>> subdataset as a separate file. I suppose I can just merge these
>> subdatasets
>> together again, but I'd like to avoid the extra step. Is this possible?
>>
>> I'm working with a MODIS imagery (MOD09GA), but I've had the issues with
>> other similar HDF4 datasets.
>
> You can use one of the subdataset names listed by gdalinfo on the HDF file
> as a
> pseudo-filename usable by any GDAL utility (including gdal_translate).
>
> For example :
>
> $ gdalinfo MOD02HKM.A2011169.1750.005.NRT.hdf
> [...]
> Subdatasets:
>
> SUBDATASET_1_NAME=HDF4_EOS:EOS_SWATH:"MOD02HKM.A2011169.1750.005.NRT.hdf":MODIS_SWATH_Type_L1B:EV_500_RefSB
>  SUBDATASET_1_DESC=[5x4060x2708] EV_500_RefSB MODIS_SWATH_Type_L1B (16-bit
> unsigned integer)
>
> SUBDATASET_2_NAME=HDF4_EOS:EOS_SWATH:"MOD02HKM.A2011169.1750.005.NRT.hdf":MODIS_SWATH_Type_L1B:EV_500_RefSB_Uncert_Indexes
>  SUBDATASET_2_DESC=[5x4060x2708] EV_500_RefSB_Uncert_Indexes
> MODIS_SWATH_Type_L1B (8-bit unsigned integer)
> [...]
>
> $ gdalinfo
> HDF4_EOS:EOS_SWATH:"MOD02HKM.A2011169.1750.005.NRT.hdf":MODIS_SWATH_Type_L1B:EV_500_RefSB
>
> Driver: HDF4Image/HDF4 Dataset
> Files: MOD02HKM.A2011169.1750.005.NRT.hdf
> Size is 2708, 4060
> Coordinate System is `'
> GCP Projection =
> 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"]]
> [...]
> _______________________________________________
>
> Merci beaucoup for the quick reply!
>
> Sorry, I didn't mention in the original post that I need to spatially subset
> hundreds of images.
>
> While I know that I can declare subdatasets individually, it will still mean
> that I need to combine the individual subdatasets after spatial subsetting.
> Also, declaring individual subdatasets by name is a bit of pain, although
> doable if need be.
>
> It would be nice if the "-b" switch in gdal_translate could be used for
> selecting specific subdatasets within an HDF4Image, either by their full
> name (SUBDATASET_1_NAME=....), description (SUBDATASET_1_DESC=...), or
> preferably by index ("-b 1" would be equivalent to "SUBDATASET_1", "-b 2"
> would be equivalent to "SUBDATASET_2", etc). When reading the gdal_translate
> documentation for the "-b" switch, it appears that this should be possible,
> although the example is with a GTiff image. If it is possible with HDF
> files, I'd like to know how. If not, I will put in a request using the
> appropriate channels.
>
> I could always use the MODIS Reprojection Tool to script this task, but I'd
> like to have done this exclusively using GDAL.
>
> Anyway, thanks for the tip!
>
>
>
> --
> View this message in context: http://osgeo-org.1560.n6.nabble.com/gdal-translate-Spatial-subset-HDF4Image-with-multiple-subdatasets-tp4982526p4982668.html
> Sent from the GDAL - Dev mailing list archive at Nabble.com.
> _______________________________________________
> 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