Recentemente foi postado na lista uma solução para a obtenção de lat long a partir de um cep:<br><br>require(XML)<br><br>coordenadas<- function(cep) {<br> url_lat_lon <- paste(sprintf("<a href="http://maps.google.com/maps/api/geocode/xml?address=%s,">http://maps.google.com/maps/api/geocode/xml?address=%s,</a>", cep),"%20Brasil&sensor=false", sep="")<br>
 lat_lon=xmlApply(xmlRoot(xmlTreeParse( readLines(url_lat_lon)))[['result']][['geometry']][['location']], "[[", 1)<br> return(lat_lon)<br> }<br><br>cep=40110010<br>coordenadas(cep)<br clear="all">
<br>> coordenadas(cep)<br>$lat<br>-12.9896162<br><br>$lng<br>-38.4922117<br><br>Ficou excelente. Mas fiquei imaginando se ao invés de apenas 1 cep eu tivesse uma série, por exemplo:<br><br>ceps <- c(40110010,01317000,17120000)<br>
<br>Como modificaria a função acima rotina para ter algo do tipo (em um data frame), sem precisar rodar 1 a 1 cada cep:<br><br>cep             lat        long<br>40110010  -12.98    -38.49<br>01317000  -25.29    -57.62<br>
17120000  -22.52    -49.13<br><br>Valeu<br>-- <br>Mauricio Cardeal<br>UFBA<br><br>