[R-br] RgoogleMaps e rgdal

Elias T. Krainski eliaskrainski em yahoo.com.br
Quarta Setembro 26 14:15:05 BRT 2012


Vc não precisa transformar para longlat. Basta informar corretamente qual a projeção das suas coordenadas e a função plotGoogleMaps() trata a projeção internamente para colocar na mesma do googleMaps. No seu script, faltou " " (espaço) na string CRS (antes de cada "+"). Para mim não ocorreu erro e visualizei um talhão ao sul do município de Cáceres - MT, a oeste da BR-070 (confere?). Veja o script:

x <- c(426588,426593,426825,426829,426588)
y <- c(8216643,8216681,8216691,8216646,8216643)

### monta SpatialPointsDataFrame, como nao ha 
### dados, criado um data.frame com a coluna ID
require(sp)
Pontos <- SpatialPointsDataFrame(SpatialPoints(cbind(x,y)),
  data=data.frame(ID=1:length(x)))

### assumindo uma particular projecao, e'
### necessario verificar se e' mesmo esta
proj4string(Pontos) <- CRS("+proj=utm +zone=21 +south +datum=WGS84 +units=m +no_defs")

### sobrepoe ao google Maps e visualiza
require(plotGoogleMaps) 
plotGoogleMaps(Pontos)

 Att.
 
Elias T. Krainski


