Index: trunk/BNC/src/ephemeris.cpp
===================================================================
--- trunk/BNC/src/ephemeris.cpp	(revision 6376)
+++ trunk/BNC/src/ephemeris.cpp	(revision 6377)
@@ -573,6 +573,9 @@
       QString prnStr;
       in >> prnStr >> year >> month >> day >> hour >> min >> sec;
-      if (prnStr.at(0) == 'G') {
+      if      (prnStr.at(0) == 'G') {
         _prn.set('G', prnStr.mid(1).toInt());
+      }
+      else if (prnStr.at(0) == 'J') {
+        _prn.set('J', prnStr.mid(1).toInt());
       }
       else {
Index: trunk/BNC/src/rinex/reqcedit.cpp
===================================================================
--- trunk/BNC/src/rinex/reqcedit.cpp	(revision 6376)
+++ trunk/BNC/src/rinex/reqcedit.cpp	(revision 6377)
@@ -515,5 +515,8 @@
         ephs.append(new t_ephGal(*dynamic_cast<t_ephGal*>(eph)));
       }
-    }
-  }
-}
+      else if (eph->type() == t_eph::QZSS) {
+        ephs.append(new t_ephGPS(*dynamic_cast<t_ephGPS*>(eph)));
+      }
+    }
+  }
+}
Index: trunk/BNC/src/rinex/rnxnavfile.cpp
===================================================================
--- trunk/BNC/src/rinex/rnxnavfile.cpp	(revision 6376)
+++ trunk/BNC/src/rinex/rnxnavfile.cpp	(revision 6377)
@@ -181,4 +181,10 @@
       }
       eph = new t_ephGal(version(), lines);
+    }
+    else if (prn[0] == 'J') {
+      for (int ii = 1; ii < 8; ii++) {
+        lines << stream->readLine();
+      }
+      eph = new t_ephGPS(version(), lines);
     }
     if (eph && eph->ok()) {
