[R-br] Obter coordenadas a partir de endereço
Fabrício Tavares
fabriciotavareso em gmail.com
Sábado Agosto 6 14:10:00 BRT 2011
Thiago,
Escrevi uma função, não muito elegante (não genérica), que faz isso que você
quer, mas sem precisar usar o CEP.
entre com um data frame e a indicação da coluna onde está o endereço
completo. e.g.:
> library(RCurl)
> library(RJSONIO)
> dataframeAddress
address
1 Rua Fulano de tal, 123, Nome da Cidade
2 Rua Ciclano, 312, Nome da Cidade
> latlng(dataframeAddress, 1) # Nome do data frame e a coluna onde está o endereço
address lat lng
1 Rua Fulano de tal, 123, Nome da Cidade 10.00000 -100.00000
2 Rua Ciclano, 312, Nome da Cidade -10.00000 10.00000
#-
# Funcão
#------------------
latlng <- function(address, column) {
readyAddress <- data.frame(formatted=c(gsub(' ', '+', address[, column])))
prePart <- "http://maps.google.com/maps/api/geocode/json?address="
posPart <- "&sensor=true"
request <- paste(prePart, readyAddress$formatted, posPart, sep="")
json <- character(length(request))
store <- data.frame(lat=numeric(length(request)),
lng=numeric(length(request)))
for (i in 1:length(request)) {
json[i] <- getURL(url=request[i])
temp <- fromJSON(json[i])
latLng <- temp$results[[1]]$geometry$location
store[i, ] <- latLng
}
result <- cbind(address[, column], store)
colnames(result) <- c("address", "lat", "lng")
result
}
---
Espero que seja útil.
Abs,
Fabrício.
http://vizzual.net
Em 6 de agosto de 2011 04:31, Mauro Sznelwar <sznelwar em uol.com.br> escreveu:
> **
> Tem razão em parte, em cetas ocasiões dá em Lima no Perú, e outras em
> Goiânia. Deve ter alguma limitação de uso esta rotina
>
> Coloquei o CEP de duas ruas conhecidas, ex: 83005150 e funcionou
> perfeitamente.
>
> Se colocar o CEP com o traço, 83005-150 vai parar em Lima no Perú,
> hehehehe.
>
> Daniel
>
> Rodei este script, e deu em Juíz de Fora, MG. Rodei o meu cep 01423001,
> em São Paulo-SP deu em Lima no Perú. Quero saber se existe algum jeito de
> entrar ou está furado o programa..
>
>
> _______________________________________________
> 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/20110806/310180f1/attachment.html>
Mais detalhes sobre a lista de discussão R-br