>________________________________
> De: Alexandre Santos <alexandresantosbr em yahoo.com.br>
>Para: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br>; Elias T. Krainski <eliaskrainski em yahoo.com.br> 
>Enviadas: Quarta-feira, 26 de Setembro de 2012 12:57
>Assunto: Re: [R-br] RgoogleMaps e rgdal
> 
>
>Obrigado pelo help Elias,
>
>
>       Aquelas coordenadas na Bahia não eram minhas não, apenas peguei o post original e estava tentando adaptar para minhas coordenadas que são outras, atentei para a projeção, medida (m) e zona (21K) e fiz uma transformação para latlong e mesmo assim não deu certo, segue CRM abaixo:
>
>
>### coordenadas dos pontos
>x <- c(426588,426593,426825,426829,426588)
>y <- c(8216643,8216681,8216691,8216646,8216643)
>#
>#
>### monta SpatialPointsDataFrame, como nao ha
>### dados, criado um data.frame com a coluna ID
>require(sp)
>
>
>Pontos <- SpatialPointsDataFrame(SpatialPoints(cbind(x,y)),data=data.frame(ID=1:length(x)))
>
>
>proj4string(Pontos) <- CRS('+proj=utm +zone=21+datum=WGS84+units=m+south') #### Pontos originalmente em UTM
>
>
>t_latlong<- spTransform(Pontos, CRS("+proj=longlat +datum=WGS84")) ## Transformando para longlat 
>
>
>require(plotGoogleMaps)
>plotGoogleMaps(t_latlong)
>#
>
>
>
>________________________________
> De: Elias T. Krainski <eliaskrainski em yahoo.com.br>
>Para: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br> 
>Enviadas: Quarta-feira, 26 de Setembro de 2012 10:43
>Assunto: Re: [R-br] RgoogleMaps e rgdal
> 
>
>Isso porque suas coordenadas estão fora do range válido. Para projeção UTM, longitude varia entre 174W a 180E e latitude entre 80S a 84N. Seu primeiro ponto, por exemplo, (524227, 7978963) sugere isso e sugere também que suas coordenadas estão em alguma projeção onde a unidade de distancia é em metros, não em graus. Acho melhor você verificar qual é a projeção dos seus pontos. 
>
>
>No primeiro post seu sobre este assunto você estava com coordenadas em graus e, usando "+proj=longlat +datum=WGS84" não deu esse problema, pois visualizei os cinco pontos numa região noroeste da Bahia, a uns 30km da divisa com Piaui. Veja o script novamente:
>
>
>### coordenadas dos pontos 
>x <- c(-43.565,-43.564,-43.563,-43.565,-43.564)  
>y <- c(-10.518,-10.466,-10.412,-10.516,-10.474)  
>
>
>### monta SpatialPointsDataFrame, como nao ha 
>### dados, criado um data.frame com a coluna ID
>require(sp)
>Pontos <- SpatialPointsDataFrame(SpatialPoints(cbind(x,y)),
>  data=data.frame(ID=1:length(x)))
>
>
>### assumindo uma particular projecao, e'
>### necessario verificar se e' mesmo esta
>proj4string(Pontos) <- CRS('+proj=longlat +datum=WGS84')
>
>
>### sobrepoe ao google Maps e visualiza
>require(plotGoogleMaps) 
>plotGoogleMaps(Pontos)
>
>
>### melhores informacoes ver
>vignette("plotGoogleMaps-intro")
> 
>Elias T. Krainski
>
>
>>________________________________
>> De: Alexandre Santos <alexandresantosbr em yahoo.com.br>
>>Para: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br>; Alexandre Santos <alexandresantosbr em yahoo.com.br> 
>>Enviadas: Quarta-feira, 26 de Setembro de 2012 11:14
>>Assunto: Re: [R-br] RgoogleMaps e rgdal
>> 
>>
>>Elias,
>>
>>
>>      O único problema em trabalhar com UTM é que a função plotGoogleMaps() não me permite selecionar a zona/setor, então qualquer coordenada que coloco o navegador retorna: Sentimos muito, mas não temos imagens daqui. Gostaria de encontrar um meio de não ter que transformar as coordenadas para latlong,
>>
>>
>>Obrigado,
>>
>>
>>Alexandre
>>
>>
>>
>>
>>
>>
>>
>>________________________________
>> De: Alexandre Santos <alexandresantosbr em yahoo.com.br>
>>Para: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br>; Elias T. Krainski <eliaskrainski em yahoo.com.br> 
>>Enviadas: Quarta-feira, 26 de Setembro de 2012 9:54
>>Assunto: Re: [R-br] RgoogleMaps e rgdal [RESOLVIDO]
>> 
>>
>>Obrigado Elias, 
>>
>>
>>Passou despercebido, corrigido:
>>### coordenadas dos pontos
>> x <- c(524227,524268,524268,524227,524227)
>> y <- c(7978963,7978963,7978846,7978846,7978963)
>> #
>> #
>> ### monta SpatialPointsDataFrame, como nao ha
>> ### dados, criado um data.frame com a coluna ID
>> require(sp)
>>
>>
>> Pontos <- SpatialPointsDataFrame(SpatialPoints(cbind(x,y)),data=data.frame(ID=1:length(x)))
>>
>>
>>### assumindo uma particular projecao, e'
>>### necessario verificar se e' mesmo esta
>>proj4string(Pontos) <- CRS('+proj=utm +datum=WGS84')
>>require(plotGoogleMaps)
>>plotGoogleMaps(Pontos)
>>
>>
>>
>>
>>
>>________________________________
>> De: Elias T. Krainski <eliaskrainski em yahoo.com.br>
>>Para: "r-br em listas.c3sl.ufpr.br" <r-br em listas.c3sl.ufpr.br> 
>>Enviadas: Quarta-feira, 26 de Setembro de 2012 8:26
>>Assunto: Re: [R-br] RgoogleMaps e rgdal
>> 
>>
>>Essas coordenadas não estão em latlong. Coordenadas em latlong são em graus e vão de -180 a 180 (longitude) e de -90 a 90 (latitude).
>> 
>>Elias T. Krainski
>>
>>
>>>________________________________
>>> De: ASANTOS <alexandresantosbr em yahoo.com.br>
>>>Para: r-br em listas.c3sl.ufpr.br 
>>>Enviadas: Terça-feira, 25 de Setembro de 2012 22:25
>>>Assunto: Re: [R-br] RgoogleMaps e rgdal
>>> 
>>>
>>>Boa noite pessoal,
>>>
>>>        Refazendo o exemplo do Elias em coordenadas UTM, não tive
    sucesso (Erro: Geographical CRS given to non-conformant data). Olhei
    o datum e estava OK e também no manual e não me parece que há nada
    de errado, inclusive o exemplo clássico do meuse do pacote gstat
    utilizado no exemplo do pacote plotGoogleMaps esta em UTM, alguém
    poderia dar um help, segue CRM abaixo
>>>
>>> #
>>>### coordenadas dos pontos
>>> x <- c(524227,524268,524268,524227,524227)
>>> y <- c(7978963,7978963,7978846,7978846,7978963)
>>> #
>>> #
>>> ### monta SpatialPointsDataFrame, como nao ha
>>> ### dados, criado um data.frame com a coluna ID
>>> require(sp)
>>>Carregando pacotes exigidos: sp
>>> Pontos <- SpatialPointsDataFrame(SpatialPoints(cbind(x,y)),
>>>+   data=data.frame(ID=1:length(x)))
>>> 
>>>### assumindo uma particular projecao, e'
>>>### necessario verificar se e' mesmo esta
>>> proj4string(Pontos) <- CRS('+proj=longlat +datum=WGS84')
>>>Erro em `proj4string<-`(`*tmp*`, value = <S4 object of class
    "CRS">) : 
