mirror of
https://codeberg.org/comaps/comaps
synced 2025-12-25 23:33:53 +00:00
@@ -45,14 +45,9 @@ void TypeToOSMTranslator::LoadFromStream(std::istream & s)
|
||||
if (line.empty() || line[0] == '#' || line.starts_with("deprecated"))
|
||||
continue;
|
||||
|
||||
//LOG(LINFO, ("Reading line: ", line));
|
||||
|
||||
std::vector<std::string_view> tokens = strings::Tokenize(line, ";");
|
||||
|
||||
ASSERT(tokens.size() >= 2, ("Invalid type definition:", line));
|
||||
|
||||
//LOG(LINFO, ("type: ", tokens[0]));
|
||||
|
||||
// Get internal feature type
|
||||
std::vector<std::string_view> typeTokens = strings::Tokenize(tokens[0], "|");
|
||||
uint32_t type = classif().GetTypeByPathSafe(typeTokens);
|
||||
@@ -60,31 +55,25 @@ void TypeToOSMTranslator::LoadFromStream(std::istream & s)
|
||||
if (typeTokens.size() <= 2)
|
||||
{
|
||||
// simple feature type: OSM tags can be derived from type name
|
||||
|
||||
ASSERT(typeTokens.size() <= 2, ("OSM tags can not be derived from 3-arity/complex types"));
|
||||
ASSERT(!typeTokens.empty(), ("No type name found"));
|
||||
|
||||
OSMTag osmTag;
|
||||
|
||||
// e.g. "amenity-restaurant"
|
||||
if (typeTokens.size() >= 2) {
|
||||
osmTag.key = typeTokens[0];
|
||||
osmTag.value = typeTokens[1];
|
||||
}
|
||||
// e.g. "building"
|
||||
else if (typeTokens.size() == 1) {
|
||||
osmTag.key = typeTokens[0];
|
||||
osmTag.value = "yes";
|
||||
}
|
||||
|
||||
m_storage.insert({type, {osmTag}});
|
||||
|
||||
//LOG(LINFO, ("Simple type: Added type ", type, ":", osmTag.key, "=", osmTag.value));
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
//LOG(LINFO, ("-------------------"));
|
||||
//LOG(LINFO, ("Complex type line:", line));
|
||||
|
||||
// complex feature type: OSM tags are listed in the entry
|
||||
ASSERT(tokens.size() > 2, ("OSM tags not listed for complex feature type: ", line));
|
||||
|
||||
@@ -114,12 +103,6 @@ void TypeToOSMTranslator::LoadFromStream(std::istream & s)
|
||||
osmTag.value = keyValuePair.substr(equalSign + 1);
|
||||
|
||||
osmTags.push_back(osmTag);
|
||||
|
||||
//LOG(LINFO, ("Complex type: Found OSM Tag ", osmTag.key, "=", osmTag.value));
|
||||
}
|
||||
else
|
||||
{
|
||||
//LOG(LINFO, ("Complex type: Skipping OSM key value pair:", keyValuePair));
|
||||
}
|
||||
|
||||
pos = end + 1;
|
||||
@@ -127,10 +110,6 @@ void TypeToOSMTranslator::LoadFromStream(std::istream & s)
|
||||
|
||||
m_storage.insert({type, osmTags});
|
||||
}
|
||||
|
||||
//if (lineNumber > 80)
|
||||
//break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user