SkillAgentSearch skills...

Gaze

The mySociety Gazetteer web service

Install / Use

/learn @mysociety/Gaze
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Gaze is a web service that can do the following:

  • Find the population density at a particular point (using GPW data)
  • Return the radius of a circle around a point containing a number of people
  • Find placenames around a point, limited to population or distance.
  • Perform a placename geocoding of a search query (using USGS and GEOnet Names data)
  • Return the ISO country code for an IP address

It is used on e.g. FixMyStreet to work out how wide to search to show reports for a particular map, or on PledgeBank for local search.

Installation

$ git clone git://github.com/mysociety/gaze.git $ mkdir gaze-data $ cd gaze $ cp conf/general-example conf/general

Edit the conf/general file to have the database connection parameters, and the location of two directories to store the Xapian and GPW data.

Set up a PostgreSQL database called gaze.

Fetch the single compressed zip that contains the entire country files dataset from http://earth-info.nga.mil/gns/html/namefiles.htm and unzip it in the gaze-data directory. For the US, fetch and unzip the Populated Places dataset from http://geonames.usgs.gov/ in the same place.

Then run the following (replacing the input filenames with whatever you've just downloaded):

$ psql gaze gaze < db/schema.sql $ cd ../gaze-data $ ../gaze/bin/usgs-geonames-parse < P_PLACES_20111204.txt $ ../gaze/bin/xapian-index US $ ../gaze/bin/geonames-split < geonames_dd_dms_date_20111212.txt $ ../gaze/bin/load-all

This will set up all the place name related stuff. TODO: Document gpw-parse beyond the comments in it - converting Gridded Population of the World data into the format Gaze uses.

View on GitHub
GitHub Stars7
CategoryDevelopment
Updated3y ago
Forks13

Languages

Perl

Security Score

55/100

Audited on Feb 9, 2023

No findings