Geo::Coder::Free
Provides a geocoding functionality using free databases of towns
VERSION
Version 0.05
SYNOPSIS
use Geo::Coder::Free;
my $geocoder = Geo::Coder::Free->new();
my $location = $geocoder->geocode(location => 'Ramsgate, Kent, UK');
DESCRIPTION
Geo::Coder::Free provides an interface to free databases.
Refer to the source URL for licencing information for these files cities.csv is from https://www.maxmind.com/en/free-world-cities-database admin1.db is from http://download.geonames.org/export/dump/admin1CodesASCII.txt admin2.db is from http://download.geonames.org/export/dump/admin2Codes.txt
See also http://download.geonames.org/export/dump/allCountries.zip
To significantly speed this up, gunzip cities.csv and run it through the db2sql script to create an SQLite file.
METHODS
new
$geocoder = Geo::Coder::Free->new();
geocode
$location = $geocoder->geocode(location => $location);
print 'Latitude: ', $location->{'latt'}, "\n";
print 'Longitude: ', $location->{'longt'}, "\n";
# TODO:
# @locations = $geocoder->geocode('Portland, USA');
# diag 'There are Portlands in ', join (', ', map { $_->{'state'} } @locations);
reverse_geocode
$location = $geocoder->reverse_geocode(latlng => '37.778907,-122.39732');
To be done.
ua
Does nothing, here for compatibility with other geocoders
AUTHOR
Nigel Horne njh@bandsman.co.uk
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
BUGS
Lots of lookups fail at the moment.
SEE ALSO
VWF, Maxmind and geonames.
LICENSE AND COPYRIGHT
Copyright 2017-2018 Nigel Horne.
The program code is released under the following licence: GPL for personal use on a single computer. All other users (including Commercial, Charity, Educational, Government) must apply in writing for a licence for use from Nigel Horne at `<njh at nigelhorne.com>`.