diff options
author | Yuri Gorshenin <y@maps.me> | 2016-07-05 21:28:14 +0300 |
---|---|---|
committer | Yuri Gorshenin <y@maps.me> | 2016-07-05 21:43:49 +0300 |
commit | abad74b76c735eca873ee1384de40607993aec32 (patch) | |
tree | 888a078227bc383ced634f6332b3640061586baa /generator | |
parent | e7915eb557ff76a913e934da17c601d71f891fe6 (diff) |
[indexer] Fixed FeaturesLoaderGuard.
Diffstat (limited to 'generator')
-rw-r--r-- | generator/routing_generator.cpp | 14 | ||||
-rw-r--r-- | generator/srtm_coverage_checker/srtm_coverage_checker.cpp | 3 |
2 files changed, 13 insertions, 4 deletions
diff --git a/generator/routing_generator.cpp b/generator/routing_generator.cpp index 1b39c9584f..796bb878c8 100644 --- a/generator/routing_generator.cpp +++ b/generator/routing_generator.cpp @@ -176,8 +176,11 @@ void FindCrossNodes(osrm::NodeDataVectorT const & nodeData, gen::OsmID2FeatureID { FeatureType ft; Index::FeaturesLoaderGuard loader(index, mwmId); - loader.GetFeatureByIndex(osm2ft.GetFeatureID(startSeg.wayId), ft); - LOG(LINFO, ("Double border intersection", wgsIntersection, "rank:", GetWarningRank(ft))); + if (loader.GetFeatureByIndex(osm2ft.GetFeatureID(startSeg.wayId), ft)) + { + LOG(LINFO, + ("Double border intersection", wgsIntersection, "rank:", GetWarningRank(ft))); + } } } } @@ -318,7 +321,12 @@ void BuildRoutingIndex(string const & baseDir, string const & countryName, strin FeatureType ft; Index::FeaturesLoaderGuard loader(index, p.first); - loader.GetFeatureByIndex(fID, ft); + if (!loader.GetFeatureByIndex(fID, ft)) + { + LOG(LWARNING, + ("Can't read feature for way:", seg.wayId, "probably map is damaged or deleted.")); + continue; + } ft.ParseGeometry(FeatureType::BEST_GEOMETRY); diff --git a/generator/srtm_coverage_checker/srtm_coverage_checker.cpp b/generator/srtm_coverage_checker/srtm_coverage_checker.cpp index 3df3a27eea..fd02999714 100644 --- a/generator/srtm_coverage_checker/srtm_coverage_checker.cpp +++ b/generator/srtm_coverage_checker/srtm_coverage_checker.cpp @@ -84,7 +84,8 @@ int main(int argc, char * argv[]) FeatureType ft; Index::FeaturesLoaderGuard loader( fetcher->GetIndex(), fetcher->GetIndex().GetMwmIdByCountryFile(file.GetCountryFile())); - loader.GetFeatureByIndex(segment.m_fid, ft); + if (!loader.GetFeatureByIndex(segment.m_fid, ft)) + continue; ft.ParseGeometry(FeatureType::BEST_GEOMETRY); // Get points in proper direction. |