>>>  Geographical CRS given to non-conformant data:  524268 7978963
>>>
>>>require(plotGoogleMaps)
>>>plotGoogleMaps(Pontos)
>>>Erro em spTransform(xSP, CRSobj, ...) : 
>>>  No transformation possible from NA reference system
>>>
>>>
>>>
>>>
>>>
>>>Em 05/09/2012 07:44, Elias T. Krainski escreveu:
>>>
>>>Lamento postar codigo sem teste... Este agora foi testado e funciona.
>>>>
>>>>
>>>>### coordenadas dos pontos 
>>>>x <- c(-43.565,-43.564,-43.563,-43.565,-43.564)  
>>>>y <- c(-10.518,-10.466,-10.412,-10.516,-10.474)  
>>>>
>>>>
>>>>### monta SpatialPointsDataFrame, como nao ha 
>>>>### dados, criado um data.frame com a coluna ID
>>>>require(sp)
>>>>Pontos <- SpatialPointsDataFrame(SpatialPoints(cbind(x,y)),
>>>>  data=data.frame(ID=1:length(x)))
>>>>
>>>>
>>>>### assumindo uma particular projecao, e'
>>>>### necessario verificar se e' mesmo esta
>>>>proj4string(Pontos) <- CRS('+proj=longlat +datum=WGS84')
>>>>
>>>>
>>>>### sobrepoe ao google Maps e visualiza
>>>>require(plotGoogleMaps) 
>>>>plotGoogleMaps(xyd)
>>>>
>>>>
>>>>### melhores informacoes ver
>>>>vignette("plotGoogleMaps-intro")
>>>>
>>>>
>>>> 
>>>>Elias T. Krainski
>>>>
>>>>
>>>>>________________________________
>>>>> De: Mauro Sznelwar <sznelwar em uol.com.br>
>>>>>Para: Elias T. Krainski <eliaskrainski em yahoo.com.br> 
>>>>>Enviadas: Terça-feira, 4 de Setembro de 2012 23:03
>>>>>Assunto: Re: [R-br] RgoogleMaps e rgdal
>>>>> 
>>>>>
>>>>> 
>>>>>Continua não dando certo:
>>>>>Creito que tem um erro no  xy <- SpatialPoints(cbind(xy)) que deveria ser
>>>>>xy <- SpatialPoints(cbind(x,y)) 
>>>>>E mesmo corrigindo veja o acentece:
>>>>>> plotGoogleMaps(x,y)
>>>>>Erro em function (classes, fdef,
                                  mtable)  : 
>>>>>  unable to find an inherited method
                                  for function "spTransform", for
                                  signature "numeric", "CRS"
>>>>>> 
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>Troquei os pacotes. É necessário o pacote plotGoogleMaps. Corrigindo:
>>>>>>
>>>>>>y <-
                              c(-43.565,-43.564,-43.563,-43.565,-43.564)  
>>>>>>
>>>>>>x <- c(-10.518,-10.466,-10.412,-10.516,-10.474)  
>>>>>>
>>>>>>
>>>>>>require(sp)
>>>>>>xy <- SpatialPoints(cbind(xy))
>>>>>>
>>>>>>
>>>>>>
>>>>>>require(plotGoogleMaps) 
>>>>>>plotGoogleMaps(xy)
>>>>>> 
>>>>>>Elias T. Krainski
>>>>>>
>>>>>> 
>>>>>
>>>>>
>>>>
>>>>
>>>>_______________________________________________
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.
>>>
>>>-- 
======================================================================
Alexandre dos Santos
Proteção Florestal
IFMT - Instituto Federal de Educação, Ciência e Tecnologia de Mato Grosso
Campus Cáceres
Avenida dos Ramires, s/n
Caixa Postal 744
Bairro: Distrito Industrial 
Cáceres - MT                      CEP: 78.200-000
Fone: (+55) 65 8132-8112 (TIM)   (+55) 65 9686-6970 (VIVO) e-mails:alexandresantosbr em yahoo.com.br alexandre.santos em cas.ifmt.edu.br ====================================================================== 
>>>_______________________________________________
>>>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.
>>>
>>>
>>_______________________________________________
>>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.
>>
>>
>>_______________________________________________
>>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.
>>
>>
>>_______________________________________________
>>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.
>>
>>
>_______________________________________________
>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/20120926/eb7b931f/attachment.html>


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