Why not adopt me?
NAME
WWW::MySociety::Gaze - An interface to MySociety.org's Gazetteer service
VERSION
This document describes WWW::MySociety::Gaze version 0.02
SYNOPSIS
use WWW::MySociety::Gaze;
DESCRIPTION
MySociety.org Gaze is a REST based gazetteer service. You can find out more about it here:
http://www.mysociety.org/2005/09/15/gaze-web-service/
WWW::MySociety::Gaze is a Perl wrapper around Gaze.
INTERFACE
new
Create a new WWW::MySociety::Gaze.
get_country_from_ip( $ip )
Guess the country of location of a host from its dotted quad IP address. Returns an ISO country code or undef if the country code is unknown.
my $gaze = WWW::MySociety::Gaze->new;
my $country = $gaze->get_country_from_ip( '82.152.157.85' );
get_find_places_countries
Return the list of countries for which find_places has a gazetteer available.
Takes no arguments, returns a list of ISO country codes.
my $gaze = WWW::MySociety::Gaze->new;
my @countries = $gaze->get_find_places_countries;
find_places
Lookup a location in the gazetteer. Takes a number of key, value pairs as follows:
Parameters
country- 
ISO country code of country in which to search for places
 state- 
State in which to search for places; presently this is only meaningful for country=US (United States), in which case it should be a conventional two-letter state code (AZ, CA, NY etc.); optional
 query- 
Query term input by the user; must be at least two characters long
 maxresults- 
Largest number of results to return, from 1 to 100 inclusive; optional; default 10
 minscore- 
Minimum match score of returned results, from 1 to 100 inclusive; optional; default 0
 
Returns a list of hash references. Each hash has the following fields:
Name- 
Name of the place described by this row
 In- 
Blank, or the name of an administrative region in which this place lies (for instance, a county)
 Near- 
A reference to a (possibly empty) array of nearby placenames.
 Latitude- 
WGS-84 latitude of place in decimal degrees, north-positive
 Longitude- 
WGS-84 longitude of place in decimal degrees, east-positive
 State- 
Blank, or containing state code for US
 Score- 
Match score for this place, from 0 to 100 inclusive
 
get_population_density( $lat, $lon )
Given a latitude, longitude pair return an estimate of the population density at (lat, lon), in persons per square kilometer.
get_radius_containing_population
Return an estimate of the smallest radius around (lat, lon) containing at least number persons, or maximum, if that value is smaller. Takes key value parameters:
lat- 
WGS84 latitude, in decimal degrees
 lon- 
WGS84 longitude, in decimal degrees
 number- 
number of persons
 maximum- 
largest radius returned, in kilometers; optional; default 150
 
get_country_bounding_coords
Get the bounding box of a country given its ISO country code. Returns a four element list containing max_lat, min_lat, max_lon, min_lon.
my @bb = $gaze->get_country_bounding_coords( 'GB' );
get_places_near
Get a list of places near a specific location. Takes a list of name, value pairs like this:
lat- 
WGS84 latitude, in north-positive decimal degrees
 lon- 
WGS84 longitude, in east-positive decimal degrees
 distance- 
distance in kilometres
 number- 
number of persons to calculate circle radius
 maximum- 
maximum radius to return (default 150km)
 country- 
ISO country code of country to limit results to (optional)
 
Returns a list of hash references like this:
Name- 
Name of the nearby place.
 Distance- 
Distance from the base place.
 Latitude- 
Latitude of the nearby place.
 Longitude- 
Longitude of the nearby place.
 Country- 
Country of the nearby place.
 State- 
State of the nearby place (currently US only).
 
CONFIGURATION AND ENVIRONMENT
WWW::MySociety::Gaze requires no configuration files or environment variables.
DEPENDENCIES
None.
INCOMPATIBILITIES
None reported.
BUGS AND LIMITATIONS
No bugs have been reported.
Please report any bugs or feature requests to bug-www-mysociety-gaze@rt.cpan.org, or through the web interface at http://rt.cpan.org.
AUTHOR
Andy Armstrong <andy@hexten.net>
LICENCE AND COPYRIGHT
Copyright (c) 2008, Andy Armstrong <andy@hexten.net>.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.