Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/osmcode/node-osmium
Fast and flexible Javascript library for working with OpenStreetMap data.
https://github.com/osmcode/node-osmium
javascript openstreetmap
Last synced: 3 months ago
JSON representation
Fast and flexible Javascript library for working with OpenStreetMap data.
- Host: GitHub
- URL: https://github.com/osmcode/node-osmium
- Owner: osmcode
- License: bsl-1.0
- Archived: true
- Created: 2013-12-09T17:13:19.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-06-10T08:30:17.000Z (7 months ago)
- Last Synced: 2024-08-01T17:30:46.499Z (5 months ago)
- Topics: javascript, openstreetmap
- Language: C++
- Homepage: https://osmcode.org/node-osmium/
- Size: 596 KB
- Stars: 139
- Watchers: 7
- Forks: 28
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# node-osmium
Flexible Javascript library for working with OpenStreetMap data.
Provides bindings to the [libosmium](https://github.com/osmcode/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](https://github.com/osmcode/libosmium)
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](https://github.com/osmcode/libosmium) >= 2.10.3
(Debian/Ubuntu: libosmium2-dev)
- [protozero](https://github.com/mapbox/protozero) >= 1.5.1
(Debian/Ubuntu: libprotozero-dev)
- [Utfcpp](http://utfcpp.sourceforge.net/)
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](http://www.boost.org/) >= 1.55 with development headers
(Debian/Ubuntu: libboost-dev)
- [zlib](http://www.zlib.net/)
(Debian/Ubuntu: zlib1g-dev)
- [expat](http://expat.sourceforge.net/)
Debian/Ubuntu: libexpat1-dev
- [sparsehash](https://github.com/sparsehash/sparsehash)
Debian/Ubuntu: libsparsehash-devIf 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:
```shell
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](doc/tutorial.md) for an introduction. There are some demo
applications in the 'demo' directory. See the [README.md](demo/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:```shell
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](https://lists.openstreetmap.org/listinfo/dev)
or on [OFTC net IRC channel #osm-dev](https://wiki.openstreetmap.org/wiki/Irc).## Authors
- Dane Springmeyer ([email protected])
- Jochen Topf ([email protected])