[R-br] Recuperar coordenadas de locais de uma estrada a partir do Google Maps

Augusto Ribas ribas.aca em gmail.com
Segunda Setembro 17 17:52:57 BRT 2012


So arrumando o script, la em baixo é pra usar o data.frame dados.pos e não
claudia.coord, segue o script organizado

library(RgoogleMaps)

#dados de exemplo
especie<-paste("Especie",1:6)
km<-seq(11,67,by=1)

dados<-data.frame(Especie=NA,km=NA)
for(i in 1:20) {
  dados[i,1]<-sample(especie,1)
  dados[i,2]<-sample(km,1)
  }

head(dados)

#pontos de referencia
dados.pos<-structure(list(Lon = c(-40.3201206572012, -40.3247698942156,
-40.3934139596311,
-40.5105609306218, -40.5558289282114, -40.551610815962), Lat =
c(-20.3967530595136,
-20.4019278830141, -20.5432001637965, -20.6309481844606, -20.733489883797,
-20.7392078853725), Local = c("Inicio", "KM 12", "KM 30", "KM 49", "KM 66",
"Fim")), .Names = c("Lon", "Lat", "Local"), row.names = c(NA, -6L), class =
"data.frame")

dados.pos


#baixando um mapa
lat = dados.pos[c(1,6),2]
lon = dados.pos[c(1,6),1]
center = c(lat=mean(lat), lon=mean(lon))
zoom <- min(MaxZoom(range(lat), range(lon)))

MyMap <- GetMap(center=center,zoom=zoom,maptype ="roadmap")

#plot de exemplo
PlotOnStaticMap(MyMap)
TextOnStaticMap(MyMap,dados.pos[,2],dados.pos[,1],labels = dados.pos[,3])


Em 17 de setembro de 2012 16:47, Augusto Ribas <ribas.aca em gmail.com>escreveu:

> Ola a todos, estou devolta aqui.
> Estou com o seguinte problema. Olhando os dados de atropelamentos de
> varias especies de bixinhos ao longo de uma estrada, eu tenho os seguintes
> dados:
>
> > head(dados)
>     Especie km
> 1 Especie 5 27
> 2 Especie 3 32
> 3 Especie 3 64
> 4 Especie 4 40
> 5 Especie 1 51
> 6 Especie 6 57
>
> A especie que foi atropelada, e qual o km da estrada.
>
> Eu gostaria de fazer um gráfico espacial, de onde estão acontecendo esses
> atropelamentos.
> Os dados em questão são da Rodovia ES-060.
> Eu fui no google maps e encontrei ela. Ai peguei as coordenadas de alguns
> pontos e importei no R, por exemplo:
>
>         Lon       Lat           Local
> 1 -40.32012 -20.39675   Inicio
> 2 -40.32477 -20.40193  KM 12
> 3 -40.39341 -20.54320  KM 30
> 4 -40.51056 -20.63095  KM 49
> 5 -40.55583 -20.73349  KM 66
> 6 -40.55161 -20.73921    Fim
>
> Peguei esses valores assim, eu ia no google street view, ai olhava na
> estrada as plaquinha km 30, ai ia la e marcava um ponto. Olhava outra
> plaquinha e marcava outro ponto.
> Se você traçar uma rota do fim para o inicio, da pra ver a estrada inteira
> (se a rota for ao contrario, não da muito certo, ja que tem que voltar pra
> uma rotatória no trajeto.).
>
> Eu gostaria de saber se tem uma estrategia simples, usando essas
> informações de saber as coordenadas para cada km do 11 ao 67. Pra completar
> minha primeira planilha, dados, com coordenadas.
> Tipo importar a rota e marcar pontos usando estes de referencia, pra saber
> a coordenada do km 11, do km 12 e assim por diante.
> Dai eu veria num mapa onde estão os atropelamentos.
>
> Segue um exemplo dos dados e um plot do mapa da estrada.
>
> library(RgoogleMaps)
>
> #exemplo de dados
> especie<-paste("Especie",1:6)
> km<-seq(11,67,by=1)
>
> dados<-data.frame(Especie=NA,km=NA)
> for(i in 1:20) {
>   dados[i,1]<-sample(especie,1)
>   dados[i,2]<-sample(km,1)
>   }
>
> head(dados)
>
>
> #Locais no google maps em um data.frame
> dados.pos<-structure(list(Lon = c(-40.3201206572012, -40.3247698942156,
> -40.3934139596311,
> -40.5105609306218, -40.5558289282114, -40.551610815962), Lat =
> c(-20.3967530595136,
> -20.4019278830141, -20.5432001637965, -20.6309481844606, -20.733489883797,
> -20.7392078853725), Local = c("Inicio", "KM 12", "KM 30", "KM 49", "KM 66",
> "Fim")), .Names = c("Lon", "Lat", "Local"), row.names = c(NA, -6L), class
> = "data.frame")
>
> dados.pos
>
> #Baixando o maps
> lat = dados.pos[c(1,6),2]
> lon = dados.pos[c(1,6),1]
> center = c(lat=mean(lat), lon=mean(lon))
> zoom <- min(MaxZoom(range(lat), range(lon)))
>
> MyMap <- GetMap(center=center,zoom=zoom,maptype ="roadmap")
>
>
> #plot
> PlotOnStaticMap(MyMap)
>
> #pontos conhecidos
> TextOnStaticMap(MyMap,claudia.coord[,2],claudia.coord[,1],labels =
> claudia.coord[,3])
>
>
>
> Desde ja agradeço a atenção
> Abraços a todos
> --
> Grato
> Augusto C. A. Ribas
>
> Site Pessoal: http://augustoribas.heliohost.org
> Lattes: http://lattes.cnpq.br/7355685961127056
>
>


-- 
Grato
Augusto C. A. Ribas

Site Pessoal: http://augustoribas.heliohost.org
Lattes: http://lattes.cnpq.br/7355685961127056
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120917/e3a6489f/attachment.html>


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