fences-builder
This module extracts administrative boundary polygons from openstreetmap data files.
It's currently using node-osmium to do most of the work, and simply filtering
the generated polygons using tags.
Note: you will need node
and npm
installed first.
The easiest way to install node.js
is with nave.sh by executing [sudo] ./nave.sh usemain stable
Installation
$ npm install fences-builder
Usage
standalone utility
This utility needs the following parameters.
Parameter | Description |
---|
inputFile | Path to input file. Must be a valid OSM data file (pbf, osm, etc.) |
outputDir | Path to an existing directory that will contain output files for each admin_level. |
$ fences-builder --inputFile=<file> --outputDir=<dir>
dependency module
var FencesBuilder = require('fences-builder');
var builder = new FencesBuilder(inputFile, outputDir);
builder.start(function (err, results) {
if (err) {
console.error(colors.red('[Error]:'), err.message);
}
else {
console.log(colors.blue('[Results]:'), results);
}
});
Known Issues
- Osmium parser has been separated into a child process because it doesn't respect node's event loop.
- Cannot run with full planet file as input. Process runs out of memory.
It is recommended that the planet data is pre-filtered
using osmfilter or some other similar utility.
Running Tests
$ npm test
Note: the tests don't attempt to verify osmium functionality, we trust that things are working as expected there.
Continuous Integration