Index: /trunk/GnssCenter/monitor/monitor.cpp
===================================================================
--- /trunk/GnssCenter/monitor/monitor.cpp	(revision 5498)
+++ /trunk/GnssCenter/monitor/monitor.cpp	(revision 5499)
@@ -303,8 +303,6 @@
           for (unsigned jj = 0; jj < _results->size(); jj++) {
             const t_thriftResult* result = _results->at(jj);
-            for (unsigned is = 0; is < result->_prns.size(); is++) {
-              if (result->_prns[is] == sat->_prn) {
-                numSta += 1;
-              }
+            if (result->_prns.find(sat->_prn) != result->_prns.end()) {
+              numSta += 1;
             }
           }
Index: /trunk/GnssCenter/monitor/thriftclient.cpp
===================================================================
--- /trunk/GnssCenter/monitor/thriftclient.cpp	(revision 5498)
+++ /trunk/GnssCenter/monitor/thriftclient.cpp	(revision 5499)
@@ -142,10 +142,10 @@
     }
 
-    for (unsigned is = 0; is < staRes.svPosList.size(); is++) {
-      const SatelliteEleAzi& sat = staRes.svPosList[is];
-      string prn = id2prn(sat.constellation, sat.ID);
-      const double eleMask = 10.0;
-      if (sat.elevation > eleMask) {
-        res->_prns.push_back(prn);
+    for (unsigned ic = 0; ic < staRes.residList.size(); ic++) {
+      const ResidualInfo& info = staRes.residList[ic];
+      for (unsigned is = 0; is < info.svResid.size(); is++) {
+        const SvResidualInfo& sat = info.svResid[is];
+        string prn = id2prn(sat.constellation, sat.ID);
+        res->_prns.insert(prn);
       }
     }
Index: /trunk/GnssCenter/monitor/thriftclient.h
===================================================================
--- /trunk/GnssCenter/monitor/thriftclient.h	(revision 5498)
+++ /trunk/GnssCenter/monitor/thriftclient.h	(revision 5499)
@@ -4,4 +4,5 @@
 #include <string>
 #include <map>
+#include <set>
 #include <QString>
 #include <QThread>
@@ -32,11 +33,11 @@
   }
   ~t_thriftResult() {}
-  std::string              _name;
-  int                      _nGPS;  
-  int                      _nGLO;
-  double                   _x;
-  double                   _y;
-  double                   _z;
-  std::vector<std::string> _prns;
+  std::string           _name;
+  int                   _nGPS;  
+  int                   _nGLO;
+  double                _x;
+  double                _y;
+  double                _z;
+  std::set<std::string> _prns;
 };
 
