MCPcopy Create free account
hub / github.com/comaps/comaps / GetPlaceNodeFromMembers

Function GetPlaceNodeFromMembers

generator/osm_element_helpers.cpp:36–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

34}
35
36std::vector<uint64_t> GetPlaceNodeFromMembers(OsmElement const & elem)
37{
38 std::vector<uint64_t> res;
39 int adminIdx = -1;
40 for (auto const & member : elem.m_members)
41 {
42 if (member.m_type == OsmElement::EntityType::Node)
43 {
44 if (member.m_role == "admin_centre")
45 {
46 if (adminIdx == -1)
47 adminIdx = res.size();
48 res.push_back(member.m_ref);
49 }
50 else if (member.m_role == "label")
51 res.push_back(member.m_ref);
52 }
53 }
54
55 if (adminIdx > 0)
56 std::swap(res[0], res[adminIdx]);
57 return res;
58}
59
60uint8_t GetAdminLevel(OsmElement const & elem)
61{

Callers 2

CollectMethod · 0.85
BuildFromRelationMethod · 0.85

Calls 3

swapFunction · 0.50
sizeMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected