[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