Skip to content

Fast and flexible C++ library for working with OpenStreetMap data.

License

Notifications You must be signed in to change notification settings

osmcode/libosmium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f880487 · Jun 9, 2024
Jun 9, 2024
Dec 11, 2022
Nov 5, 2021
Jun 14, 2018
Mar 6, 2024
Dec 3, 2023
Dec 3, 2023
Jun 19, 2023
May 4, 2017
Apr 20, 2020
Mar 1, 2018
Sep 20, 2023
Sep 20, 2023
Jan 29, 2018
Nov 3, 2017
Jun 20, 2023
Jan 19, 2023
Aug 5, 2022
Feb 7, 2018
Jan 4, 2023
Aug 28, 2017

Repository files navigation

Libosmium

https://osmcode.org/libosmium

A fast and flexible C++ library for working with OpenStreetMap data.

Libosmium works on Linux, macOS and Windows.

Github Build Status Packaging status

Please see the Libosmium manual for more details than this README can provide.

Prerequisites

You need a C++11 compiler and standard C++ library. Osmium needs at least GCC 4.8 or clang (LLVM) 3.4. (Some parts may work with older versions.)

Different parts of Libosmium (and the applications built on top of it) need different libraries. You DO NOT NEED to install all of them, just install those you need for your programs.

For details see the list of dependencies in the manual.

The following external (header-only) libraries are included in the libosmium repository:

Note that protozero was included in earlier versions of libosmium, but isn't any more.

Directories

  • benchmarks: Some benchmarks checking different parts of Libosmium.

  • cmake: CMake configuration scripts.

  • doc: Config for API reference documentation.

  • examples: Osmium example applications.

  • include: C/C++ include files. All of Libosmium is in those header files which are needed for building Osmium applications.

  • test: Tests (see below).

Building

Osmium is a header-only library, so there is nothing to build for the library itself.

But there are some tests and examples that can be build. Libosmium uses cmake:

mkdir build
cd build
cmake ..
make

This will build the examples and tests. Call ctest to run the tests.

For more details see the Building Libosmium chapter in the manual.

Testing

To download the osm-testdata submodule call:

git submodule update --init

This will enable additional tests.

See the Libosmium Manual for instructions.

License

Libosmium is available under the Boost Software License. See LICENSE.

Authors

Libosmium was mainly written and is maintained by Jochen Topf (jochen@topf.org). See the git commit log for other authors.