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

Method InitProfiles

tools/topography_generator/generator.cpp:670–714  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

668}
669
670void Generator::InitProfiles(std::string const & isolinesProfilesFileName,
671 std::string const & countriesToGenerateFileName, std::string const & isolinesTilesOutDir,
672 std::string const & isolinesCountriesOutDir)
673{
674 CHECK(Deserialize(isolinesProfilesFileName, m_profilesCollection), ());
675 CHECK(Deserialize(countriesToGenerateFileName, m_countriesToGenerate), ());
676
677 auto const & profiles = m_profilesCollection.m_profiles;
678 for (auto const & countryParams : m_countriesToGenerate.m_countryParams)
679 {
680 auto const & params = countryParams.second;
681 CHECK(profiles.find(params.m_profileName) != profiles.end(), ("Unknown profile name", params.m_profileName));
682 }
683
684 m_isolinesTilesOutDir = isolinesTilesOutDir;
685 m_isolinesCountriesOutDir = isolinesCountriesOutDir;
686
687 for (auto const & profile : m_profilesCollection.m_profiles)
688 {
689 auto const & profileName = profile.first;
690 auto const & profileParams = profile.second;
691
692 TileIsolinesParams tileParams;
693 tileParams.m_outputDir = GetTilesDir(isolinesTilesOutDir, profileName);
694 tileParams.m_latLonStepFactor = profileParams.m_latLonStepFactor;
695 tileParams.m_alitudesStep = profileParams.m_alitudesStep;
696 tileParams.m_simplificationZoom = profileParams.m_simplificationZoom;
697 if (profileParams.m_medianFilterR > 0)
698 tileParams.m_filters.emplace_back(std::make_unique<MedianFilter<Altitude>>(profileParams.m_medianFilterR));
699 if (profileParams.m_gaussianFilterStDev > 0.0 && profileParams.m_gaussianFilterRFactor > 0)
700 {
701 tileParams.m_filters.emplace_back(std::make_unique<GaussianFilter<Altitude>>(
702 profileParams.m_gaussianFilterStDev, profileParams.m_gaussianFilterRFactor));
703 }
704 m_profileToTileParams.emplace(profileName, std::move(tileParams));
705
706 IsolinesPackingParams packingParams;
707 packingParams.m_outputDir = isolinesCountriesOutDir;
708 packingParams.m_simplificationZoom = 0;
709 packingParams.m_alitudesStepFactor = 1;
710 packingParams.m_isolinesTilesPath = GetTilesDir(isolinesTilesOutDir, profileName);
711 packingParams.m_maxIsolineLength = profileParams.m_maxIsolinesLength;
712 m_profileToPackingParams.emplace(profileName, std::move(packingParams));
713 }
714}
715
716void Generator::GetCountryRegions(storage::CountryId const & countryId, m2::RectD & countryRect,
717 std::vector<m2::RegionD> & countryRegions)

Callers 1

main.cppFile · 0.80

Calls 5

GetTilesDirFunction · 0.85
findMethod · 0.45
endMethod · 0.45
emplace_backMethod · 0.45
emplaceMethod · 0.45

Tested by

no test coverage detected