Libosmium
2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <multipolygon_manager_legacy.hpp>
Public Member Functions | |
MultipolygonManagerLegacy (const assembler_config_type &assembler_config) | |
const area_stats & | stats () const noexcept |
bool | new_relation (const osmium::Relation &relation) const |
void | complete_relation (const osmium::Relation &relation) |
void | way_not_in_any_relation (const osmium::Way &way) |
Public Member Functions inherited from osmium::relations::RelationsManager< MultipolygonManagerLegacy< TAssembler >, false, true, false > | |
RelationsManager () | |
SecondPassHandler< RelationsManager > & | handler (const std::function< void(osmium::memory::Buffer &&)> &callback=nullptr) |
void | relation (const osmium::Relation &relation) |
void | handle_node (const osmium::Node &node) |
void | handle_way (const osmium::Way &way) |
void | handle_relation (const osmium::Relation &relation) |
void | for_each_incomplete_relation (TFunc &&func) |
Public Member Functions inherited from osmium::relations::RelationsManagerBase | |
RelationsManagerBase () | |
osmium::relations::RelationsDatabase & | relations_database () noexcept |
Access the internal RelationsDatabase. More... | |
osmium::relations::MembersDatabase< osmium::Node > & | member_nodes_database () noexcept |
Access the internal database containing member nodes. More... | |
const osmium::relations::MembersDatabase< osmium::Node > & | member_nodes_database () const noexcept |
Access the internal database containing member nodes. More... | |
osmium::relations::MembersDatabase< osmium::Way > & | member_ways_database () noexcept |
Access the internal database containing member ways. More... | |
const osmium::relations::MembersDatabase< osmium::Way > & | member_ways_database () const noexcept |
Access the internal database containing member ways. More... | |
osmium::relations::MembersDatabase< osmium::Relation > & | member_relations_database () noexcept |
Access the internal database containing member relations. More... | |
const osmium::relations::MembersDatabase< osmium::Relation > & | member_relations_database () const noexcept |
Access the internal database containing member relations. More... | |
relations::MembersDatabaseCommon & | member_database (osmium::item_type type) noexcept |
const relations::MembersDatabaseCommon & | member_database (osmium::item_type type) const noexcept |
const osmium::OSMObject * | get_member_object (const osmium::RelationMember &member) const noexcept |
const osmium::Node * | get_member_node (osmium::object_id_type id) const noexcept |
const osmium::Way * | get_member_way (osmium::object_id_type id) const noexcept |
const osmium::Relation * | get_member_relation (osmium::object_id_type id) const noexcept |
void | prepare_for_lookup () |
relations_manager_memory_usage | used_memory () const noexcept |
osmium::memory::Buffer & | buffer () noexcept |
Access the output buffer. More... | |
void | set_callback (const std::function< void(osmium::memory::Buffer &&)> &callback) |
Set the callback called when the output buffer is full. More... | |
void | flush_output () |
Flush the output buffer. More... | |
void | possibly_flush () |
Flush the output buffer if it is full. More... | |
osmium::memory::Buffer | read () |
Return the contents of the output buffer. More... | |
Public Member Functions inherited from osmium::handler::Handler | |
void | osm_object (const osmium::OSMObject &) const noexcept |
void | node (const osmium::Node &) const noexcept |
void | way (const osmium::Way &) const noexcept |
void | relation (const osmium::Relation &) const noexcept |
void | area (const osmium::Area &) const noexcept |
void | changeset (const osmium::Changeset &) const noexcept |
void | tag_list (const osmium::TagList &) const noexcept |
void | way_node_list (const osmium::WayNodeList &) const noexcept |
void | relation_member_list (const osmium::RelationMemberList &) const noexcept |
void | outer_ring (const osmium::OuterRing &) const noexcept |
void | inner_ring (const osmium::InnerRing &) const noexcept |
void | changeset_discussion (const osmium::ChangesetDiscussion &) const noexcept |
void | flush () const noexcept |
Private Types | |
using | assembler_config_type = typename TAssembler::config_type |
Private Attributes | |
const assembler_config_type | m_assembler_config |
area_stats | m_stats |
This class collects all data needed for creating areas from relations tagged with type=multipolygon or type=boundary. Most of its functionality is derived from the parent class osmium::relations::Collector.
The actual assembling of the areas is done by the assembler class given as template argument.
TAssembler | Multipolygon Assembler class. |
|
private |
|
inlineexplicit |
Construct a MultipolygonManagerLegacy.
assembler_config | The configuration that will be given to any newly constructed area assembler. |
|
inline |
This is called when a relation is complete, ie. all members were found in the input. It will build the area using the assembler.
|
inline |
We are interested in all relations tagged with type=multipolygon or type=boundary with at least one way member.
|
inlinenoexcept |
Access the aggregated statistics generated by the assemblers called from the manager.
|
inline |
This is called when a way is not in any multipolygon relation.
|
private |
|
private |