|
Libosmium
2.22.0
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <multipolygon_manager.hpp>


Public Member Functions | |
| MultipolygonManager (assembler_config_type assembler_config, osmium::TagsFilter filter=osmium::TagsFilter{true}) | |
| const area_stats & | stats () const noexcept |
| bool | new_relation (const osmium::Relation &relation) const |
| void | complete_relation (const osmium::Relation &relation) |
| void | after_way (const osmium::Way &way) |
Public Member Functions inherited from osmium::relations::RelationsManager< MultipolygonManager< 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 | |
| assembler_config_type | m_assembler_config |
| area_stats | m_stats |
| osmium::TagsFilter | m_filter |
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 template class osmium::relations::RelationsManager.
The actual assembling of the areas is done by the assembler class given as template argument.
| TAssembler | Multipolygon Assembler class. |
|
private |
|
inlineexplicit |
Construct a MultipolygonManager.
| assembler_config | The configuration that will be given to any newly constructed area assembler. |
| filter | An optional filter specifying what tags are needed on closed ways or multipolygon relations to build the area. |
|
inline |
|
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.
|
private |
|
private |
|
private |