JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 16
  • Score
    100M100P100Q54560F
  • License ISC

Functions for implementing the OSM API using osm-p2p-db.

Package Exports

  • osm-p2p-api

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (osm-p2p-api) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

osm-p2p-api

Functions for implementing the OSM API using osm-p2p-db.

This module sits between osm-p2p-db and osm-p2p-server. It provides the logic that turns the data from an osm-p2p-db into what the osm-p2p-server needs in order to satisfy the OSM API.

We (Digital Democracy) are also using it for things like GeoJSON exports in Mapeo.

Status

Work in Progress. API functions from osm-p2p-server will be moved over here incrementally as they are needed. Semver will be respected throughout the move.

Usage

var osmApi = require('osm-p2p-api')
var osmP2p = require('osm-p2p-mem')

var osm = osmP2p()
var api = osmApi(osm)

var node = {
  type: 'node',
  lat: 14,
  lon: -1
}

osm.create(node, function () {
  var bbox = [-180, -85, 180, 85]
  var stream = api.getMap(bbox, function (err, res) {
    console.log(res)
  })
})

outputs

[ { type: 'node',
    lat: 14,
    lon: -1,
    id: '14932367278207151409',
    version: '6b8042a175ba486961d3d11277c6a6e9c0f882da3036dcd1e68e96e3acc45a95' } ]

API

var osmApi = require('osm-p2p-api')

var api = osmApi(osm)

Constructs a new API object over the osm-p2p-db instance osm.

var stream = api.getMap(bbox[, opts][, cb])

Get all OSM documents in the bounding box bbox, which is of the form

var bbox = [minLon, minLat, maxLon, maxLat]

opts, if provided, accepts the following properties:

  • opts.forks (Boolean): whether to include forks of documents. Defaults to false.

The callback cb is also optional. If provided, results will be buffered and returned via cb. If no callback is given, the function returns a Readable stream stream.

Install

With npm installed, run

$ npm install osm-p2p-api

Acknowledgments

This module was born from a great idea by @gmaclennan!

License

ISC