libosmscout offers applications simple, high-level interfaces to offline rendering and routing functionalities based on OpenStreetMap (OSM) data.
It does so by preprocessing *.osm data files and generating platform independent compact binary data and index files for fast access.
The high level API offers simple datatypes and methods to fetch data based on these datatypes for use in map drawing, location of POIs and routing.
It also offers code for drawing maps (currently using cairo) base on these information.
The goals of libosmscout are:
- Support access to as much of the OSM metadata as possible.
- Implement as good routing functionality as possible.
- Strictly separate data handling and GUI, making it possible to use libosmscout with any toolkit you like.
- Work on low-end hardware like it is commonly used for handhelds, phones and similar. This includes:
- Support all common OS platformas like Linux, different Windows variants and OS X
- Offer compact data storage making it possible to place data for countries and up to continents on SD cards of common size.
- Reduce memory needs as much as possible.
- Be fast even if running on low-end processors.
- Draw maps that are optimal under limited screen size, processor speed and graphics performance.