Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. OpenStreetMap
  3. libosmium

libosmium

BSL-1.0C++v2.23.1

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

Visit WebsiteGitHubGitHub
547 stars133 forks0 contributors

What is libosmium?

Libosmium is a C++ library for working with OpenStreetMap data, providing tools to read, write, and manipulate OSM files and data structures. It solves the problem of efficiently processing large geospatial datasets from OpenStreetMap, enabling developers to build custom applications that leverage OSM data.

Target Audience

C++ developers working with OpenStreetMap data, such as those building GIS applications, map rendering tools, or data analysis pipelines that require efficient OSM data handling.

Value Proposition

Developers choose Libosmium for its header-only design, which simplifies integration, and its focus on performance and flexibility when processing OpenStreetMap data, making it a reliable foundation for OSM-based projects.

Overview

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

Use Cases

Best For

  • Processing large OpenStreetMap datasets efficiently
  • Building custom tools for OSM data analysis
  • Creating applications that read and write OSM file formats
  • Developing GIS software that integrates OpenStreetMap data
  • Implementing geospatial data pipelines in C++
  • Working with OSM data on cross-platform systems (Linux, macOS, Windows)

Not Ideal For

  • Projects targeting 32-bit systems or embedded devices with limited memory
  • Rapid prototyping or simple OSM data tasks where Python libraries like osmium-py offer quicker development
  • Web-based applications requiring server-side OSM processing without native code integration
  • Teams without strong C++14 or later expertise looking for a more accessible API

Pros & Cons

Pros

Header-Only Integration

No library compilation is needed; simply include headers to integrate, reducing build complexity and setup time as highlighted in the README.

Cross-Platform Compatibility

Works on Linux, macOS, and Windows (64-bit), enabling development across major operating systems for desktop and server applications.

High Performance Processing

Optimized for efficient handling of large OSM datasets, with benchmarks and a performance-focused philosophy mentioned in the documentation.

Modular Dependency Management

Allows selective installation of external libraries, keeping projects lightweight and tailored to specific use cases, as noted in the prerequisites.

Cons

64-bit Only Restriction

Explicitly does not support 32-bit systems, limiting deployment in legacy or resource-constrained environments, as stated in the README.

C++14 Compiler Requirement

Mandates a modern C++ compiler and standard library, which may not be available in all development setups and adds a barrier for less experienced developers.

Dependency Management Complexity

While modular, users must manually install and manage external libraries like GDAL, which can be cumbersome and error-prone for beginners.

Frequently Asked Questions

Quick Stats

Stars547
Forks133
Contributors0
Open Issues12
Last commit3 months ago
CreatedSince 2013

Tags

#geospatial#c-plus-plus-14#gis#c-plus-plus#header-only-library#openstreetmap#data-processing#osm-data

Built With

G
GDAL
C
CMake
C
C++

Links & Resources

Website

Included in

OpenStreetMap911
Auto-fetched 3 hours ago

Related Projects

osrm-backendosrm-backend

Open Source Routing Machine - C++ backend

Stars7,847
Forks3,945
Last commit7 hours ago
mapnikmapnik

Mapnik is an open source toolkit for developing mapping applications

Stars3,938
Forks841
Last commit8 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub