From 6d588948b239e037ac1ce30f14145c2c131d8b14 Mon Sep 17 00:00:00 2001 From: Vladimir Byko-Ianko Date: Fri, 12 Oct 2018 15:48:33 +0300 Subject: [PATCH] Generating city_roads section based on cities, town and villages. --- generator/generator_tests_support/test_mwm_builder.cpp | 2 +- generator/generator_tool/generator_tool.cpp | 2 ++ generator/translator_planet.cpp | 2 +- indexer/ftypes_matcher.hpp | 4 ++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/generator/generator_tests_support/test_mwm_builder.cpp b/generator/generator_tests_support/test_mwm_builder.cpp index 6931276a05..2e905ba78d 100644 --- a/generator/generator_tests_support/test_mwm_builder.cpp +++ b/generator/generator_tests_support/test_mwm_builder.cpp @@ -80,7 +80,7 @@ bool TestMwmBuilder::Add(FeatureBuilder1 & fb) { CHECK(m_collector, ("It's not possible to add features after call to Finish().")); - if (ftypes::IsTownOrCity(fb.GetTypes()) && fb.GetGeomType() == feature::GEOM_AREA) + if (ftypes::IsCityTownOrVillage(fb.GetTypes()) && fb.GetGeomType() == feature::GEOM_AREA) { auto const & metadata = fb.GetMetadataForTesting(); uint64_t testId; diff --git a/generator/generator_tool/generator_tool.cpp b/generator/generator_tool/generator_tool.cpp index 32f4d75d52..fa96c58c9c 100644 --- a/generator/generator_tool/generator_tool.cpp +++ b/generator/generator_tool/generator_tool.cpp @@ -113,6 +113,8 @@ DEFINE_bool(generate_regions_kv, false, DEFINE_bool(dump_cities_boundaries, false, "Dump cities boundaries to a file"); DEFINE_bool(generate_cities_boundaries, false, "Generate cities boundaries section"); DEFINE_string(cities_boundaries_data, "", "File with cities boundaries"); +DEFINE_string(cities_boundaries_data_for_routing, "", + "File with cities boundaries for generation city_roads section."); DEFINE_bool(generate_world, false, "Generate separate world file."); DEFINE_bool(split_by_polygons, false, diff --git a/generator/translator_planet.cpp b/generator/translator_planet.cpp index 4bd8169f89..433617308b 100644 --- a/generator/translator_planet.cpp +++ b/generator/translator_planet.cpp @@ -211,7 +211,7 @@ void TranslatorPlanet::EmitArea(FeatureBuilder1 & ft, FeatureParams params, if (!ft.IsGeometryClosed()) return; - if (ftypes::IsTownOrCity(params.m_types)) + if (ftypes::IsCityTownOrVillage(params.m_types)) { auto fb = ft; fn(fb); diff --git a/indexer/ftypes_matcher.hpp b/indexer/ftypes_matcher.hpp index 340d530a83..bb591955bf 100644 --- a/indexer/ftypes_matcher.hpp +++ b/indexer/ftypes_matcher.hpp @@ -261,13 +261,13 @@ public: }; template -bool IsTownOrCity(Types const & types) +bool IsCityTownOrVillage(Types const & types) { feature::TypesHolder h; for (auto const t : types) h.Add(t); auto const type = IsLocalityChecker::Instance().GetType(h); - return type == TOWN || type == CITY; + return type == CITY || type == TOWN || type == VILLAGE; } /// @name Get city radius and population.