WWW::MySociety::Gaze - An interface to MySociety.org's Gazetteer service
This document describes WWW::MySociety::Gaze version 0.02
use WWW::MySociety::Gaze;
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.
WWW::MySociety::Gaze
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.
undef
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.
find_places
Takes no arguments, returns a list of ISO country codes.
my $gaze = WWW::MySociety::Gaze->new; my @countries = $gaze->get_find_places_countries;
Lookup a location in the gazetteer. Takes a number of key, value pairs as follows:
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:
WGS84 latitude, in north-positive decimal degrees
WGS84 longitude, in east-positive decimal degrees
distance
distance in kilometres
number of persons to calculate circle radius
maximum radius to return (default 150km)
ISO country code of country to limit results to (optional)
Returns a list of hash references like this:
Name of the nearby place.
Distance
Distance from the base place.
Latitude of the nearby place.
Longitude of the nearby place.
Country
Country of the nearby place.
State of the nearby place (currently US only).
WWW::MySociety::Gaze requires no configuration files or environment variables.
None.
None reported.
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.
bug-www-mysociety-gaze@rt.cpan.org
Andy Armstrong <andy@hexten.net>
<andy@hexten.net>
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.
To install WWW::MySociety::Gaze, copy and paste the appropriate command in to your terminal.
cpanm
cpanm WWW::MySociety::Gaze
CPAN shell
perl -MCPAN -e shell install WWW::MySociety::Gaze
For more information on module installation, please visit the detailed CPAN module installation guide.