Sorry for the long silence. I did not have that much time for libosmscout over the last two years and while I was still improving the code, overall lack of time resulted in a lack of communication outside the mailing list. The project was and is still alive – it was just that I did not have enough time to tell everybody
So what’s new, what has happened in the last 2-3 years?
- libosmcout got a number of internal major improvements. There are too many of them to mention them all, but the most important ones are:
- The coastline detection and parsing code has been finished. Coastlines are now well rendered 🙂
- libosmcout now uses Qt5 for the GUI demo application
- The internal data format for storing object attributes has been rewritten make use of configurable features. This way one can inject new attribute parses and data sets into the database without changing the code. Just register your new feature and make use of it in the *.ost file and your code.
- The style sheet language was extended, new keywords allow more flexible filtering. New attributes allow better, nicer rendering. We are now able to describe simple symbols in the style sheet itself. Overlay symbols are possible (oneway). You can now reference multiple label-like attributes directly from the style sheet (house numbers and house name at the same time!).
- There have been multiple rounds of optimisation of database size. While holding more information the database is (much) smaller than before.
- Using pango, Qt and Mac OS/iOS font engines allows to render international labels
- The location index was improved multiple times and we now have a rather good and fast “search while you type” engine.
- The routing engine was improved regarding performance, database size and route description quality
- The top level API was restructured and now has *Service classes with task-specific contracts, better hiding low level APIs
- We allow merging of input files (with some constraints) which allows use to inject SRTM-base *.pbf files into the original data, resulting in elevation lines drawn.
- libosmscout now is c++11 only.
- Qt and MacOS/iOS ports are stable. There were some successful tests to use Qt under Android, too.
- Some initial work has been done, to make libosmscout usable from Java using JNI (using WIG).
- More tools and demos, showing major features and helping debugging libosmscout.
- I attended the State of the Map Europe last year. This was a very thrilling experience. Most terrific for me was, that I was allowed to held a speech about libosmscout. You can see the video here: https://www.youtube.com/watch?v=m2UrqJs7eUA. Thanks for the organizer fo the State of the Map Europe for this wonderful and well-planed and executed event!
My internal TODO file is still very long and there are many areas where improvement is planed. These are the most interesting entries:
- Create Java (and other language) stubs using SWIG (any SWIG experts out there which can help me?)
- Improve the caching for map rendering resulting into faster loading and rendering
- Improve the style sheet and rendering. Here somebody with aesthetic talent is wanted.
- Improve the database
- Reduce size
- Improve the data model, allowing for example attributes for nodes on way or area border.
- Improve the routing description quality
- The demo client needs to better advertise the functionality of libosmscout. This means better support for touch handling, managing favourites, access to the GPS (if available), live routing and other stuff.
I will attend the OSM Sommercamp 2015 (see http://wiki.openstreetmap.org/wiki/SommerCamp) in Essen, Germany. I do not plan to make an official workshop, but if anybody is interested, please contact me beforehand or during the summer camp if you have any questions.