diff options
author | mpimenov <mpimenov@users.noreply.github.com> | 2016-07-07 15:35:40 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-07 15:35:40 +0300 |
commit | bcb269c84c7f8271d376b28557b9c0b812c1eb73 (patch) | |
tree | 81d91874e9e343416642bf6cdd8d3af7f9e9b61e /generator | |
parent | f274d4d78540c443e6ec3506ddba82bea7b108ef (diff) | |
parent | 16a991d75b6cbb23d312f3c782ce0054ea0cddd0 (diff) |
Merge pull request #3727 from ygorshenin/fix-features-loading-guard
[indexer] Fixed FeaturesLoaderGuard.
Diffstat (limited to 'generator')
-rw-r--r-- | generator/routing_generator.cpp | 13 | ||||
-rw-r--r-- | generator/srtm_coverage_checker/srtm_coverage_checker.cpp | 3 |
2 files changed, 12 insertions, 4 deletions
diff --git a/generator/routing_generator.cpp b/generator/routing_generator.cpp index 1b39c9584f..8d1f345726 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,11 @@ 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 with id:", fID, "for way:", seg.wayId)); + 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. |