node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


WorldPop Data Extractor

Build Status

Compute the population within a given polygon using the high resolution WorldPop population dataset. Go to and draw some polygons.


The WorldPop Data Explorer is a web tool (and underlying Node module) designed to enable useful compuation and analysis using the WorldPop dataset. It makes heavy use of, among other things, Mapbox Vector Tiles, and Turf to enable efficient storage, access to, and computation over the otherwise prohibitively large WorldPop dataset.

NOTE: This tool is currently in an early beta stage, and is under very active development. At present, the web app only supports Chrome, and only a few countries' data is available.

Bug reports, suggestions, and pull requests are very welcome!

Related Repositories:

  • worldpop-data: the data processing pipeline, taking WorldPop GeoTIFFs and producing Mapbox Vector Tiles.
  • worldpop-basemap.tm2: the Mapbox Studio project for the web app's base map.

Node API

var worldpop = require('worldpop')
  source: 'tilejson+http://...',
  polygon: { /* geojson */ },
  density: function (feat) { /* returns density */ },
}, function done (err, result) {

Read the API docs.


Clone the repo, then:

cd worldpop
npm install
npm run-script develop

This starts a budo dev server that watches for changes; open http://localhost:9966.

Run tool/ to build the project into the dist/ directory.

The project build uses browserify to bundle javascript and PostCSS/cssnext for styles. Entry points:

  • index.js - main node module (e.g., the actual bean-counting logic)
  • app.js - the web app
  • css/styles.css - the main styles file. It gets bundled with the javascript and included into the page via app.js