[Rio-pm] Fwd: [Dicas-L] Google Maps e Perl para calculo de distancias

Marco A P D'Andrade mdacwb em gmail.com
Quinta Agosto 27 06:06:19 PDT 2009


fyi

---------- Forwarded message ----------
From: <Dicas-L-Owner em dicas-l.com.br>
Date: 2009/8/26
Subject: [Dicas-L] Google Maps e Perl para calculo de distancias
To:


------------------------------------------------------------------------------
:: Acompanhe a Dicas-L no twitter: http://www.twitter.com/dicasl ::
------------------------------------------------------------------------------
:.: JQuery - Aprenda na Prática :.:
Produzir um site utilizando-se de recursos tidos como
"modernos" não é complicado como parece!
http://www.temporealeventos.com.br/?area=132
---------------------------------------------------------------------------

 Google Maps e Perl para calculo de distancias
 =============================================

Colaboração: Marcos Roberto Silva

Data de Publicação: 26 de August de 2009

No dia 01/07 vi a dica do Airton Carrara sobre como calcular distâncias
entre cidades utilizando o Google Maps em Java.

Como alternativa à dica do Airton, segue abaixo script escrito em Perl que
faz a mesma coisa, só que do meu ponto de vista, um pouco mais simples :)


 #!/usr/bin/perl -w
 use strict;
 use DBI;
 use LWP::Simple;

 die "Uso: distancia.pl < municipio-uf> < municipio-uf>" if(scalar(@ARGV) !=
2);

 my $origem = $ARGV[0];
 my $destino= $ARGV[1];

 my $url = "
http://maps.google.com/maps?saddr=$origem&daddr=$destino&hl=en&z=1";
 my $page = get($url);
 my @dados = split(/,distance:"/, $page);
 my @dist  = split(/ km",/, $dados[1]);
 $dist[0] =~ s/,//g;
 print "Distancia de $origem a $destino = $dist[0] km\n";


Este script recebe como parâmetro a origem e o destino para o cálculo da
distância.

Por exemplo, para calcular a distancia entre Bauru-SP e Brasilia-DF, temos:


 ~$./distancia.pl Bauru-SP Brasilia-DF
 Distancia de Bauru-SP a Brasilia-DF = 933 km

Se o nome da cidade contiver espaços, basta colocá-lo entre aspas:


 ~$./distancia.pl Bauru-SP "Rio de Janeiro-RJ"
 Distancia de Bauru-SP a Rio de Janeiro-RJ = 763 km

Com um pequeno esforço de programação, consegui automatizar a criação de
uma tabela de distância entre 55 municípios partindo do script acima, com
conexão a banco de dados, etc...

       Marcos Roberto Silva (marcos.roberto.silva em uol.com.br)
--------------------------------------------------------------------
SEM e SEO - Dominando o Marketing de Busca
http://www.novatec.com.br/livros/semeseo/
Livros da Editora Novatec com desconto para assinantes da Dicas-L
Código da promoção: DICAS-L
Desconto: 20%
Validade: 31/12/2009
------------------------------------------------------------------------
Colabore com a Dicas-L. Publique seu comentário sobre esta mensagem
em http://www.Dicas-L.com.br/dicas-l/20090826.php
--------------------------------------------------------------------
Veja também do arquivo da Dicas-L:

"Sofrimento em Frente ao Monitor"
http://www.dicas-l.com.br/dicas-l/20000828.php

"Lotus SmartSuite 97"
http://www.dicas-l.com.br/dicas-l/20000121.php

"Inscrição de Sites em Mecanismos de Busca"
http://www.dicas-l.com.br/dicas-l/20000505.php

"Desenvolvedores ganham especificação para Linux"
http://www.dicas-l.com.br/dicas-l/20010925.php

"Cameras Digitais e Linux"
http://www.dicas-l.com.br/dicas-l/20020306.php

------------------------------------------------------------------------
A Dicas-L tem o apoio da Locaweb (http://www.locaweb.com.br)
-------------------------------------------------------------------------
Descadastramento: http://www.dicas-l.com.br/descadastramento.php
-------------------------------------------------------------------------

As mensagens da lista Dicas-L são veiculadas diariamente
para 29517 assinantes.

      Todas as mensagens da Dicas-L ficam armazenadas em
              http://www.Dicas-L.com.br/dicas-l/

A redistribuição desta e outras mensagens da lista Dicas-L pode
ser feita livremente segundo a licença Creative Commons
http://creativecommons.org/licenses/by-nc-sa/2.0/br/deed.pt

/ Dicas-L: Uma dica por dia desde 3 de \ março de 1997
 /
 --------------------------------------
       \   ^__^
        \  (oo)\_______
           (__)\       )\/                ||----w |
               ||     ||
-------------------------------------------------------------------------
Newsfeed RSS: http://www.dicas-l.com.br/index.xml
-------------------------------------------------------------------------
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20090827/d332cecb/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm