[R-br] [OT] Distancias entre municipios

Lucas Barbosa lucasbcr em gmail.com
Sexta Novembro 4 12:20:56 BRST 2011


Bom dia pessoal,
Tá aí uma ideia usando o google maps. Parece estar funcionando bem, mas
ainda não testei direito. Notem que eu escolhi usar sempre a primeira rota
que o gmaps sugere (a mais rápida e não a mais curta.)
Cada execução leva quase 1 s então deve demorar uma eternidade pra todos os
municípios. E pra piorar eu só consegui rodar essa função usando um núcleo,
parece não ser possível executar a readLines com mais de um ao mesmo tempo
(talvez o problema seja com o *snow*.)
Eu não sei usar muito bem esses *encodings* então não reparem nessa parte,
foi tentativa e erro mesmo.

#código:
distancia <- function(cidade1, uf1, cidade2, uf2){
    link <- paste( "http://maps.google.com/maps?saddr=",  cidade1,  "+-+",
uf1,  ",+Brasil&daddr=",  cidade2,  "+-+",  uf2,
",+Brasil&hl=pt-BR&ie=UTF8",  sep="")
    link <- iconv(link, 'latin1', 'UTF-8')
    Encoding(link) <- 'bytes'

    pagina <- readLines(url(link))

    linha <- grep('<div class="altroute-rcol altroute-info"> <span>',
pagina)
    distancia <- pagina[linha]
    distancia <- strsplit(distancia, '<div class="altroute-rcol
altroute-info"> <span>')[[1]][2]
    distancia <- strsplit(distancia, '</span>')[[1]][1]
    return(list(distancia = distancia, link=link))
}

distancia("Brasília", "DF", "Pirenópolis", "GO")
distancia("Brasília", "DF", "Goiânia", "GO")
distancia("Brasília", "DF", "Natal", "RN")
distancia("Brasília", "DF", "Florianópolis", "SC")
distancia("Brasília", "DF", "Porto Alegre", "RS")

Em 4 de novembro de 2011 00:31, Mario Azevedo <mario.azevedo em gmail.com>escreveu:

> A matriz será muito grande 5566 x 5566 = 30980356 elementos. Se cada
> elemento for um número real, ele consumirá, no mínimo, 4 bytes de memória,
> totalizando algo perto de 118 Mbytes. Não sei quais são os limites, mas me
> parece que deve ficar difícil tratar de um "bicho" desse tamanho.
>
> sds.
>
>
> 2011/11/3 Mario Azevedo <mario.azevedo em gmail.com>
>
>> Sim. O programa irá calcular essa matriz de distâncias e você pode
>> estabelecer a unidade de medida.
>>
>> Lembrando que você deve tomar cuidado porque, talvez, o que lhe interesse
>> seja o centróide da área da sede do município e não da da área total. Para
>> alguns municípios a diferença pode ser grande.
>>
>> 2011/11/3 Pedro Rafael <pedro.rafael.marinho em gmail.com>
>>
>>>  Existe alguma forma de converter essa distância euclidiana entre
>>> centroides de municípios em cm, m, km?
>>>
>>> Em 2 de novembro de 2011 22:47, Mario Azevedo [via R-br] <
>>> ml-node+s2285057n3984003h70 em n4.nabble.com> escreveu:
>>>
>>>> Realmente, para uma área tão grande, me parece melhor usar distâncias
>>>> euclidianas. Calcular as distâncias por vias terrestres entre cada par de
>>>> municípios é uma tarefa que demandaria um trabalho gigantesco, pois não
>>>> existem bases com essas informações (completas). Dependendo do tipo do
>>>> problema em estudo, é uma informação que não faz muito sentido. Eu posso
>>>> ter um trecho de via de 20 km que consigo percorrer em 10 minutos (a 120
>>>> km/h) e posso ter outro com a mesma extensão, mas com condições ruins de
>>>> pavimentação ou de topografia, na qual levarei muito mais tempo.
>>>>
>>>> Só completando um pouco as opiniões de alguns.
>>>>
>>>> Saudações.
>>>>
>>>> Mário
>>>>
>>>>
>>>> 2011/11/2 Ricardo Tavares <[hidden email]<http://user/SendEmail.jtp?type=node&node=3984003&i=0>
>>>> >
>>>>
>>>>> Oi Leandro e demais colegas,
>>>>>
>>>>> A base shape é disponibilizada pelo IBGE no seguinte link:
>>>>>
>>>>>
>>>>> ftp://geoftp.ibge.gov.br/mapas/malhas_digitais/municipio_2007/Malha_Municipal_Digital_2007_2500/Disseminacao_2007/Proj_Geografica/SIRGAS2000/ArcView_Shp/2007/E2500/Brasil/
>>>>>
>>>>> Um abraço e até mais,
>>>>> Ricardo.
>>>>>
>>>>> Em 1 de novembro de 2011 15:55, Leandro Marino <[hidden email]<http://user/SendEmail.jtp?type=node&node=3984003&i=1>
>>>>> > escreveu:
>>>>>
>>>>>> Caros,****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> Por acaso alguém sabe me dizer se existe em algum local uma tabela /
>>>>>> matriz de distancias entre TODOS os municípios brasileiros?****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> Estava precisando deste tipo de dado.****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> Atenciosamente,
>>>>>> *Leandro Lins Marino**
>>>>>> **Centro de Avaliação
>>>>>> Fundação CESGRANRIO
>>>>>> Rua Santa Alexandrina, 1011 - 2º andar
>>>>>> Rio de Janeiro, RJ - CEP: 20261-903
>>>>>> *
>>>>>> *(** **<a href="tel:%2821%29%202103-9600" value="+552121039600"
>>>>>> target="_blank">(21) 2103-9600 R.:236
>>>>>> ***** [hidden email]<http://user/SendEmail.jtp?type=node&node=3984003&i=2>
>>>>>> *
>>>>>>
>>>>>>  ** **
>>>>>>
>>>>>> P*  **Antes de imprimir* *pense em sua responsabilidade e
>>>>>> compromisso com o* *MEIO AMBIENTE* ****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> Esta mensagem, incluindo seus anexos, pode conter informacoes
>>>>>> privilegiadas e/ou de carater confidencial, nao podendo ser retransmitida
>>>>>> sem autorizacao do remetente. Se voce nao e o destinatario ou pessoa
>>>>>> autorizada a recebe-la, informamos que o seu uso, divulgacao, copia ou
>>>>>> arquivamento sao proibidos. ****
>>>>>>
>>>>>> Portanto, se você recebeu esta mensagem por engano, por favor, nos
>>>>>> informe respondendo imediatamente a este e-mail e em seguida apague-a.
>>>>>> ****
>>>>>>
>>>>>> ** **
>>>>>>
>>>>>> _______________________________________________
>>>>>> R-br mailing list
>>>>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=3984003&i=3>
>>>>>>
>>>>>> 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.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Professor Adjunto - área Estatística
>>>>> Departamento de Matemática
>>>>> Universidade Federal de Ouro Preto
>>>>>
>>>>> _______________________________________________
>>>>> R-br mailing list
>>>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=3984003&i=4>
>>>>>
>>>>> 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
>>>> [hidden email] <http://user/SendEmail.jtp?type=node&node=3984003&i=5>
>>>> 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.
>>>>
>>>> ------------------------------
>>>>  If you reply to this email, your message will be added to the
>>>> discussion below:
>>>>
>>>> http://r-br.2285057.n4.nabble.com/R-br-OT-Distancias-entre-municipios-tp3964600p3984003.html
>>>>  To unsubscribe from R-br, click here<http://r-br.2285057.n4.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3357982&code=cGVkcm8ucmFmYWVsLm1hcmluaG9AZ21haWwuY29tfDMzNTc5ODJ8NTAyMjI0MDYw>.
>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Saudações,
>>> Pedro Rafael Diniz Marinho.
>>> Estatístico - Secretaria de Estado da Saúde - PB.
>>>
>>>
>>>
>>> _______________________________________________
>>> 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/20111104/12089bb0/attachment.html>


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