Revisions of libosmium
Predrag Ivanović (predivan)
accepted
request 959444
from
Predrag Ivanović (predivan)
(revision 11)
- Update to 2.18.0 * Use `system_error` instead of `runtime_error` where it fits better. * Remove `OSMIUM_NORETURN` macro. This hasn't been used in a while. ### Removed deprecated parts of the code Several parts of libosmium have been marked deprecated, many of them for a very long time. These are now removed: * Sparsehash index class `osmium::index::map::SparseMemTable` as well as the complete file `osmium/index/map/sparse_mem_table.hpp`. * Callback functionality of the `osmium::memory::Buffer` class. The `set_full_callback()` will not be available any more. See the source for replacement options. * Various `osmium::builder::build_*` functions in `osmium/builder/builder_helper.hpp`. Use `osmium::builder::add_*` functions instead. Removes `builder_helper.hpp`. * `osmium::builder::Builder::add_item(const osmium::memory::Item* item)`. Use the function of the same name taking a reference instead. * `osmium::builder::OSMObject/ChangesetBuilder::add_user()`. Use `set_user()` instead. * `osmium::builder::ChangesetBuilder::bounds()` returning a modifiable reference. Use `set_bounds()` instead. * Several functions around `osmium::io::OutputIterator`. * `osmium::Area::inner_ring_cbegin/cend()`, use `inner_rings()` instead. * `osmium::RelationMember::ref()`, use `set_ref()` instead. * Implicit conversion from `osmium::Timestamp` to `std::time_t`. Use `seconds_since_epoch()` instead. * `osmium::string_to_user_id()`, use `string_to_uid` instead. * `osmium::static_cast_with_assert()` helper functions as well as the complete include file `osmium/util/cast.hpp`. * Some constructors of `osmium::util::MemoryMapping` and `osmium::util::TypedMemoryMapping`. Use other constructor instead. - Update to 2.17.3 * Removed possible deadlock when shutting down active Reader. - Update to 2.17.2 * Libosmium now supports being compiled in C++17 and C++20 mode. The minimum version required is still C++11, but if you use libosmium in an C++17 or C++20 application this should work properly. * Switch from catch version 1 to catch2 as test framework. * When `std::variant` is available (C++17 and above), libosmium will use that instead of `boost::variant` reducing the dependencies a little bit. * Remove use of `boost::filter_iterator` and `boost::indirect_iterator`. The removes the dependency on Boost Iterator. * When ordering OSM objects (mostly use in the `CheckOrder` handler), the smallest id possible (`INTMIN`) wasn't sorted correctly. * Threading problem when reading files. * Possible dereference of invalid iterator in legacy area assembler. This only affects the legacy area assembler that takes old-style multipolygons into account, so modern code that is not working with history data is not affected. * Fixed read from an empty queue when reading a file which could block libosmium forever when an error was encountered while reading a file. * As always: Various small code cleanups. - Packaging: * Drop signal.diff patch, no longer required. * Add liblz4 to BuildRequires
Predrag Ivanović (predivan)
accepted
request 934256
from
Predrag Ivanović (predivan)
(revision 10)
- Update to 2.17.1 * Add `osmium_tags_filter` example showing use of tags filter. * Add `Writer::set_header()` function to set header after constructing. * Various improvements in PBF file reading make it slightly faster and less CPU intensive. * Since 2.17.0 Osmium will, when reading files, tell the kernel using `fadvise` that it can remove pages from the buffer cache that are not needed any more. This is usually beneficial, because the memory can be used for something else. But if you are reading the same OSM file multiple times at the same time or in short succession, it might be better to keep those buffer pages. In that case you can set the environment variable `OSMIUM_CLEAN_PAGE_CACHE_AFTER_READ` to `no` and Osmium will not call `fadvise`. Set it to `yes` or anything else (or not set it at all) to get the default behaviour. * If the macro `OSMIUM_DEFINE_EXPORT` is defined, all exception classes used by Osmium will get "tagged as exported" using `__declspec(dllexport)` when using MSVC or `__attribute__ ((visibility("default")))` on other compilers. This is needed in PyOsmium. * Fix integer parser. IDs in OPL files can now be anything between -2^63 and 2^63-1. - Add signal.patch from @kukuk to deal with catch test failures on Factory/TW
Bruno Friedmann (bruno_friedmann)
accepted
request 906811
from
Predrag Ivanović (predivan)
(revision 9)
- Update to 2.17.0 Added Add "ids" output format. New IDS output format that is similar to the OPL format, but only the entity type and id is written out. Add convenience functions left(), right(), top(), bottom() to access osmium::Box boundaries. Add polygon output to WKB factory. Add functions to access storage from node_locations_for_ways handler. Add flag osmium::io::buffers_type for telling the Reader class whether you want buffers read to only contain a single type of OSM entity. Add convenient named nodes(), ways(), and relations() accessor functions to nwr_array class. Add DeltaDecode::value() accessor function. Add variant of the Buffer::purge_removed() function which doesn't take a callback parameter. Changed Different varint decoding for faster PBF decoding. This makes PBF decoding about 15% faster. Several code optimmizations in (PBF) writer code that speed up writing of OSM files considerably while using less CPU and spreading the load on multiple CPUs. Use memset/memcpy instead of std::fill_n and std::copy in object builder for some slight speedups. Ignore metadata setting on reader for history/change files. History and change files must be read with metadata, because otherwise the information is lost whether an object is visible or deleted. So ignore this setting in that case. On Linux: Use fadvise() to tell kernel about our reading patterns: Tell kernel that we are reading OSM files sequentially. This should improve pre-fetching of data blocks. Tell kernel that we are done with block so they can be released. This means we don't hog the buffer cache for something that will, in all likelyhood, not be needed any more. Use assert() instead of exception in "can not happen" situation in the relations manager code. Various code cleanups. Fixed Remove undefined behaviour in bzip2 compression code. Rename some local variables to not shadow member functions. Removed superfluous std::forwards and fixed code that called std::forward multiple times on the same object. Fix in OPL parser which could lead to invalid data being generated. Fixed three bugs in O5M parser which could lead to an infinite loop or segmentation faults.
Dirk Stoecker (dstoecker)
committed
(revision 8)
update
Dirk Stoecker (dstoecker)
committed
(revision 7)
update
Dirk Stoecker (dstoecker)
accepted
request 750119
from
Jonathan Brielmaier (jbrielmaier)
(revision 6)
Update to 2.15.3. This time with changes file.
Dirk Stoecker (dstoecker)
committed
(revision 5)
update
Martin Pluskal (pluskalm)
committed
(revision 4)
- Update to version 2.13.1
Martin Pluskal (pluskalm)
committed
(revision 3)
Martin Pluskal (pluskalm)
committed
(revision 2)
- Update to version 2.11.3 - Cleanup spec-file
Martin Pluskal (pluskalm)
committed
(revision 1)
osc copypac from project:home:kukuk:OSM package:libosmium revision:4, using expand
Displaying all 11 revisions