‚̧Novices Performing Miracles
    Wondering what‚Äôs next for npm?Check out our public roadmap! ¬Ľ

    openstreetmap-stream

    0.1.0¬†‚Äʬ†Public¬†‚Äʬ†Published

    Installation

    $ npm install openstreetmap-stream

    NPM

    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

    Usage

    You can extract the openstreetmap data from a file stream:

    var osm = require('openstreetmap-stream');
     
    // wget https://s3.amazonaws.com/metro-extracts.mapzen.com/auckland_new-zealand.osm.pbf
    osm.createReadStream( 'auckland.osm.pbf' )
      .pipe( osm.stringify )
      .pipe( process.stdout );

    Roll your own

    The easiest way to get started writing your own pipes is to use through2; just make sure you call next().

    var osm = require('openstreetmap-stream'),
        through = require('through2');
     
    // wget https://s3.amazonaws.com/metro-extracts.mapzen.com/auckland_new-zealand.osm.pbf
    osm.createReadStream( 'auckland.osm.pbf' )
      .pipe( through.obj( function( data, enc, next ){
        console.log( data.type, data.id, data.lat, data.lon );
        next();
      }));
    node 241968426 -16.8675316 178.8918084
    node 241968427 -16.8680169 178.8950226
    node 241968428 -16.8682792 178.8944902
    node 241968430 -16.8678736 178.8966257

    Schema

    Nodes:

    {
      "type": "node",
      "id": "241956126",
      "lat": -16.2484711,
      "lon": 179.5422587,
      "tags": {
        "created_by": "JOSM"
      },
      "info": {
        "version": 2,
        "timestamp": 1204332911000,
        "changeset": 237950,
        "uid": "8834",
        "user": "Jocelyn"
      }
    }

    Ways:

    {
      "type": "way",
      "id": "22572593",
      "tags": {
        "source": "PGS",
        "natural": "coastline",
        "created_by": "JOSM"
      },
      "info": {
        "version": 1,
        "timestamp": 1201026717000,
        "changeset": 680785,
        "uid": "10927",
        "user": "Skywave"
      },
      "refs": [
        "241979960",
        "241979970",
        "241979971",
        "241979972",
        "241979973",
        "241979959",
        "241979960"
      ]
    }

    Advanced Usage

    You can extract the openstreetmap data from an existing file stream:

    var osm = require('openstreetmap-stream'),
        fs = require('fs');
     
    fs.createReadStream( './auckland_new-zealand.osm.pbf' )
      .pipe( osm.parser() )
      .pipe( osm.stringify )
      .pipe( process.stdout );

    You can also extract the data from stdin using a unix pipe:

    var osm = require('openstreetmap-stream');
     
    process.stdin
      .pipe( osm.parser() )
      .pipe( osm.stringify )
      .pipe( process.stdout );
    #!/bin/bash 
    cat auckland_new-zealand.osm.pbf | node stdin.js;

    NPM Module

    The openstreetmap-stream npm module can be found here:

    https://npmjs.org/package/openstreetmap-stream

    Contributing

    Please fork and pull request against upstream master on a feature branch.

    Pretty please; provide unit tests and script fixtures in the test directory.

    Running Unit Tests

    $ npm test

    Continuous Integration

    Travis tests every release against node version 0.10

    Build Status

    Install

    npm i openstreetmap-stream

    DownloadsWeekly Downloads

    25

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar