[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