Maybe ?raster::contour or ?contourLines in base R helps?

Johannes


On Sun, May 12, 2013 at 5:49 PM, Lionel <[email protected]> wrote:

> Hi Oscar,
>
> Thanks for your help, what I would like to get is something similar to
> this:
> http://www.google.fr/imgres?q=**species+range+shift&start=280&**
> um=1&sa=N&hl=fr&biw=1366&bih=**647&tbm=isch&tbnid=**
> MdhZVMKVLMSH3M:&imgrefurl=**http://www.scielo.sa.cr/**
> scielo.php%3Fscript%3Dsci_**arttext%26pid%3DS0034-**
> 77442008000200028&docid=**9u3QDKVd0hdQqM&imgurl=http://**
> www.scielo.sa.cr/img/revistas/**rbt/v56n2/art28i2.jpg&w=363&h=**
> 432&ei=cbiPUe_4BqO80QX-hoCIBw&**zoom=1&iact=hc&vpx=588&vpy=**
> 170&dur=342&hovh=180&hovw=152&**tx=83&ty=124&page=10&tbnh=159&**
> tbnw=134&ndsp=30&ved=1t:429,r:**84,s:200,i:256<http://www.google.fr/imgres?q=species+range+shift&start=280&um=1&sa=N&hl=fr&biw=1366&bih=647&tbm=isch&tbnid=MdhZVMKVLMSH3M:&imgrefurl=http://www.scielo.sa.cr/scielo.php%3Fscript%3Dsci_arttext%26pid%3DS0034-77442008000200028&docid=9u3QDKVd0hdQqM&imgurl=http://www.scielo.sa.cr/img/revistas/rbt/v56n2/art28i2.jpg&w=363&h=432&ei=cbiPUe_4BqO80QX-hoCIBw&zoom=1&iact=hc&vpx=588&vpy=170&dur=342&hovh=180&hovw=152&tx=83&ty=124&page=10&tbnh=159&tbnw=134&ndsp=30&ved=1t:429,r:84,s:200,i:256>
>
> Where each raster cells with a certain values (say 1) get crossed by a
> diagonal line.
>
> Your code is achieving something different, concerning the object created
> the best would be a Spatial* object, however I think I could be able to
> find a way around using ggmap.
>
> Thanks again,
> Lionel
>
>
> On 12/05/2013 16:23, Oscar Perpiñán Lamigueiro wrote:
>
>> Hi Lionel,
>>
>> With this code you will draw lines connecting raster cells with a
>> certain value. I am not sure if you also need to build a SpatialLines
>> object with them (which you won't get with my code):
>>
>> library(raster)
>> library(latticeExtra) ## to use +.trellis and layer()
>>
>> r1<-raster(ncols=10,nrows=10)
>> r1[]<-sample(0:1,100,replace=**TRUE)
>>
>> ## extract coordinates of those cells with a condition
>> myCells <- Which(r1==1, cells=TRUE)
>> xy <- xyFromCell(r1, myCells)
>>
>> ## border and border.lwd are only needed to highlight the cells boundaries
>> spplot(r1, at=c(0, 0.5, 1), border='black', border.lwd=0.3) +
>>      layer(llines(xy, type='b', col='black'))
>>
>>
>> Best,
>>
>> Oscar.
>>
>> Lionel <[email protected]> writes:
>>
>>  Dear List,
>>>
>>> I would like to draw lines in raster cells with a certain values, I can
>>> work around this with a for loop but as always this solution only works
>>> for small datasets (which is not my case), I would therefore like to
>>> have your opinion on this;
>>>
>>> #the code
>>> library(maptools) #to use spRbind
>>> out<-NULL
>>> r1<-raster(ncols=10,nrows=10)
>>> r1[]<-sample(0:1,100,replace=**TRUE)
>>> for(i in 1:ncell(r1)){
>>>     if(r1[i]==1){
>>> lines<-SpatialLines(list(**Lines(list(Line(matrix(c(**
>>> xyFromCell(r1,i)+(res(r1)/2),**xyFromCell(r1,i)-(res(r1)/2)),**
>>> ncol=2,byrow=TRUE))),ID=as.**character(i))))
>>>       if(is.null(out)){
>>>         out<-lines }
>>>          else {out<-spRbind(out,lines)}
>>>       }
>>>     print(i)
>>> }
>>>
>>> Thank you in advance,
>>>
>>
>>
>>
> ______________________________**_________________
> R-sig-Geo mailing list
> [email protected]
> https://stat.ethz.ch/mailman/**listinfo/r-sig-geo<https://stat.ethz.ch/mailman/listinfo/r-sig-geo>
>



-- 

## ## Contact:
## Johannes Signer, MSc
## PhD-Candidate -- Wildlife Management
## Dept. of Forest Zoology & Forest Conservation
## University of Goettingen
## Buesgenweg 3 (room 85)
## 37077 Goettingen, Germany
## e: [email protected]
## p: +49 (0)551 39 3583
## m: +49 (0)176 61 962856
## skype: j.m.signer
## ##

        [[alternative HTML version deleted]]

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

Reply via email to