diff --git a/include/gnss_utils/snapshot.h b/include/gnss_utils/snapshot.h index 84bbcb0ce49087ee6d0168ea6eb6931981b1052c..49a167503ad07aabeca7036337e2d57d9fb86ff0 100644 --- a/include/gnss_utils/snapshot.h +++ b/include/gnss_utils/snapshot.h @@ -133,7 +133,15 @@ inline std::set<int> Snapshot::filterObservations(const std::set<int>& disc const bool& check_carrier_phase, const Options& opt) { - return obs_->filter(sats_, discarded_sats, x_r, check_code, check_carrier_phase, opt); + std::set<int> filtered_sats = obs_->filter(sats_, discarded_sats, x_r, check_code, check_carrier_phase, opt); + + for (auto sat : filtered_sats) + { + sats_.erase(sat); + ranges_.erase(sat); + } + + return filtered_sats; } inline std::set<int> Snapshot::filterObservations(const std::set<int>& discarded_sats, @@ -142,7 +150,15 @@ inline std::set<int> Snapshot::filterObservations(const std::set<int>& discarde const bool& check_carrier_phase, const Options& opt) { - return obs_->filter(sats_, discarded_sats, azels, check_code, check_carrier_phase, opt); + std::set<int> filtered_sats = obs_->filter(sats_, discarded_sats, azels, check_code, check_carrier_phase, opt); + + for (auto sat : filtered_sats) + { + sats_.erase(sat); + ranges_.erase(sat); + } + + return filtered_sats; } inline const Ranges& Snapshot::getRanges() const