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

Function GenerateIntermediateData

generator/osm_source.cpp:219–244  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

217///////////////////////////////////////////////////////////////////////////////////////////////////
218
219bool GenerateIntermediateData(feature::GenerateInfo & info)
220{
221 auto nodes = cache::CreatePointStorageWriter(info.m_nodeStorageType, info.GetCacheFileName(NODES_FILE));
222 cache::IntermediateDataWriter cache(*nodes, info);
223 TownsDumper towns;
224 SourceReader reader = info.m_osmFileName.empty() ? SourceReader() : SourceReader(info.m_osmFileName);
225
226 LOG(LINFO, ("Data source:", info.m_osmFileName));
227
228 auto const processor = [&](OsmElement && element)
229 {
230 towns.CheckElement(element);
231 AddElementToCache(cache, std::move(element));
232 };
233
234 switch (info.m_osmFileType)
235 {
236 case feature::GenerateInfo::OsmSourceType::XML: ProcessOsmElementsFromXML(reader, processor); break;
237 case feature::GenerateInfo::OsmSourceType::O5M: ProcessOsmElementsFromO5M(reader, processor); break;
238 }
239
240 cache.SaveIndex();
241 towns.Dump(info.GetIntermediateFileName(TOWNS_FILE));
242 LOG(LINFO, ("Added points count =", nodes->GetNumProcessedPoints()));
243 return true;
244}
245} // namespace generator

Callers 3

TestMethod · 0.85
generator_tool.cppFile · 0.85
BuildFBMethod · 0.85

Calls 12

CreatePointStorageWriterFunction · 0.85
SourceReaderClass · 0.85
AddElementToCacheFunction · 0.85
GetCacheFileNameMethod · 0.80
CheckElementMethod · 0.80
SaveIndexMethod · 0.80
GetNumProcessedPointsMethod · 0.80
emptyMethod · 0.45
DumpMethod · 0.45

Tested by 2

TestMethod · 0.68
BuildFBMethod · 0.68