diff --git a/generator/generator_integration_tests/features_tests.cpp b/generator/generator_integration_tests/features_tests.cpp index ff94ea1e09..8d38eac1f2 100644 --- a/generator/generator_integration_tests/features_tests.cpp +++ b/generator/generator_integration_tests/features_tests.cpp @@ -321,7 +321,7 @@ public: TestGeneratedFile(maxSpeeds, 1301515 /* fileSize */); TestGeneratedFile(metalines, 288032 /* fileSize */); TestGeneratedFile(restrictions, 371110 /* fileSize */); - TestGeneratedFile(roadAccess, 1970528 /* fileSize */); + TestGeneratedFile(roadAccess, 1966468 /* fileSize */); TestGeneratedFile(m_genInfo.m_citiesBoundariesFilename, 87 /* fileSize */); } diff --git a/generator/road_access_generator.cpp b/generator/road_access_generator.cpp index 3c469b8c69..2540cded4a 100644 --- a/generator/road_access_generator.cpp +++ b/generator/road_access_generator.cpp @@ -299,7 +299,7 @@ void RoadAccessTagProcessor::Process(OsmElement const & elem) for (auto const tagMapping : mapping) { auto const accessType = GetAccessTypeFromMapping(elem, tagMapping); - if (accessType != RoadAccess::Type::Count && accessType != RoadAccess::Type::Yes) + if (accessType != RoadAccess::Type::Count) return optional(accessType); } @@ -308,6 +308,9 @@ void RoadAccessTagProcessor::Process(OsmElement const & elem) if (auto op = getAccessType(m_accessMappings)) { + if (*op == RoadAccess::Type::Yes) + return; + switch (elem.m_type) { case OsmElement::EntityType::Node: m_barriersWithAccessTag.emplace(elem.m_id, *op); return;