[R-br] mapa: rosa dos ventos

Rodrigo Sant'Ana rodrigo.gringo em gmail.com
Quinta Outubro 9 14:02:55 BRT 2014


Olá Aline,

  então, não sei porque a função compassRose do pacote sp (versão 1.0.15)
não está disponível.
Este erro também apareceu para mim. Talvez alguma atualização do pacote
mudou o nome da função,
algo do gênero, não pesquisei a fundo.

De todo modo, segue a função abaixo para que você possa implementá-la e
utilizá-la em suas demandas.
A fonte da função é o próprio pacote sp, que você pode consultar em:
https://r-forge.r-project.org/scm/viewvc.php/pkg/sp/R/compassRose.R?view=markup&revision=917&root=rspatial

compassRose<-function(x,y,rot=0,cex=1) {
  oldcex<-par(cex=cex)
  mheight<-strheight("M")
  xylim<-par("usr")
  plotdim<-par("pin")
  xmult<-(xylim[2]-xylim[1])/(xylim[4]-xylim[3])*plotdim[2]/plotdim[1]
  point.angles<-seq(0,2*pi,by=pi/4)+pi*rot/180
  crspans<-rep(c(mheight*3,mheight/2),length.out=9)
  xpoints<-cos(point.angles)*crspans*xmult+x
  ypoints<-sin(point.angles)*crspans+y
  for(point in 1:8) {
    pcol<-ifelse(point%%2,"black","white")
    polygon(c(xpoints[c(point,point+1)],x),c(ypoints[c(point,point+1)],y),col=pcol)
  }
  txtxpoints<-cos(point.angles[c(1,3,5,7)])*1.2*crspans[1]*xmult+x
  txtypoints<-sin(point.angles[c(1,3,5,7)])*1.2*crspans[1]+y
  text(txtxpoints,txtypoints,c("E","N","W","S"))
  par(oldcex)
}



Abraço,
RS

___________________________________________________
*Rodrigo Sant'Ana*
--
Mestre em Ciência e Tecnologia Ambiental - MCTA/UNIVALI
Graduado em Oceanografia - CTTMar/UNIVALI
Universidade do Vale do Itajaí - UNIVALI
--


Em 9 de outubro de 2014 13:36, Aline Lipsky <line_lips em hotmail.com>
escreveu:

> Boa tarde caros colegas,
>
> Estou plotando um mapa com o seguinte script:
>
> library(maptools)
> library(maps)
> library(mapdata)
> library(mapproj)
> library(sp)
>
> SHP22 <- readShapeSpatial("hidrografia_poligonos_utm22.shp")
>
> #Plotar o mapa
> x11()
>
> par(mar=c(2,2,2,4.2)) # ajustando as margens (bottom, left, top, right)
> plot(SHP22, col='light blue', axes=F,
> ylim=c(6441000,6530000),xlim=c(380000,410000))
>
> #adicionando eixo no mapa
> axis(4, las=1, cex.axis=0.9) #adicionando latitude do lado direito do mapa
> axis(1, las=1, cex.axis=0.9) #adicionando longitude abaixo do mapa
>
> Mas quando tento plotar a rosa dos ventos com a seguinte função:
>
> compassRose(430000,6525000, rot=0, cex=0.65)
>
> aparece o erro:
>
> Error: could not find function "compassRose".
>
> Alguém saberia me dizer o que posso fazer?
>
> Grata desde já pela atenção,
>
> Att.,
>
> Aline
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20141009/6c259d2e/attachment.html>


Mais detalhes sobre a lista de discussão R-br