WWW::MySociety::Gaze - An interface to MySociety.org's Gazetteer service
This document describes WWW::MySociety::Gaze version 0.02
MySociety.org Gaze is a REST based gazetteer service. You can find out more about it here:
WWW::MySociety::Gaze is a Perl wrapper around Gaze.
Create a new
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( '18.104.22.168' );
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;
Lookup a location in the gazetteer. Takes a number of key, value pairs as follows:
ISO country code of country in which to search for places
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 term input by the user; must be at least two characters long
Largest number of results to return, from 1 to 100 inclusive; optional; default 10
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 of the place described by this row
Blank, or the name of an administrative region in which this place lies (for instance, a county)
A reference to a (possibly empty) array of nearby placenames.
WGS-84 latitude of place in decimal degrees, north-positive
WGS-84 longitude of place in decimal degrees, east-positive
Blank, or containing state code for US
Match score for this place, from 0 to 100 inclusive
Given a latitude, longitude pair return an estimate of the population density at (lat, lon), in persons per square kilometer.
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:
WGS84 latitude, in decimal degrees
WGS84 longitude, in decimal degrees
number of persons
largest radius returned, in kilometers; optional; default 150
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 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 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 from the base place.
Latitude of the nearby place.
Longitude of the nearby place.
Country of the nearby place.
State of the nearby place (currently US only).
WWW::MySociety::Gaze requires no configuration files or environment variables.
No bugs have been reported.
Please report any bugs or feature requests to
firstname.lastname@example.org, or through the web interface at http://rt.cpan.org.
Copyright (c) 2008, Andy Armstrong
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.