github osmcode/libosmium v2.15.2
Version 2.15.2

latest releases: v2.20.0, v2.19.0, v2.18.0...
5 years ago

Added

  • Instead of handler classes, the apply function can now also take lambdas (or objects from classes implementing operator()).
  • Add swap, copy constructor and assignment operator to IdSetDense.

Changed

  • Enable use of the old proj API in proj version 6. This is a stopgap solution until we find a better one.
  • Better error messages when there is an error parsing a timestamp.
  • Cleaned up a lot of code based on clang-tidy warnings.
  • Ignore or subelement of or . elements are created by Overpass API as subelements of ways or relations when the "out bb" format is used. subelements turn up in files downloaded from http://download.openstreetmap.fr/replication . Libosmium used to throw an error like "Unknown element in : bbox". With this commit, these subelements are ignored, ie. there is no error any more, but the data is not read.
  • Add swap, copy constructor and assignment operator to IdSetDense.
  • Update included catch.hpp to 1.12.2.
  • Retire use of OSMIUM_NORETURN macro. Use [[noreturn]] instead.

Fixed

  • Do not build areas with more than 100 locations where rings touch. Places where rings touch are unusual for normal multipolygons and the algorithm in libosmium that assembles multipolygons does not handle them well. If there are too many touching points it becomes very slow. This is not a problem for almost all multipolygons. As I am writing this there are only three relations in the OSM database with more than 100 touching points, all of them rather weird boundaries in the US. With this commit libosmium will simply ignore those areas to keep the processing speed within reasonable bounds.

Don't miss a new libosmium release

NewReleases is sending notifications on new releases.