Quantcast

testing for a valid raster format before reading

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

testing for a valid raster format before reading

Mauricio Zambrano-Bigiarini
Dear list,

Do you know if there is any way for testing if a file can be read by the
'raster' command of the 'raster' package ?

something like:

  is.raster("myfile.asc") ....


I'm asking because I have to read many files within several directories.
The filenames of the maps go from XXXXXXXX.001 up to XXXXXX99.999, with
some additional files that should be skipped of the reading process
(which extension varies from directory to directory, e.g., .csv, .txt,
.zip, etc).


The error I'm getting now, which appears when trying to get information
about the file with 'GDALinfo', is the following:


Error in .local(.Object, ...) :
   `lai.zip' not recognised as a supported file format.

1> traceback()
15: .Call("RGDAL_OpenDataset", as.character(filename), TRUE, silent,
         PACKAGE = "rgdal")
14: .local(.Object, ...)
13: initialize(value, ...)
12: initialize(value, ...)
11: new("GDALReadOnlyDataset", filename, silent = silent)
10: GDAL.open(fname, silent = silent)
9: GDALinfo(maps.list[i])


Thanks in advance for any help,

Kinds,

Mauricio Zambrano-Bigiarini

--
====================================================
Water Resources Unit
Institute for Environment and Sustainability (IES)
Joint Research Centre (JRC), European Commission
webinfo    : http://floods.jrc.ec.europa.eu/
====================================================
DISCLAIMER:\ "The views expressed are purely those of th...{{dropped:10}}

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: testing for a valid raster format before reading

Barry Rowlingson
On Fri, Jul 27, 2012 at 10:08 AM, Mauricio Zambrano-Bigiarini
<[hidden email]> wrote:

> Dear list,
>
> Do you know if there is any way for testing if a file can be read by the
> 'raster' command of the 'raster' package ?
>
> something like:
>
>   is.raster("myfile.asc") ....
>
>
> I'm asking because I have to read many files within several directories.
> The filenames of the maps go from XXXXXXXX.001 up to XXXXXX99.999, with
> some additional files that should be skipped of the reading process
> (which extension varies from directory to directory, e.g., .csv, .txt,
> .zip, etc).
>
>
> The error I'm getting now, which appears when trying to get information
> about the file with 'GDALinfo', is the following:
>
>
> Error in .local(.Object, ...) :
>    `lai.zip' not recognised as a supported file format.
>
> 1> traceback()
> 15: .Call("RGDAL_OpenDataset", as.character(filename), TRUE, silent,
>          PACKAGE = "rgdal")
> 14: .local(.Object, ...)
> 13: initialize(value, ...)
> 12: initialize(value, ...)
> 11: new("GDALReadOnlyDataset", filename, silent = silent)
> 10: GDAL.open(fname, silent = silent)
> 9: GDALinfo(maps.list[i])
>
>
> Thanks in advance for any help,

 You can use 'try' to run code and catch errors. See help(try) for more:

for(f in files){
 r = try(raster(f))
 if(inherits(r, "try-error")){
      warning("couldnt read ",f)
   }else{
      print(summary(r))
  }
 }

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: testing for a valid raster format before reading

Mauricio Zambrano-Bigiarini
On 27/07/12 11:35, Barry Rowlingson wrote:

> On Fri, Jul 27, 2012 at 10:08 AM, Mauricio Zambrano-Bigiarini
> <[hidden email]>  wrote:
>> Dear list,
>>
>> Do you know if there is any way for testing if a file can be read by the
>> 'raster' command of the 'raster' package ?
>>
>> something like:
>>
>>    is.raster("myfile.asc") ....
>>
>>
>> I'm asking because I have to read many files within several directories.
>> The filenames of the maps go from XXXXXXXX.001 up to XXXXXX99.999, with
>> some additional files that should be skipped of the reading process
>> (which extension varies from directory to directory, e.g., .csv, .txt,
>> .zip, etc).
>>
>>
>> The error I'm getting now, which appears when trying to get information
>> about the file with 'GDALinfo', is the following:
>>
>>
>> Error in .local(.Object, ...) :
>>     `lai.zip' not recognised as a supported file format.
>>
>> 1>  traceback()
>> 15: .Call("RGDAL_OpenDataset", as.character(filename), TRUE, silent,
>>           PACKAGE = "rgdal")
>> 14: .local(.Object, ...)
>> 13: initialize(value, ...)
>> 12: initialize(value, ...)
>> 11: new("GDALReadOnlyDataset", filename, silent = silent)
>> 10: GDAL.open(fname, silent = silent)
>> 9: GDALinfo(maps.list[i])
>>
>>
>> Thanks in advance for any help,
>
>   You can use 'try' to run code and catch errors. See help(try) for more:
>
> for(f in files){
>   r = try(raster(f))
>   if(inherits(r, "try-error")){
>        warning("couldnt read ",f)
>     }else{
>        print(summary(r))
>    }
>   }
>

Thanks Barry for your feedback.

Adding the 'silent' argument to 'try' produced the behaviour I wanted:

for(f in files){
   r = try(raster(f), silent=TRUE)
   if(inherits(r, "try-error")){
        warning("couldnt read ",f)
     }else{
        print(summary(r))
    }
   }
      Length       Class        Mode
       66548 RasterLayer          S4
Warning messages:
1: In eval(expr, envir, enclos) : couldnt read LHOAT-AGNPS2012.txt
2: In eval(expr, envir, enclos) : couldnt read SPSO.zip



All the best,

Mauricio
--
====================================================
Water Resources Unit
Institute for Environment and Sustainability (IES)
Joint Research Centre (JRC), European Commission
webinfo    : http://floods.jrc.ec.europa.eu/
====================================================
DISCLAIMER:\ "The views expressed are purely those of th...{{dropped:10}}

_______________________________________________
R-sig-Geo mailing list
[hidden email]
https://stat.ethz.ch/mailman/listinfo/r-sig-geo
Loading...