[GRASS-user] passing output from GRASS to R.
Roger Bivand
Roger.Bivand at nhh.no
Tue May 5 04:06:39 EDT 2009
>From spgrass6 0.6-*, and after installing the R XML package (off CRAN but
installs automatically from Prof. Ripley's extra Windows repository if you
are on Windows), you can use:
rasterfiles <- execGRASS("g.mlist", parameters=list(type="rast",
pattern="*ele*"), intern=TRUE)
(here from spearfish, which has *ele* rasters in PERMANENT). Do:
parseGRASS("g.mlist")
to see the flags and parameters. As Markus pointed out, intern=TRUE is the
key argument, to get the output of the GRASS command back into the R
workspace. There are issues with regard to quoting between platforms for a
few GRASS commands, but most things now work. I tried this on MSYS Windows
native 6.4.0 RC4.
Roger
Milton Cezar Ribeiro wrote:
>
> Hi Markus,
>
> Under windows I needed only small changes
>
> rasterfiles <- read.table(textConnection(system("g.mlist.exe rast
> pattern=*output*", intern = TRUE)))
> Thanks a lot,
>
> milton
>
> 2009/5/4 Markus Neteler <neteler at osgeo.org>
>
>> On Mon, May 4, 2009 at 8:57 PM, Milton Cezar Ribeiro
>> <miltinho.astronauta at gmail.com> wrote:
>> > Dear all,
>> >
>> > I am running R inside GRASS 6.4 and I can see a list
>> > of all my raster files when I type (from the R session)
>> >
>> > system("g.list rast")
>> >
>> > But I would like to pass the list of rasters to a vector object in R.
>> >
>> > I tryed innocently this, but not worked:
>> >
>> > my.rast.list<-system("g.list rast")
>>
>> Try this:
>>
>> > rasterfiles <- read.table(textConnection(system("g.mlist rast",intern =
>> TRUE)))
>> > str(rasterfiles)
>> 'data.frame': 42 obs. of 1 variable:
>> $ V1: Factor w/ 42 levels "aspect","basin_50K",..: 31 1 2 3 4 5 6 7 8 9
>> ...
>> > rasterfiles
>> V1
>> 1 myfacility
>> 2 aspect
>> 3 basin_50K
>> 4 boundary_county_500m
>> ...
>>
>> > I also would like to define a pattern of raster names to the g.list
>> command,
>> > like only return that raster names that have "_output_" on the name.
>>
>> So:
>> > rasterfiles <- read.table(textConnection(system("g.mlist rast
>> pattern="*_output_*",intern = TRUE)))
>> > str(rasterfiles)
>>
>>
>>
>> > By the way, I am running GRASS inside MSYS, under windows.
>>
>> Please report if above works (as it does on Linux).
>>
>> Markus
>>
>
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user
>
>
-----
Roger Bivand
Economic Geography Section
Department of Economics
Norwegian School of Economics and Business Administration
Helleveien 30
N-5045 Bergen, Norway
--
View this message in context: http://n2.nabble.com/passing-output-from-GRASS-to-R.-tp2788835p2791576.html
Sent from the Grass - Users mailing list archive at Nabble.com.
More information about the grass-user
mailing list