[Chicago-talk] Geo-Data

Edward Summers ehs at pobox.com
Sun Oct 2 11:06:52 PDT 2005


I'm not sure if this will help much but you can get long/lat data  
from one of the geocoder.us web services. Here's a relatively simple  
program that uses their REST api to read in address and get the  
coordinates for them. I threw some Chicago sites in there to get  
started:

--

#!/usr/bin/perl

use RDF::Simple::Parser;
use URI::Escape;
use Data::Dumper;
use strict;
use warnings;

while ( my $site = <DATA> )
{
     chomp($site);
     my ($name,$address) = split/:/,$site;
     my @coords = geocode($address);
     next if ! @coords;
     print "$name => $coords[0] ; $coords[1]\n";
}

sub geocode
{
     my $addr = uri_escape(shift);
     eval
     {
         my @results = RDF::Simple::Parser
             ->new
             ->parse_uri( "http://rpc.geocoder.us/service/rest? 
address=$addr" );
         return ($results[2][2], $results[3][2]);
     };
}

__DATA__
Art Institute:847 W Jackson Blvd, Chicago IL
Hancock Observatory:875 N. Michigan Avenue, Chicago IL
Sears Tower SkyDeck:233 S. Wacker, Chicago IL
Lincoln Park Zoo:2200 N Cannon Dr Chicago IL
Chicago Mercantile Exchange:30 S. Wacker Drive Chicago IL

--

The output should look something like:

Art Institute => -87.648712 ; 41.878008
Hancock Observatory => -87.624301 ; 41.898793
Sears Tower SkyDeck => -87.636752 ; 41.879003
Lincoln Park Zoo => -87.632908 ; 41.922300
Chicago Mercantile Exchange => -87.636891 ; 41.881567



More information about the Chicago-talk mailing list