Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
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.