本文整理汇总了C++中osmium::Way::positive_id方法的典型用法代码示例。如果您正苦于以下问题:C++ Way::positive_id方法的具体用法?C++ Way::positive_id怎么用?C++ Way::positive_id使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类osmium::Way
的用法示例。
在下文中一共展示了Way::positive_id方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: way
void way(const osmium::Way& way) {
// detect a new way
if (current_way_id != 0 && current_way_id != way.positive_id()) {
write_way_extra_nodes();
current_way_nodes.clear();
}
current_way_id = way.positive_id();
if (debug) {
std::cerr << "softcut way " << way.positive_id() << " v" << way.version() << "\n";
}
for (const auto& node_ref : way.nodes()) {
current_way_nodes.insert(node_ref.positive_ref());
}
for (const auto& extract : info->extracts) {
for (const auto& node_ref : way.nodes()) {
if (extract->node_tracker.get(node_ref.positive_ref())) {
if (debug) {
std::cerr << "way has a node (" << node_ref.positive_ref() << ") inside extract, recording in way_tracker\n";
}
extract->way_tracker.set(way.positive_id());
break;
}
}
}
}
示例2: eway
void eway(extract_data& e, const osmium::Way& way) {
for (const auto& nr : way.nodes()) {
if (e.node_ids.get(nr.positive_ref())) {
e.way_ids.set(way.positive_id());
for (const auto& nr : way.nodes()) {
e.extra_node_ids.set(nr.ref());
}
return;
}
}
}
示例3: way
void way(const osmium::Way& way) {
for (const auto& node_ref : way.nodes()) {
m_index_n2w.set(node_ref.positive_ref(), way.positive_id());
}
}
示例4: way
void way(const osmium::Way& way) {
for (auto& wn : way.nodes()) {
m_index_n2w.set(wn.positive_ref(), way.positive_id());
}
}
示例5: way
void way(const osmium::Way& way) {
m_way_index.set(way.positive_id(), m_offset);
m_offset += way.byte_size();
}