[R-br] coordenadas geograficas
Eder Comunello
ecomunel em gmail.com
Quarta Outubro 31 09:19:09 BRST 2012
Natalia e colegas, bom dia!
Ainda não estou muito familiarizado com o R, mas acho que este exemplo que
rodei irá ajudar...
Não utilizei o project(), mas sim o spTransform()...
#############################################################
#install.packages("rgdal", dep=T)
#install.packages("sp", dep=T)
require(sp); require(rgdal)
### long
coord.x = c(-54.607845, -54.599831, -54.430241, -54.258459, -54.344408,
-54.333258, -53.607359, -53.589245, -53.546762, -53.105123,
-52.972362, -52.107579, -52.089572, -51.940453, -51.718151,
-51.263728, -50.741531, -50.734130, -50.667779, -50.662230,
-49.986102, -49.970018, -49.901474, -49.911543, -49.678260,
-49.654858, -49.610676, -49.599658, -49.511570, -49.200709,
-49.222508, -49.317621, -49.311839, -49.275882, -48.581791,
-48.578971, -48.582604, -48.568999, -48.528527, -48.411012,
-48.251622, -48.027824, -48.029886, -48.023501, -48.590796,
-48.594522, -48.643601, -49.175230, -49.555033, -49.567207,
-49.689784, -49.941462, -49.942167, -50.571750, -50.591636,
-50.553035, -50.718453, -51.208345, -51.216170, -51.292329,
-51.239319, -51.258597, -51.283372, -51.411480, -53.551638,
-53.552753, -53.643791, -53.835953, -53.842011, -53.858677,
-53.955544, -54.099576, -54.108952, -54.429627, -54.438295,
-54.593660, -54.593683, -54.619090, -54.617907, -54.607845)
### lat
coord.y = c(-25.446263, -25.434436, -25.159459, -24.357597, -24.140630,
-24.116248, -22.951327, -22.936230, -22.890090, -22.621923,
-22.570479, -22.516685, -22.521237, -22.567335, -22.669007,
-22.669047, -22.961387, -22.962502, -22.897375, -22.895686,
-22.897501, -22.910601, -22.999147, -23.051110, -23.165054,
-23.210043, -23.851684, -23.857080, -23.925858, -24.344464,
-24.362727, -24.566630, -24.663615, -24.693608, -24.671609,
-24.685526, -25.051554, -25.051240, -25.100784, -24.980119,
-24.978739, -25.221284, -25.226189, -25.230964, -25.976982,
-25.977087, -25.955943, -26.001844, -26.237326, -26.233284,
-26.188456, -26.008879, -26.008876, -26.003790, -26.022134,
-26.055436, -26.244779, -26.297107, -26.313987, -26.404261,
-26.628383, -26.625825, -26.653990, -26.717283, -26.292744,
-26.292051, -26.253072, -25.971930, -25.687925, -25.680270,
-25.646984, -25.495677, -25.495742, -25.695430, -25.691293,
-25.592352, -25.544262, -25.457555, -25.452072, -25.446263)
pr.df <- data.frame(coord.x,coord.y); head(pr.df)
### criar um objeto "SpatialPoints"
pr.spgeo <- pr.df; head (pr.spgeo)
coordinates(pr.spgeo) <- c('coord.x','coord.y')
### definir projeção e datum de entrada
proj4string(pr.spgeo) <- CRS('+proj=longlat +datum=WGS84')
class(pr.spgeo)
head(pr.spgeo)
plot(pr.spgeo)
### lista parâmetros disponíveis
projInfo("proj")
projInfo("datum")
projInfo("ellps")
### transforma para utm
### atenção para o uso do parâmetro '+south'
### ter claro que o Paraná utiliza mais de uma Zona UTM e maior parte do
estado em 22S
pr.sputm <- spTransform(pr.spgeo, CRS('+proj=utm +zone=22 +south'));
head(pr.sputm)
plot(pr.sputm)
#############################################################
Esse exemplo assumiu o WGS84 como datum padrão de entrada e saída. Para
datums (data) diferentes tem que dar uma estudada mais a fundo, porque tem
poucas opções pré-configuradas no pacote que usei (como pode ser visto
usando <projInfo("datum")>).
--
================================================
Éder Comunello
Ph.D. Student in Agricultural Systems Engineering (USP/ESALQ)
Piracicaba, SP, Brazil [22 42.7'S, 47 37.8'W]
Researcher at Embrapa Western Region Agriculture
Dourados, MS, Brazil [22 16.5'S, 54 49.0'W]
================================================
UTC-03:00
> ----------------------------------------------------------------------
>
>
> 2012/10/29 Natalia Martins <nsmbarreto em gmail.com<https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=nsmbarreto@gmail.com>
> >
>
> > Walmes, bom dia.
> > Estou tentando transformar minhas coordenadas geograficas (das estações
> > metereologicas do PR)
> > em utm, procurando no help do R encontrei:
> >
> > data(state)
> > s <- project(state.center, "+proj=merc")
> >
> > mas eu não estou conseguindo entender qual proj eu devo usar, no link
> >
> > http://www.remotesensing.org/geotiff/proj_list/transverse_mercator.html
> >
> > até encontri mas quando tento fazer aparece o seguinte erro
> >
> > s <- project(state.center, "+proj=utm")
> > Erro em project(state.center, "+proj=utm") : elliptical usage required
> >
> >
> > se vc puder me ajudar...
> >
> > Muito obrigada!!
> >
> > Em 28 de outubro de 2012 11:11, Walmes Zeviani <walmes em ufpr.br<https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=walmes@ufpr.br>>
> escreveu:
> >
> > Sim, para calculo de distâncias você tem que ter coordenadas decimais e
> >> não exagesimais (º ' '').
> >>
> >>
> ==========================================================================
> >> Walmes Marques Zeviani
> >> LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759
> W)
> >> Departamento de Estatística - Universidade Federal do Paraná
> >> fone: (+55) 41 3361 3573
> >> VoIP: (3361 3600) 1053 1173
> >> e-mail: walmes em ufpr.br<https://mail.google.com/mail/?view=cm&fs=1&tf=1&to=walmes@ufpr.br>
> >> skype: walmeszeviani
> >> twitter: @walmeszeviani
> >> homepage: http://www.leg.ufpr.br/~walmes
> >> linux user number: 531218
> >>
> ==========================================================================
> >>
> >
> >
> >
> > --
> >
> > Natália da Silva Martins
> > Bacharel em Estatística - Universidade Estadual de Maringá/ UEM
> > Mestranda em Estatística e Experimentação Agronômica - ESALQ/ USP
> > Contato: (19) 8306-4743
> >
> >
> > Mensagem Verificada Pelo AntiSpam UFPR
> >
> >
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20121031/fec3d44d/attachment.html>
Mais detalhes sobre a lista de discussão R-br