Changeset 7597 in ntrip for trunk/BNC/src/bnchelp.html


Ignore:
Timestamp:
Dec 3, 2015, 9:59:55 AM (9 years ago)
Author:
weber
Message:

Documentation completed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/BNC/src/bnchelp.html

    r7596 r7597  
    875875
    876876<p>
    877 A basic function of BNC is streaming GNSS data over the open Internet using the Ntrip transport protocol. Employing IP streaming for satellite positioning goes back to the beginning of our century. Wolfgang Rupprecht has been the first who developed TCP/IP server software under the acronym of DGPS-IP (Rupprecht 2000) and published it under GNU General Public License (GPL). While connecting marine beacon receivers to PCs with permanent access to the Internet he transmitted DGPS corrections in RTCM format to support Differential GPS positioning over North America. With approximately 200 bits/sec the bandwidth requirement for disseminating beacon data was comparatively small. Each stream was transmitted over a unique combination of IP address and Port. Websites informed about existing streams and corresponding receiver positions.
    878 </p>
    879 
    880 <p>
    881 To cope with an increasing number of transmitting GNSS reference stations, the Federal Agency for Cartography and Geodesy (BKG) together with the Informatik Centrum Dortmund (ICD) in Germany developed a streaming protocol for satellite navigation data called 'Networked Transport of RTCM via Internet Protocol' (Ntrip). The protocol was built on top of the HTTP standard and included the provision of meta data describing the stream contents. Any stream could now be globally transmitted over just one IP port: HTTP port 80. Stream availability and content details became part of the transport protocol. The concept was first published in 2003 (Weber et al. 2003) and based on three software components, namely an NtripServer pushing data from a reference station to an NtripCaster and an NtripClient pulling data from a caster to support a rover receiver. (Note that from a socket-programmers perspective NtripServer and NtripClient both act as clients; only the NtripCaster operates as a socket-server.) Ntrip could essentially benefit from Internet Radio developments. It was the ICECAST mulitmedia server which provided the bases for BKG's 'Professional Ntrip Broadcaster' with software published first in 2003 and of course again as Open Source under GPL.
    882 </p>
    883 
    884 <p>
    885 For BKG as a governmental agency, making Ntrip an Open Industry Standard has been an objective from the very beginning. The 'Radio Technical Commission for Maritime Services' (RTCM) accepted 'Ntrip Version 1' in 2004 as 'RTCM Recommended Standard' (Weber et al. 2005). Nowadays there is almost no geodetic GNSS receiver which does not come with integrated NtripClient and NtripServer functionality as part of the firmware. Hundreds of NtripCaster implementations are operated world-wide for highly accurate satellite navigation through RTK networks. Thousands of reference stations upload observations via NtripServer to central computing facilities for any kind of NtripClient application. In 2007 'Ntrip Version 2' was released which cleared and fixed some design problems and HTTP protocol violations. It also supports TCP/IP via SSL and adds optional communication over RTSP/RTP and UDP.
     877A basic function of BNC is streaming GNSS data over the open Internet using the Ntrip transport protocol. Employing IP streaming for satellite positioning goes back to the beginning of our century. Wolfgang Rupprecht has been the first who developed TCP/IP server software under the acronym of DGPS-IP (Rupprecht 2000) and published it under GNU General Public License (GPL). While connecting marine beacon receivers to PCs with permanent access to the Internet he transmitted DGPS corrections in RTCM format to support Differential GPS positioning over North America. With approximately 200 bits/sec the bandwidth requirement for disseminating beacon data was comparatively small. Each stream was transmitted over a unique combination of IP address and port. Websites informed about existing streams and corresponding receiver positions.
     878</p>
     879
     880<p>
     881To cope with an increasing number of transmitting GNSS reference stations, the Federal Agency for Cartography and Geodesy (BKG) together with the Informatik Centrum Dortmund (ICD) in Germany developed a streaming protocol for satellite navigation data called 'Networked Transport of RTCM via Internet Protocol' (Ntrip). The protocol was built on top of the HTTP standard and included the provision of meta data describing the stream contents. Any stream could now be globally transmitted over just one IP port: HTTP port 80. Stream availability and content details became part of the transport protocol. The concept was first published in 2003 (Weber et al. 2003) and based on three software components, namely an NtripServer pushing data from a reference station to an NtripCaster and an NtripClient pulling data from a caster to support a rover receiver. (Note that from a socket-programmers perspective NtripServer and NtripClient both act as clients; only the NtripCaster operates as socket-server.) Ntrip could essentially benefit from Internet Radio developments. It was the ICECAST mulitmedia server which provided the bases for BKG's 'Professional Ntrip Broadcaster' with software published first in 2003 and of course again as Open Source under GPL.
     882</p>
     883
     884<p>
     885For BKG as a governmental agency, making Ntrip an Open Industry Standard has been an objective from the very beginning. The 'Radio Technical Commission for Maritime Services' (RTCM) accepted 'Ntrip Version 1' in 2004 as 'RTCM Recommended Standard' (Weber et al. 2005). Nowadays there is almost no geodetic GNSS receiver which does not come with integrated NtripClient and NtripServer functionality as part of the firmware. Hundreds of NtripCaster implementations are operated world-wide for highly accurate satellite navigation through RTK networks. Thousands of reference stations upload observations via NtripServer to central computing facilities for any kind of NtripClient application. In 2011 'Ntrip Version 2' was released (RTCM SC-104 2011) which cleared and fixed some design problems and HTTP protocol violations. It also supports TCP/IP via SSL and adds optional communication over RTSP/RTP and UDP.
    886886</p>
    887887
     
    47194719</p>
    47204720<pre>
    4721 Usage:
     4721<b>Usage:</b>
    47224722   bnc --help
    47234723       --nw
     
    47284728       --key  {keyName} {keyValue}
    47294729
    4730 Network Panel keys:
     4730<b>Network Panel keys:</b>
    47314731   proxyHost       {Proxy host, name or IP address [character string]}
    47324732   proxyPort       {Proxy port [integer number]}
     
    47344734   sslIgnoreErrors {Ignore SSL authorization errors [integer number: 0=no,2=yes]}
    47354735
    4736 General Panel keys:
     4736<b>General Panel keys:</b>
    47374737   logFile          {Logfile, full path [character string]}
    47384738   rnxAppend        {Append files [integer number: 0=no,2=yes]}
     
    47414741   rawOutFile       {Raw output file, full path [character string]}
    47424742
    4743 RINEX Observations Panel keys:
     4743<b>RINEX Observations Panel keys:</b>
    47444744   rnxPath        {Directory [character string]}
    47454745   rnxIntr        {File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}
     
    47524752   rnxV3filenames {Produce version 3 filenames [integer number: 0=no,2=yes]}
    47534753
    4754 RINEX Ephemeris Panel keys:
     4754<b>RINEX Ephemeris Panel keys:</b>
    47554755   ephPath        {Directory [character string]}
    47564756   ephIntr        {File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}
     
    47594759   ephV3filenames {Produce version 3 filenames [integer number: 0=no,2=yes]}
    47604760
    4761 RINEX Editing and QC Panel keys:
     4761<b>RINEX Editing and QC Panel keys:</b>
    47624762   reqcAction            {Action specification [character string:  Blank|Edit/Concatenate|Analyze]}
    47634763   reqcObsFile           {Input observations file(s), full path [character string, comma separated list in quotation marks]}
     
    47944794   reqcNewReceiverNumber {New receiver number [character string]}
    47954795
    4796 SP3 Comparison Panel keys:
     4796<b>SP3 Comparison Panel keys:</b>
    47974797   sp3CompFile       {SP3 input files, full path [character string, comma separated list in quotation marks]}
    47984798   sp3CompExclude    {Satellite exclusion list [character string, comma separated list in quotation marks, example: "G04,G31,R"]}
    47994799   sp3CompOutLogFile {Output logfile, full path [character string]}
    48004800
    4801 Broadcast Corrections Panel keys:
     4801<b>Broadcast Corrections Panel keys:</b>
    48024802   corrPath {Directory for saving files in ASCII format [character string]}
    48034803   corrIntr {File interval [character string: 1 min|2 min|5 min|10 min|15 min|30 min|1 hour|1 day]}
    48044804   corrPort {Output port [integer number]}
    48054805
    4806 Feed Engine Panel keys:
     4806<b>Feed Engine Panel keys:</b>
    48074807   outPort  {Output port, synchronized [integer number]}
    48084808   outWait  {Wait for full observation epoch [integer number of seconds: 1-30]}
     
    48114811   outUPort {Output port, unsynchronized [integer number]}
    48124812
    4813 Serial Output Panel:
     4813<b>Serial Output Panel:</b>
    48144814   serialMountPoint         {Mountpoint [character string]}
    48154815   serialPortName           {Port name [character string]}
     
    48244824   serialHeightNMEASampling {Sampling rate [integer number of seconds: 0|10|20|30|...|280|290|300]}
    48254825
    4826 Outages Panel keys:
     4826<b>Outages Panel keys:</b>
    48274827   adviseObsRate {Stream observation rate [character string: 0.1 Hz|0.2 Hz|0.5 Hz|1 Hz|5 Hz]}
    48284828   adviseFail    {Failure threshold [integer number of minutes: 0-60]}
     
    48304830   adviseScript  {Advisory script, full path [character string]}
    48314831
    4832 Miscellaneous Panel keys:
     4832<b>Miscellaneous Panel keys:</b>
    48334833   miscMount    {Mountpoint [character string]}
    48344834   miscIntr     {Interval for logging latency [character string: Blank|2 sec|10 sec|1 min|5 min|15 min|1 hour|6 hours|1 day]}
     
    48364836   miscPort     {Output port [integer number]}
    48374837
    4838 PPP Client Panel 1 keys:
     4838<b>PPP Client Panel 1 keys:</b>
    48394839   PPP/dataSource  {Data source [character string: Blank|Real-Time Streams|RINEX Files]}
    48404840   PPP/rinexObs    {RINEX observation file, full path [character string]}
     
    48514851   PPP/snxtroSampl {SINEX troposphere file sampling rate [integer number of seconds: 0|30|60|90|120|150|180|210|240|270|300]}
    48524852
    4853 PPP Client Panel 2 keys:
     4853<b>PPP Client Panel 2 keys:</b>
    48544854   PPP/staTable {Station specifications table [character string, semicolon separated list, each element in quotation marks, example:
    48554855                "FFMJ1,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,7777";"CUT07,100.0,100.0,100.0,100.0,100.0,100.0,0.1,3e-6,7778"]}
    48564856
    4857 PPP Client Panel 3 keys:
     4857<b>PPP Client Panel 3 keys:</b>
    48584858   PPP/lcGPS        {Select linear combination from GPS code or phase data [character string; P3|P3&L3]}
    48594859   PPP/lcGLONASS    {Select linear combination from GLONASS code or phase data [character string: no|P3|L3|P3&L3]}
     
    48714871   PPP/seedingTime  {Seeding time span for Quick Start [integer number of seconds]}
    48724872
    4873 PPP Client Panel 4 keys:
     4873<b>PPP Client Panel 4 keys:</b>
    48744874   PPP/plotCoordinates  {Mountpoint for time series plot [character string]}
    48754875   PPP/audioResponse    {Audio response threshold in meters [floating-point number]}
     
    48804880   PPP/mapSpeedSlider   {Offline processing speed for mapping [integer number: 1-100]}
    48814881
    4882 Combine Corrections Panel keys:
     4882<b>Combine Corrections Panel keys:</b>
    48834883   cmbStreams      {Correction streams table [character string, semicolon separated list, each element in quotation marks, example:
    48844884                   "IGS01 ESA 1.0";"IGS03 BKG 1.0"]}
     
    48884888   cmbUseGlonass   {Use GLONASS in combination [integer number: 0=no,2=yes]
    48894889
    4890 Upload Corrections Panel keys:
     4890<b>Upload Corrections Panel keys:</b>
    48914891   uploadMountpointsOut   {Upload corrections table [character string, semicolon separated list, each element in quotation marks, example:
    48924892                          "www.igs-ip.net,2101,IGS01,pass,IGS08,0,/home/user/BNC$[GPSWD}.sp3,/home/user/BNC$[GPSWD}.clk,258,1,0,0 byte(s)";
     
    48974897   uploadSamplClkRnx      {Clock RINEX file sampling rate [integer number of seconds: 0|5|10|15|20|25|30|35|40|45|50|55|60]}
    48984898
    4899 Custom Trafo keys:
     4899<b>Custom Trafo keys:</b>
    49004900   trafo_dx  {Translation X in meters [floating-point number]
    49014901   trafo_dy  {Translation Y in meters [floating-point number]
     
    49144914   trafo_t0  {Reference year [integer number]}
    49154915
    4916 Upload Ephemeris Panel keys:
     4916<b>Upload Ephemeris Panel keys:</b>
    49174917   uploadEphHost       {Broadcaster host, name or IP address [character string]}
    49184918   uploadEphPort       {Broadcaster port [integer number]}
     
    49214921   uploadEphSample     {Stream upload sampling rate [integer number of seconds: 5|10|15|20|25|30|35|40|45|50|55|60]}
    49224922
    4923 Add Stream keys:
     4923<b>Add Stream keys:</b>
    49244924   mountPoints   {Mountpoints [character string, semicolon separated list, example:
    49254925                 //user:pass@www.igs-ip.net:2101/FFMJ1 RTCM_3.1 DEU 50.09 8.66 no 2;
     
    49284928   casterUrlList {Visited Broadcasters [character string, comma separated list]}
    49294929
    4930 Appearance keys:
     4930<b>Appearance keys:</b>
    49314931   startTab  {Index of top panel to be presented at start time [integer number: 0-17]}
    49324932   statusTab {Index of bottom panel to be presented at start time [integer number: 0-3]}
    49334933   font      {Font specification [character string in quotation marks, example: "Helvetica,14,-1,5,50,0,0,0,0,0"]}
    49344934
    4935 Note:
     4935<b>Note:</b>
    49364936Configuration options which contain one or more blank characters must be enclosed by quotation marks when specified on command line.
    49374937
    4938 Examples command lines:
     4938<b>Example command lines:</b>
    49394939(1) /home/weber/bin/bnc
    49404940(2) /Applications/bnc.app/Contents/MacOS/bnc
     
    49874987<tr><td>Weber, G. and L. Mervart </td><td>Real-time Combination of GNSS Orbit and Clock Correction Streams Using a Kalman Filter Approach, ION GNSS 2010.</td></tr>
    49884988
     4989<tr><td>RTCM SC-104</td><td>Amendment 1 to RTCM Standard 10410.1 Networked Transport of RTCM via Internet Protocol (Ntrip) - Version 2.0, RTCM Papter 139-2011-SC104-STD, 2011.</td></tr>
     4990
    49894991<tr><td>Huisman, L., P. Teunissen and C. Hu </td><td>GNSS Precise Point Positioning in Regional Reference Frames Using Real-time Broadcast Corrections, Journal of Applied Geodesy, Vol. 6, pp15-23, 2012.</td></tr>
    49904992
Note: See TracChangeset for help on using the changeset viewer.