Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.
/ node-osmium Public archive

Fast and flexible Javascript library for working with OpenStreetMap data.

License

Notifications You must be signed in to change notification settings

osmcode/node-osmium

Repository files navigation

node-osmium

Flexible Javascript library for working with OpenStreetMap data.

Provides bindings to the libosmium C++ library.

Should you use node-osmium?

If you want top performance use libosmium directly in C++. These node-osmium bindings, due to the expense of passing objects from C++ to Javascript, are much slower than working in C++ directly. Consider node-osmium only for small extracts and prototyping. For large extracts or planet processing we recommend leveraging the libosmium C++ API instead of using node-osmium.

Is node-osmium actively developed?

No. This repository is archived an no further work will be done. You can still fork this repository and keep working on it, though.

Depends

  • Node.js v8.x, v10.x, v12.x, v14.x
  • Mocha (http://mochajs.org/, for tests)
  • Compiler that supports -std=c++11 (>= clang++ 3.6 || >= g++ 4.8)
  • libosmium >= 2.10.3 (Debian/Ubuntu: libosmium2-dev)
  • protozero >= 1.5.1 (Debian/Ubuntu: libprotozero-dev)
  • Utfcpp Only needed for libosmium version < 2.14.1, included in the libosmium repository and might or might not have been installed with it. See the libosmium README. (Debian/Ubuntu: libutfcpp-dev)
  • Boost >= 1.55 with development headers (Debian/Ubuntu: libboost-dev)
  • zlib (Debian/Ubuntu: zlib1g-dev)
  • expat Debian/Ubuntu: libexpat1-dev
  • sparsehash Debian/Ubuntu: libsparsehash-dev

If you have problems compiling, install the dependencies for libosmium first and make sure it works. Then you should be able to get node-osmium to compile.

Installing

By default, binaries are provided and no external dependencies or compile is needed.

Just do:

npm install osmium

We currently provide binaries for 64 bit OS X and 64 bit Linux. Running npm install on other platforms will fall back to a source compile (see Developing below for build details).

Usage

See the tutorial for an introduction. There are some demo applications in the 'demo' directory. See the README.md there. You can also have a look at the tests in the test directory.

Developing

If you wish to develop on node-osmium you can check out the code and then build like:

git clone https://github.com/osmcode/node-osmium.git
cd node-osmium
make

Use make debug to build with debug information. Use make coverage to build with code coverage.

Use make VERBOSE=1 to output compiler calls used etc.

Testing

npm install mocha
make test

License

node-osmium is available under the Boost Software License. See LICENSE.txt for details.

Contact

Please open bug reports on https://github.com/osmcode/node-osmium/issues. You can ask questions on the OSM developer mailing list or on OFTC net IRC channel #osm-dev.

Authors