Changeset 8089 in ntrip
- Timestamp:
- Mar 23, 2017, 1:59:57 PM (8 years ago)
- Location:
- branches/BNC_2.12/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/BNC_2.12/src/bncclockrinex.cpp
r7570 r8089 93 93 << "PRN LIST" << endl; 94 94 95 _out << " 0 IGS 08"95 _out << " 0 IGS14 " 96 96 << "# OF SOLN STA / TRF" << endl; 97 97 -
branches/BNC_2.12/src/bnchelp.html
r8081 r8089 1009 1009 Corrections and encodes them to RTCM Version 3 SSR messages to finally upload them to 1010 1010 an Ntrip Broadcaster. The Broadcast Correction stream is referred to satellite 1011 Antenna Phase Center (APC) and reference system IGS 08. Orbits are saved on disk1011 Antenna Phase Center (APC) and reference system IGS14. Orbits are saved on disk 1012 1012 in SP3 format and clocks are saved in Clock RINEX format. 1013 1013 </li><br> … … 1019 1019 product in RTCM Version 3 SSR messages and uploads that to an Ntrip 1020 1020 Broadcaster. The Broadcast Correction stream is referred to satellite Antenna Phase Center (APC) and not to satellite 1021 Center of Mass (CoM). Its reference system is IGS 08. Orbits are saved in SP31021 Center of Mass (CoM). Its reference system is IGS14. Orbits are saved in SP3 1022 1022 format (referred to CoM) and clocks in Clock RINEX format. 1023 1023 </li><br> … … 3809 3809 Then, epoch by epoch: 3810 3810 <ul> 3811 <li>Continuously receive the best available orbit and clock estimates for all satellites in XYZ Earth-Centered-Earth-Fixed IGS 08reference system. Receive them every epoch in plain ASCII format as provided by a real-time GNSS engine such as RTNET or generate them following a combination approach. </li>3811 <li>Continuously receive the best available orbit and clock estimates for all satellites in XYZ Earth-Centered-Earth-Fixed IGS14 reference system. Receive them every epoch in plain ASCII format as provided by a real-time GNSS engine such as RTNET or generate them following a combination approach. </li> 3812 3812 <li>Calculate XYZ coordinates from Broadcast Ephemeris orbits. </li> 3813 <li>Calculate differences dX,dY,dZ between Broadcast Ephemeris and IGS 08orbits. </li>3813 <li>Calculate differences dX,dY,dZ between Broadcast Ephemeris and IGS14 orbits. </li> 3814 3814 <li>Transform these differences into radial, along-track and out-of-plane corrections to Broadcast Ephemeris orbits. </li> 3815 <li>Calculate corrections to Broadcast Ephemeris clocks as differences between Broadcast Ephemeris clocks and IGS 08clocks. </li>3815 <li>Calculate corrections to Broadcast Ephemeris clocks as differences between Broadcast Ephemeris clocks and IGS14 clocks. </li> 3816 3816 <li>Encode Broadcast Ephemeris orbit and clock corrections in RTCM Version 3 format. </li> 3817 3817 <li>Upload Broadcast Correction stream to Ntrip Broadcaster. </li> … … 3939 3939 <p> 3940 3940 <ul> 3941 <li>IGS 08 which stands for the GNSS-based IGS realization of the International Terrestrial Reference Frame 2008 (ITRF2008), and</li>3941 <li>IGS14 which stands for the GNSS-based IGS realization of the International Terrestrial Reference Frame 2014 (ITRF2014), and</li> 3942 3942 <li>ETRF2000 which stands for the European Terrestrial Reference Frame 2000 adopted by EUREF, and</li> 3943 3943 <li>NAD83 which stands for the North American Datum 1983 as adopted for the U.S.A., and</li> … … 3946 3946 <li>SIRGAS95 which stands for the Geodetic Datum adopted e.g. for Venezuela, and</li> 3947 3947 <li>DREF91 which stands for the Geodetic Datum adopted for Germany, and</li> 3948 <li>'Custom' which allows a transformation of Broadcast Corrections from the IGS 08system to any other system through specifying up to 14 Helmert Transformation Parameters.</li>3948 <li>'Custom' which allows a transformation of Broadcast Corrections from the IGS14 system to any other system through specifying up to 14 Helmert Transformation Parameters.</li> 3949 3949 </ul> 3950 3950 </p> … … 3964 3964 3965 3965 <p> 3966 <u>IGS 08:</u> As the orbits and clocks coming from real-time GNSS engine are expected to be in the IGS08system, no transformation is carried out if this option is selected.3966 <u>IGS14:</u> As the orbits and clocks coming from real-time GNSS engine are expected to be in the IGS14 system, no transformation is carried out if this option is selected. 3967 3967 </p> 3968 3968 … … 4106 4106 4107 4107 <p> 4108 <u>Custom:</u> Feel free to specify your own 14 Helmert Transformation parameters for transformations from IGS 08/ITRF2008into your own target system.4108 <u>Custom:</u> Feel free to specify your own 14 Helmert Transformation parameters for transformations from IGS14/ITRF2014 into your own target system. 4109 4109 </p> 4110 4110 … … 4220 4220 </p> 4221 4221 <p> 4222 The following screenshot shows the encoding and uploading of a stream of precise orbits and clocks coming from a real-time network engine in 'RTNET' ASCII format. The stream is uploaded to Ntrip Broadcaster 'products.igs-ip.net'. It is referred to APC and IGS 08. Uploaded data are locally saved in SP3 and Clock RINEX format. The SSR Provider ID is set to 3. The SSR Solution ID and the Issue of Data SSR are set to 1. Required Broadcast Ephemeris are received via stream 'RTCM3EPH'.4222 The following screenshot shows the encoding and uploading of a stream of precise orbits and clocks coming from a real-time network engine in 'RTNET' ASCII format. The stream is uploaded to Ntrip Broadcaster 'products.igs-ip.net'. It is referred to APC and IGS14. Uploaded data are locally saved in SP3 and Clock RINEX format. The SSR Provider ID is set to 3. The SSR Solution ID and the Issue of Data SSR are set to 1. Required Broadcast Ephemeris are received via stream 'RTCM3EPH'. 4223 4223 </p> 4224 4224 <p><img src="IMG/screenshot26.png"/></p> … … 5085 5085 <b>Upload Corrections Panel keys:</b> 5086 5086 uploadMountpointsOut {Upload corrections table [character string, semicolon separated list, each element in quotation marks, example: 5087 "www.igs-ip.net,2101,IGS01,pass,IGS 08,0,/home/user/BNC$[GPSWD}.sp3,/home/user/BNC$[GPSWD}.clk,258,1,0;5087 "www.igs-ip.net,2101,IGS01,pass,IGS14,0,/home/user/BNC$[GPSWD}.sp3,/home/user/BNC$[GPSWD}.clk,258,1,0; 5088 5088 www.euref-ip.net,2101,EUREF01,pass,ETRF2000,0,,,258,2,0"]} 5089 5089 uploadIntr {Length of SP3 and Clock RINEX file interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]} … … 5144 5144 //user:pass@www.igs-ip.net:2101/FFMJ1 RTCM_3.1 DEU 50.09 8.66 no 2" 5145 5145 (7) bnc --key cmbStreams "CLK11 BLG 1.0;CLK93 CNES 1.0" 5146 (8) bnc --key uploadMountpointsOut "products.igs-ip.net,98756,TEST,letmein,IGS 08,2,/Users/weber/BNC${GPSWD}.clk,,33,3,2;5146 (8) bnc --key uploadMountpointsOut "products.igs-ip.net,98756,TEST,letmein,IGS14,2,/Users/weber/BNC${GPSWD}.clk,,33,3,2; 5147 5147 www.euref-ip.net,333,TEST2,aaaaa,NAD83,2,,,33,5,5" 5148 5148 (9) bnc --key PPP/staTable "FFMJ1,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,7777; … … 5243 5243 <tr><td>IAG</td><td>International Association of Geodesy</td></tr> 5244 5244 <tr><td>ICECAST</td><td>Streaming Media Server</td></tr> 5245 <tr><td>IGS 08</td><td>IGS Reference Frame 2008</td></tr>5245 <tr><td>IGS14</td><td>IGS Reference Frame 2014</td></tr> 5246 5246 <tr><td>IGS</td><td>International GNSS Service</td></tr> 5247 5247 <tr><td>IOD</td><td>Issue of Data</td></tr> 5248 5248 <tr><td>IP</td><td>Internet Protocol</td></tr> 5249 <tr><td>ITRF20 08</td><td>International Terrestrial Reference Frame 2008</td></tr>5249 <tr><td>ITRF2014</td><td>International Terrestrial Reference Frame 2014</td></tr> 5250 5250 <tr><td>L3</td><td>Ionosphere-Free Linear Combination Of Phase Observations</td></tr> 5251 5251 <tr><td>LAN</td><td>Local Area Network</td></tr> -
branches/BNC_2.12/src/bncmain.cpp
r7983 r8089 251 251 "Upload Corrections Panel keys:\n" 252 252 " uploadMountpointsOut {Upload corrections table [character string, semicolon separated list, each element in quotation marks, example:\n" 253 " \"www.igs-ip.net,2101,IGS01,pass,IGS 08,0,/home/user/BNC$[GPSWD}.sp3,/home/user/BNC$[GPSWD}.clk,258,1,0;\n"253 " \"www.igs-ip.net,2101,IGS01,pass,IGS14,0,/home/user/BNC$[GPSWD}.sp3,/home/user/BNC$[GPSWD}.clk,258,1,0;\n" 254 254 " www.euref-ip.net,2101,EUREF01,pass,ETRF2000,0,,,258,2,0\"]}\n" 255 255 " uploadIntr {Length of SP3 and Clock RINEX file interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}\n" … … 311 311 "//user:pass@www.igs-ip.net:2101/FFMJ1 RTCM_3.1 DEU 50.09 8.66 no 2\"\n" 312 312 "(7) bnc --key cmbStreams \"CLK11 BLG 1.0;CLK93 CNES 1.0\"\n" 313 "(8) bnc --key uploadMountpointsOut \"products.igs-ip.net,98756,TEST,letmein,IGS 08,2,/Users/weber/BNC${GPSWD}.clk,,33,3,2;"313 "(8) bnc --key uploadMountpointsOut \"products.igs-ip.net,98756,TEST,letmein,IGS14,2,/Users/weber/BNC${GPSWD}.clk,,33,3,2;" 314 314 "www.euref-ip.net,333,TEST2,aaaaa,NAD83,2,,,33,5,5\"\n" 315 315 "(9) bnc --key PPP/staTable \"FFMJ1,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,7777;" -
branches/BNC_2.12/src/bncsp3.cpp
r6533 r8089 12 12 * Created: 25-Apr-2008 13 13 * 14 * Changes: 14 * Changes: 15 15 * 16 16 * -----------------------------------------------------------------------*/ … … 35 35 if (!_stream.good()) { 36 36 throw "t_sp3File: cannot open file " + fileName; 37 } 37 } 38 38 39 39 while (_stream.good()) { … … 47 47 // Constructor 48 48 //////////////////////////////////////////////////////////////////////////// 49 bncSP3::bncSP3(const QString& sklFileName, const QString& intr, int sampl) 49 bncSP3::bncSP3(const QString& sklFileName, const QString& intr, int sampl) 50 50 : bncoutf(sklFileName, intr, sampl) { 51 51 _inpOut = output; … … 63 63 // Write One Epoch 64 64 //////////////////////////////////////////////////////////////////////////// 65 t_irc bncSP3::write(int GPSweek, double GPSweeks, const QString& prn, 65 t_irc bncSP3::write(int GPSweek, double GPSweeks, const QString& prn, 66 66 const ColumnVector& xCoM, double sp3Clk) { 67 67 … … 80 80 } 81 81 82 // Print the new epoch 82 // Print the new epoch 83 83 // ------------------- 84 84 _out << "* " << epoTime.datestr(' ') << ' ' << epoTime.timestr(8, ' ') << endl; … … 92 92 << setw(14) << setprecision(6) << xCoM(3) / 1000.0 93 93 << setw(14) << setprecision(6) << sp3Clk * 1e6 << endl; 94 94 95 95 return success; 96 96 } … … 120 120 double dayfrac; 121 121 mjdFromDateAndTime(datTim, mjd, dayfrac); 122 122 123 123 int numEpo = _numSec; 124 124 if (_sampl > 0) { … … 126 126 } 127 127 128 _out << "#aP" << datTim.toString("yyyy MM dd hh mm").toAscii().data() 128 _out << "#aP" << datTim.toString("yyyy MM dd hh mm").toAscii().data() 129 129 << setw(12) << setprecision(8) << sec 130 << " " << setw(7) << numEpo << " ORBIT IGS 08HLM IGS" << endl;131 132 _out << "## " 130 << " " << setw(7) << numEpo << " ORBIT IGS14 HLM IGS" << endl; 131 132 _out << "## " 133 133 << setw(4) << GPSWeek 134 134 << setw(16) << setprecision(8) << GPSWeeks … … 186 186 t_sp3Sat* sp3Sat = new t_sp3Sat(); 187 187 istringstream in(_lastLine.substr(1).c_str()); 188 in >> sp3Sat->_prn >> sp3Sat->_xyz(1) >> sp3Sat->_xyz(2) >> sp3Sat->_xyz(3) >> sp3Sat->_clk; 188 in >> sp3Sat->_prn >> sp3Sat->_xyz(1) >> sp3Sat->_xyz(2) >> sp3Sat->_xyz(3) >> sp3Sat->_clk; 189 189 190 190 if (sp3Sat->_xyz.norm_Frobenius() == 0.0) { -
branches/BNC_2.12/src/bncwindow.cpp
r7983 r8089 1367 1367 // WhatsThis, Upload Corrections 1368 1368 // ----------------------------- 1369 _uploadTable->setWhatsThis(tr("<p>BNC can upload clock and orbit corrections to Broadcast Ephemeris (Broadcast Corrections) in RTCM Version 3 SSR format. You may have a situation where clocks and orbits come from an external Real-time Network Engine (1) or a situation where clock and orbit corrections are combined within BNC (2).</p><p>(1) BNC identifies a stream as coming from a Real-time Network Engine if its format is specified as 'RTNET' and hence its decoder string in the 'Streams' canvas is 'RTNET'. It encodes and uploads that stream to the specified Ntrip Broadcaster Host and Port</p><p>(2) BNC understands that it is expected to encode and upload combined Broadcast Ephemeris Corrections if you specify correction streams in the 'Combine Corrections' table.</p><p>To fill the 'Upload Corrections' table, hit the 'Add Row' button, double click on the 'Host' field to enter the IP or URL of an Ntrip Broadcaster and hit Enter. Then double click on the 'Port', 'Mount' and 'Password' fields to enter the Ntrip Broadcaster IP port (default is 80), the mountpoint and the stream upload password. An empty 'Host' option field means that you don't want to upload corrections.</p><p>Select a target coordinate reference System (e.g. IGS 08) for outgoing clock and orbit corrections.</p><p>By default orbit and clock corrections refer to Antenna Phase Center (APC). Tick 'CoM' to refer uploaded corrections to Center of Mass instead of APC.</p><p>Specify a path for saving generated Broadcast Corrections plus Broadcast Ephemeris as SP3 orbit files. If the specified directory does not exist, BNC will not create such files. The following is a path example for a Linux system: /home/user/BNC${GPSWD}.sp3<br>Note that '${GPSWD}' produces the GPS Week and Day number in the filename.</p><p>Specify a path for saving generated Broadcast Correction clocks plus Broadcast Ephemeris clocks as Clock RINEX files. If the specified directory does not exist, BNC will not create Clock RINEX files. The following is a path example for a Linux system: /home/user/BNC${GPSWD}.clk<br>Note that '${GPSWD}' produces the GPS Week and Day number in the filename.</p><p>Finally, specify a SSR Provider ID (issued by RTCM), SSR Solution ID, and SSR Issue of Data number.</p><p>In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will add that stream content to the Broadcast Ephemeris to save results in files specified via SP3 and/or Clock RINEX file path. You should then define only the SP3 and Clock RINEX file path and no further option in the 'Upload Corrections' table.</p>"));1369 _uploadTable->setWhatsThis(tr("<p>BNC can upload clock and orbit corrections to Broadcast Ephemeris (Broadcast Corrections) in RTCM Version 3 SSR format. You may have a situation where clocks and orbits come from an external Real-time Network Engine (1) or a situation where clock and orbit corrections are combined within BNC (2).</p><p>(1) BNC identifies a stream as coming from a Real-time Network Engine if its format is specified as 'RTNET' and hence its decoder string in the 'Streams' canvas is 'RTNET'. It encodes and uploads that stream to the specified Ntrip Broadcaster Host and Port</p><p>(2) BNC understands that it is expected to encode and upload combined Broadcast Ephemeris Corrections if you specify correction streams in the 'Combine Corrections' table.</p><p>To fill the 'Upload Corrections' table, hit the 'Add Row' button, double click on the 'Host' field to enter the IP or URL of an Ntrip Broadcaster and hit Enter. Then double click on the 'Port', 'Mount' and 'Password' fields to enter the Ntrip Broadcaster IP port (default is 80), the mountpoint and the stream upload password. An empty 'Host' option field means that you don't want to upload corrections.</p><p>Select a target coordinate reference System (e.g. IGS14) for outgoing clock and orbit corrections.</p><p>By default orbit and clock corrections refer to Antenna Phase Center (APC). Tick 'CoM' to refer uploaded corrections to Center of Mass instead of APC.</p><p>Specify a path for saving generated Broadcast Corrections plus Broadcast Ephemeris as SP3 orbit files. If the specified directory does not exist, BNC will not create such files. The following is a path example for a Linux system: /home/user/BNC${GPSWD}.sp3<br>Note that '${GPSWD}' produces the GPS Week and Day number in the filename.</p><p>Specify a path for saving generated Broadcast Correction clocks plus Broadcast Ephemeris clocks as Clock RINEX files. If the specified directory does not exist, BNC will not create Clock RINEX files. The following is a path example for a Linux system: /home/user/BNC${GPSWD}.clk<br>Note that '${GPSWD}' produces the GPS Week and Day number in the filename.</p><p>Finally, specify a SSR Provider ID (issued by RTCM), SSR Solution ID, and SSR Issue of Data number.</p><p>In case the 'Combine Corrections' table contains only one Broadcast Correction stream, BNC will add that stream content to the Broadcast Ephemeris to save results in files specified via SP3 and/or Clock RINEX file path. You should then define only the SP3 and Clock RINEX file path and no further option in the 'Upload Corrections' table.</p>")); 1370 1370 addUploadRowButton->setWhatsThis(tr("<p>Hit 'Add Row' button to add another line to the 'Upload Corrections' table.</p>")); 1371 1371 delUploadRowButton->setWhatsThis(tr("<p>Hit 'Del Row' button to delete the highlighted line(s) from the Upload Corrections' table.</p>")); … … 2603 2603 QComboBox* system = new QComboBox(); 2604 2604 system->setEditable(false); 2605 system->addItems(QString(",IGS 08,ETRF2000,NAD83,GDA94,SIRGAS95,SIRGAS2000,DREF91,Custom").split(","));2605 system->addItems(QString(",IGS14,ETRF2000,NAD83,GDA94,SIRGAS95,SIRGAS2000,DREF91,Custom").split(",")); 2606 2606 system->setFrame(false); 2607 2607 _uploadTable->setCellWidget(iRow, iCol, system); … … 2684 2684 QComboBox* system = new QComboBox(); 2685 2685 system->setEditable(false); 2686 system->addItems(QString(",IGS 08,ETRF2000,NAD83,GDA94,SIRGAS95,SIRGAS2000,DREF91,Custom").split(","));2686 system->addItems(QString(",IGS14,ETRF2000,NAD83,GDA94,SIRGAS95,SIRGAS2000,DREF91,Custom").split(",")); 2687 2687 system->setFrame(false); 2688 2688 system->setCurrentIndex(system->findText(hlp[iCol])); -
branches/BNC_2.12/src/upload/bnccustomtrafo.cpp
r7666 r8089 113 113 editLayout->addWidget(new QLabel(tr("t0 [y]")), 4, 4, Qt::AlignRight); 114 114 editLayout->addWidget(_t0LineEdit, 4, 5); 115 editLayout->addWidget(new QLabel("Specify up to 14 Helmert Transformation Parameters for transformation from IGS 08"), 5, 0, 1, 6, Qt::AlignCenter);115 editLayout->addWidget(new QLabel("Specify up to 14 Helmert Transformation Parameters for transformation from IGS14"), 5, 0, 1, 6, Qt::AlignCenter); 116 116 editLayout->addWidget(new QLabel("into target reference system."), 6, 0, 1, 6, Qt::AlignCenter); 117 117 … … 120 120 _buttonWhatsThis = new QPushButton(tr("Help=Shift+F1"), this); 121 121 connect(_buttonWhatsThis, SIGNAL(clicked()), this, SLOT(slotWhatsThis())); 122 122 123 123 _buttonCancel = new QPushButton(tr("Cancel"), this); 124 124 connect(_buttonCancel, SIGNAL(clicked()), this, SLOT(reject())); -
branches/BNC_2.12/src/upload/bncrtnetuploadcaster.cpp
r8081 r8089 249 249 int iEpoBegEarlier = _rtnetStreamBuffer.indexOf('*'); 250 250 if (iEpoBegEarlier != -1 && iEpoBegEarlier < iEpoBeg) { // are there two epoch lines in buffer? 251 251 _rtnetStreamBuffer = _rtnetStreamBuffer.mid(iEpoBegEarlier); 252 252 } 253 253 else { … … 2278 2278 2279 2279 double dc = 0.0; 2280 if (_crdTrafo != "IGS 08") {2280 if (_crdTrafo != "IGS14") { 2281 2281 crdTrafo(GPSweek, xP, dc); 2282 2282 }
Note:
See TracChangeset
for help on using the changeset viewer.