本文整理汇总了C++中osmium::Relation::positive_id方法的典型用法代码示例。如果您正苦于以下问题:C++ Relation::positive_id方法的具体用法?C++ Relation::positive_id怎么用?C++ Relation::positive_id使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osmium::Relation
的用法示例。
在下文中一共展示了Relation::positive_id方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: relation
// - walk over all relation-versions
// - walk over all bboxes
// - if the relation-id is recorded in the bboxes relation-tracker
// - send the relation to the bboxes writer
void relation(const osmium::Relation& relation) {
if (debug) {
std::cerr << "softcut relation " << relation.positive_id() << " v" << relation.version() << "\n";
}
for (const auto& extract : info->extracts) {
if (extract->relation_tracker.get(relation.positive_id())) {
extract->write(relation);
}
}
}
示例2: relation
void relation(const osmium::Relation& relation) {
for (const auto& member : relation.members()) {
switch (member.type()) {
case osmium::item_type::node:
m_index_n2r.set(member.positive_ref(), relation.positive_id());
break;
case osmium::item_type::way:
m_index_w2r.set(member.positive_ref(), relation.positive_id());
break;
case osmium::item_type::relation:
m_index_r2r.set(member.positive_ref(), relation.positive_id());
break;
default:
break;
}
}
}
示例3: erelation
void erelation(extract_data& e, const osmium::Relation& relation) {
for (const auto& member : relation.members()) {
switch (member.type()) {
case osmium::item_type::node:
if (e.node_ids.get(member.positive_ref())) {
e.relation_ids.set(relation.positive_id());
return;
}
break;
case osmium::item_type::way:
if (e.way_ids.get(member.positive_ref())) {
e.relation_ids.set(relation.positive_id());
return;
}
break;
default:
break;
}
}
}
示例4: relation
void relation(const osmium::Relation& relation) {
m_relation_index.set(relation.positive_id(), m_offset);
m_offset += relation.byte_size();
}