[R-sig-Geo] Antw: Re: HDF format
Vikram Ranga
babuawara at gmail.com
Thu Jan 26 16:10:52 CET 2012
Hi Julian
Good Point!!!!!
But if anybody know if we can build gdal against hdf drivers for windows?
Regards,
Vikram.
On 1/26/2012 4:04 PM, Julian Zeidler wrote:
> Hi Vikram,
>
> I think the Problem is inherent in rgdal /gdal under Windows.
>
> On Linux gdalDrivers() shows (at least partial) support for HDF4 and HDF5
>
> 43 HDF4 Hierarchical Data Format Release 4
> 44 HDF4Image HDF4
> Dataset
> 45 HDF5 Hierarchical Data Format Release 5
> 46 HDF5Image HDF5
> Dataset
>
> while they are missing from gdalDrivers() in Windows.
>
> Therefore you should have more luck trying to get it to run under Linux
>
> Best,
> Julian
>
>
> Am 26.01.2012 15:53, schrieb Matteo Mattiuzzi:
>> ok should be simple...remove the space in: "c:/new aster" and try again
>>
>>>>> Vikram Ranga<babuawara at gmail.com> 1/26/2012 3:45 pm>>>
>> OK I tried this,
>> sds<-getSDS(HdfName="H:/new
>> aster/AST_09_00304012003053127_20120124074826_13837.hdf")
>> Warning message:
>> running command 'C:\Windows\system32\cmd.exe /c gdalinfo H:/new
>> aster/AST_09_00304012003053127_20120124074826_13837.hdf' had status 1
>> but It is still returning NULL values...
>>> sds
>> $SDSnames
>> NULL
>>
>> $SDS4gdal
>> NULL
>>
>>
>>
>> On 1/26/2012 3:25 PM, Matteo Mattiuzzi wrote:
>>
>> Ok, I piked a ASTEfile:
>> ftp://e4ftl01.cr.usgs.gov/ASTER_B/ASTT/AST_L1B.003/2000.03.30/AST_L1B_00303302000172133_20110111233757_1859.hdf
>>
>> # I am working on a Linux system I hope it does the same on Windows!!
>>
>> install.packages("MODIS", repos="http://R-Forge.R-project.org",
>> dependencies=TRUE)
>> library(MODIS)
>>
>> sds<- getSDS(HdfName=
>> "/your/path/to/AST_L1B_00303302000172133_20110111233757_1859.hdf")
>>
>> SDS$SDS4gdal
>> [1]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":VNIR_Swath:ImageData1"
>> [2]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":VNIR_Swath:ImageData2"
>> [3]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":VNIR_Swath:ImageData3N"
>> [4]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":VNIR_Swath:ImageData3B"
>> [5]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":SWIR_Swath:ImageData4"
>> [6]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":SWIR_Swath:ImageData5"
>> [7]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":SWIR_Swath:ImageData6"
>> [8]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":SWIR_Swath:ImageData7"
>> [9]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":SWIR_Swath:ImageData8"
>> [10]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":SWIR_Swath:ImageData9"
>> [11]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":TIR_Swath:ImageData10"
>> [12]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":TIR_Swath:ImageData11"
>> [13]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":TIR_Swath:ImageData12"
>> [14]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":TIR_Swath:ImageData13"
>> [15]
>> "HDF4_EOS:EOS_SWATH:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":TIR_Swath:ImageData14"
>> [16]
>> "HDF4_SDS:UNKNOWN:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":0"
>> [17]
>> "HDF4_SDS:UNKNOWN:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":1"
>> [18]
>> "HDF4_SDS:UNKNOWN:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":2"
>> [19]
>> "HDF4_SDS:UNKNOWN:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":3"
>> [20]
>> "HDF4_SDS:UNKNOWN:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":4"
>> [21]
>> "HDF4_SDS:UNKNOWN:\"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf\":5"
>> ...
>>
>>
>> f1<- raster(SDS$SDS4gdal[1])
>> Geospatial Data Abstraction Library extensions to R successfully loaded
>> Loaded GDAL runtime: GDAL 1.8.0, released 2011/01/12
>> Path to GDAL shared files: /usr/share/gdal/1.8
>> Loaded PROJ.4 runtime: Rel. 4.7.1, 23 September 2009, [PJ_VERSION: 470]
>> Path to PROJ.4 shared files: (autodetected)
>> Warning messages:
>> 1: In normalizePath(x) :
>>
>> path[1]="HDF4_EOS:EOS_SWATH:"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf":VNIR_Swath:ImageData1":
>> No such file or directory
>> 2: In .rasterFromGDAL(x, band = band, objecttype, ...) :
>> GeoTransform values not available; georeferencing will not be correct
>>> f1
>> class : RasterLayer
>> dimensions : 4200, 4980, 20916000 (nrow, ncol, ncell)
>> resolution : 1, 1 (x, y)
>> extent : 0, 4980, 0, 4200 (xmin, xmax, ymin, ymax)
>> coord. ref. : NA
>> values :
>> HDF4_EOS:EOS_SWATH:"/home/matteo/Downloads/AST_L1B_00303302000172133_20110111233757_1859.hdf":VNIR_Swath:ImageData1
>> min value : 0
>> max value : 255
>> # or
>>
>> f2<-stack(SDS$SDS4gdal[1:3])
>> warning messages...
>>
>>> f2
>> class : RasterStack
>> dimensions : 4200, 4980, 20916000, 3 (nrow, ncol, ncell, nlayers)
>> resolution : 1, 1 (x, y)
>> extent : 0, 4980, 0, 4200 (xmin, xmax, ymin, ymax)
>> coord. ref. : NA
>> min values : 0 0 0
>> max values : 255 255 255
>>
>> The file I have downloaded is a Swath product.... Spatial reference
>> is lost and the data is NOT a GRIDDED file (Pixels are not squared
>> but more polygons of different size). So you can't do many things you
>> could do with an GRID File! ...Maybe you send me a link to download
>> the file you are using (if you use d different type!)
>>
>> Matteo
>>
>>
>>
>>
>>
>>>>> Vikram Ranga<babuawara at gmail.com> ( mailto:babuawara at gmail.com )
>>>>> 1/26/2012 2:55 pm>>>
>> Hi Matteo,
>> I am not sure about ASTER is HDF4 or HDF5.
>> The codes you have given me I tried them
>> sdsRaw<- shell(paste("gdalinfo ", HdfName,sep=""),intern=TRUE); this
>> command seems to be working fine giving "Operable program or batch
>> file ". And with raster(sdsRaw[1]) giving error : object 'SDSRaw' not
>> found!
>> While the another two codes does not seems to have worked
>> SDSnames<- grep(x=sdsRaw,pattern="SUBDATASET_*.._NAME",value=T)
>> The return with this command is character (0)
>> SDSnames<- unlist(lapply(SDSnames,function(x) strsplit(x,"=")[[1]][2]))
>> while with this one; the output is NULL.
>>
>> Though, I tried to install MODIS library to try getSDS() but could
>> not find it in the library(strangely)
>>
>> Regards,
>>
>> Vikram.
>>
>> On 1/26/2012 11:29 AM, Matteo Mattiuzzi wrote:
>>
>>
>> Hi Vikram,
>>
>> Isn't Aster HDF not an HDF4 format (like MODIS)? HDF4 and HDF5 are
>> not really comparable/compatible each to other.
>>
>> If I'm right, you can open the file using GDAL, or even with the
>> raster package, but you have to point the path to the layer (SDS) and
>> not only to the file. There was a discussion between Robert Hijmans
>> and Jan Verbesselt about that...
>> https://r-forge.r-project.org/forum/message.php?msg_id=4132&group_id=294
>>
>> I think you can do the same with ASTER data.
>>
>> So now the only problem should be how to get the path to the SDS:
>> in the MODIS package we use the function:
>> getSDS(HdfName,method='gdal') , try to insert the full FILE-path in
>> that function.
>> Or you can try (on windows) with:
>> sdsRaw<- shell(paste("gdalinfo ", HdfName,sep=""),intern=TRUE)
>> SDSnames<- grep(x=sdsRaw,pattern="SUBDATASET_*.._NAME",value=T)
>> SDSnames<- unlist(lapply(SDSnames,function(x) strsplit(x,"=")[[1]][2]))
>>
>> at least the sdsRaw should work...SDSnames I don't know, just test it
>> (and maybe give me a short feedback)
>>
>> If everything runs fine you should be able to open in then raster
>> package like that:
>>
>> SDS1<-raster(SDSnames[1]) # you can ignore the warning: normalizePath(x)
>> or
>> sds250<- stack(SDSnames[1:2]) # FOR MODIS! (only layers with the same
>> resolution are 'stackable')
>> ....
>>
>> Matteo
>>
>>
>> So first you have to determinatate the full path to the SDS you wand
>> to extract.
>>
>>>>> Vikram Ranga<babuawara at gmail.com> ( mailto:babuawara at gmail.com )
>>>>> 26.01.12 10.20 Uhr>>>
>> Hello Paul,
>> sorry for abstruse mail. I am using R version 2.13.2 on windows (64
>> bit). I am trying to open ASTER data files(*.hdf). Though, I tried few
>> things like readGDAL() and raster() but got error message
>> "53127_20120124074826_13837.hdf' not recognised as a supported file
>> format" . I tried to load hdf5 package but while installing it I got
>> Warning message:
>> In getDependencies(pkgs, dependencies, available, lib) : package 'hdf5'
>> is not available (for R version 2.13.2). I saw the discussion on hdf
>> file on the list with topic "*What is the latest re: reading HDF files
>> with R*". In the discussion Roger pointed out that building gdal
>> against hdf format might help but I do not have a clue how to do that.
>> let me know if you want more info from my end.
>>
>>
>> Regards,
>>
>> Vikram.
>>
>> On 1/26/2012 10:01 AM, Paul Hiemstra wrote:
>>> On 01/26/2012 08:53 AM, Vikram Ranga wrote:
>>>> Hello List,
>>>> I was trying to open HDF format files.
>>>> Though I have followed the discussion on HDF5 format but really cant
>>>> figure out as I tried to convert HDF to Geotiff but the tool is not
>>>> working on my system. As the package is not for windows my options are
>>>> very limited. Can anyone suggest me on this?
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Vikram.
>>>>
>>>> _______________________________________________
>>>> R-sig-Geo mailing list
>>>> R-sig-Geo at r-project.org
>>>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>> Hi Vikram,
>>>
>>> You e-mail is much too vague to yield a good answer. A few questions
>>> come to mind:
>>>
>>> - What is the structure of your HDF files
>>> - What "discussion on hdf5 format" do you mean? And where can we find
>>> it? It is best to give a summary in your mail what you took out of this
>>> discussion.
>>> - Show us concretely what you did (code, package etc). What R code
>>> failed to load your HDF file, what was the error message it yielded?
>>> - What version of R are you using, which package are you using to read
>>> the HDF file, what are the versions of those packages. This can be
>>> easily provided using the sessionInfo() command.
>>>
>>> Give us more to work with, or it will be very hard to help you.
>>>
>>> regards,
>>> Paul
>>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>>
>> [[alternative HTML version deleted]]
>>
>> _______________________________________________
>> R-sig-Geo mailing list
>> R-sig-Geo at r-project.org
>> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
>
> _______________________________________________
> R-sig-Geo mailing list
> R-sig-Geo at r-project.org
> https://stat.ethz.ch/mailman/listinfo/r-sig-geo
More information about the R-sig-Geo
mailing list