Developing GUI-Based Software to Generate RINEX File from Several GPS Receivers:
A Review on its Technical Programming and Cost Efficiency Impact
Dedi Atunggal SP 1,2
dediatunggal@ugm.ac.id
I Made Andi Arsana1,3
madeandi@ugm.ac.id
1Department of Geodesy and Geomatics
Gadjah Mada University, INDONESIA
http://www.geodesi.ugm.ac.id
2Universiti Teknologi PETRONAS, MALAYSIA
http://www.utp.edu.my
3Australian National Centre for Ocean Resources and Security
University of Wollongong
AUSTRALIA.
ABSTRACT
GPS data processing is usually preceded by generating a RINEX file. RINEX, standing for
Receiver Independent Exchange, is a conventional format that does not depend of type of GPS
receivers. The conversion is usually done using a DOS-based program called TEQC produced by
UNAVCO. Using this software, the conversion is done using text-based commands using several
parameters, which vary for different purposes and different types of receivers. Therefore, data
conversion may be time-consuming and inefficient. To overcome the issue of time consumption
and efficiency, an assisting tool needs to be developed. One of the possibilities is to develop
GUI-based (Graphical User Interface) software that enables users to generate RINEX file from
different GPS receivers in a simple procedure. For this purpose, such software has been
developed using Delphi software by utilizing function of TEQC. Instead of typing complicated
text-based command, this software enables users to generate RINEX files by a few clicks. The
basic idea of the software is by creating an auto executed batch file via the GUI. This batch file
has a similar function with the command line on TEQC. The different is that the batch file is auto
generated and the parameter of the TEQC options is also automatically included once user clicks
on the options of the interface. A survey to investigate how this software can improve the
efficiency of data conversion has been conducted as well. Result of the survey shows that expert
users can save averagely 60 seconds of time by utilizing this software compared to the use of
command line-based TEQC. Meanwhile, amateur users can save even two minutes. Referring to
the saving time, the use of the software may offer a great efficiency, especially if it is used in
states where labour salary is reasonably high.
1. Introduction
One of the most essential part of GPS data processing lies between the process of data collection
and the final post processing of the data. In most practises of project execution, GPS data may
have been collected in a native format specific to the receivers used for data acquisition. This will
require the data to be translated into Receiver Independent Exchange (RINEX) format (Gurtner,
1994). The data may also need to be edited to create correct RINEX headers, since there are
several RINEX versions where the headers are slightly different. Before 1997, the above tasks
were not easy and often involved several kinds of software with varying interfaces. The
University Navstar Consortium (UNAVCO) then introduced software which is based on a simple
unified approach called TEQC (pronounced "tek"). The software is named after its three main
functions: Translating, Editing, and Quality Checking) which can be performed separately or in
some combinations with one another.
TEQC is a freeware, available on its homepage at
http://www.unavco.ucar.edu/software/teqc as an executable application. The homepage also
provides information on how to subscribe into the TEQC e-mail forum which has a large number
of users from various universities, international agencies and organizations around the world,
including the International GNSS Service (IGS – formally known as International GPS Service).
TEQC was developed in early 1996 when the UNAVCO facility in Boulder, Colorado decided to
re-write its quality check program. It was initially developed by Chris Rocken and James Johnson
to facilitate better service to UNAVCO and GPS community. The code was originally written in
Fortran and the RINEX reader was taken from Bernese code through an agreement with the
University of Berne, Switzerland. The re-written code, TEQC, was designed by using C language
and has both RINEX reader and writer which are compatible with the latest RINEX version:
RINEX version 2. The details of this version can be seen at the official website of IGS,
ftp://igscb.jpl.nasa.gov/igscb/data/format/rinex2.txt. The reason for including the RINEX writer
was to incorporate the RINEX header editing functionality (Estey and Meertens, 1999). The early
code development was done on Solaris 2.3, using ANSI C compiler. Nowadays, the latest TEQC
version is compatible with various computer platforms and operating systems including:
- DEC Digital-UNIX OSF1 4.0
-
HP-UX PA-RISC 9.03 or higher
-
Linux on 486 or higher
-
Microsoft Windows 95/98/NT 4.0
-
Microsoft Windows 3.1.1 or later on 386 or higher
-
Microsoft DOS 5.x or later on 386 or higher
-
SGI Irix 5.3 or higher
-
Solaris Spare 2.3 or higher
-
Solaris x86 2.6 or higher
-
SunOS 4.1.1-4.1.3
TEQC is not an interactive software, since all parameters have to be preset and the software will
run all at once without stopping at critical points and asking the user for the input. Once the
executable is launched, it assumes that all parameters have been set by the user through the
command prompt (Hilla, 2002). Otherwise, the program will use the default parameters provided
by the software. The program also supports the Russian GNSS (GLONASS).
2. RINEX Translation by Using TEQC
Receiver manufacturers are continually providing RINEX translator on their software products.
The translator is used to convert the natively-formatted data resulted from the observation using
particular receivers into RINEX format. Unfortunately, the translator is mainly applicable only
for their own specific receiver raw data. In addition, most of commercial data processing
softwares do not provide the translator for native receiver raw data. Auspiciously, RINEX
translation by using TEQC covers various receivers of GPS/GLONASS raw data. At the mean
time, the program can be used for reading raw data and writing RINEX file from the following
format (www.unavco.org/facility/software/teqc):
- ARGO .dat and .orb format
-
Ashtech download B/E/S/D filesets
-
Ashtech RS-232 binary format
-
Ashtech Z-12 CGRS R-file format
-
Ashtech micro-Z BINEX and CGRS U-file format
-
AOA/JPL ConanBinary
-
AOA/JPL TurboBinary
-
Canadian Marconi binary format
-
IGS RTigs format
-
JPL Soc format
-
Leica System 200/300 DS filesets
-
Leica System 500 LB2 and MDB binary format
-
Leica MC1000/SR9600 LB2 binary format
-
Motorola Oncore binary
-
Navcom binary format
-
RINEX versions 1 and 2
-
Rockwell Zodiac binary format
-
Septentrio Binary Format (SBF)
-
TI-4100 ROM, GESAR and BEPP/CORE format
-
Topcon TPS/Javad JPS format
-
Trimble download DAT/EPH/ION/MES filesets
-
Trimble RS-232 binary and TSIP format
-
u-blox UBX format
For the aforementioned formats, TEQC has a built-in format recognizer that searches on the first
few bytes in the raw data file and determine the most probable format. Therefore, users do not
need to specify the format of native data that is being converted. To generate a RINEX file from a
Leica System 300 DS fileset, for example ds0001.obs, one needs to type the following command:
teqc –lc ds0001.obs > bm012011.07o
The corresponding RINEX navigation file can also be generated with a modification on the
command line as follow:
teqc –lc +nav bm012011.07n ds0001 > bm012011.07o
This modification on the command line with respect to the types of the data format can be viewed
by launching teqc + help command.
3. Converting TEQC into a GUI-based Windows Application
Generating RINEX file by using TEQC could be less convenient, especially for users with less
computer operating skills. This is due to the nature the software where the command has to be
written in a text command console. Such way to enhance the use of TEQC is by creating a
Graphical User Interface (GUI) application so that the users can generate RINEX file by clicking
the options provided on the GUI. Instead of writing a long complicated command, which is not
easy to remember, by using a GUI-based application, users can define parameters simply by
selecting them from available options. This may offer a great improvement on the use of TEQC.
With this GUI application, for example, users no longer need to do the modification on the
command line (such as; -lc for leica receiver, -tr for trimble receiver, etc.) that is commonly
preceded by consulting to the options on the help file, which also requires the users to type
another command line (teqc + help). Simply speaking, the motivation of generating a GUI-based
application is to lessen complication in using TEQC for data conversion.
The basic idea of the aforementioned GUI is by auto-creating an executable batch file. This batch
file has a similar function with the command line that one needs to type in a conventional mode
of TEQC usage. The different is that the batch file is auto generated and the parameter of the
TEQC options is also automatically included once one selects the options available on the
interface. As an example, once a user chooses a certain receiver on a combo box list of receivers,
it means that the corresponding parameter has been included on the batch file. Once the batch file
is executed, it launches the corresponding command to the TEQC. The flowchart of the process is
illustrated in Figure 1.

Figure 1. Flowchart of executing TEQC command line via GUI
4. Geomagic RINEX Generator
In this current work, A GUI-based windows application for TEQC has been created. The GUI is
called the Geomagic RINEX generator. Geomagic is an application designed to be used in
windows environments. As shown in Figure 2, this simple software is designed with several
options in its main menu.

Figure 2. Geomagic main menu
The main menu consists of two menus, File and Help. Menu File comprises two submenus, Start
RINEX Generator and Exit. Menu Help has three submenus, Instructions, Disclaimer and About.
Submenu Instructions provides brief information on how to operate the software, submenu
Disclaimer presents the statement on the use of TEQC and submenu About contains all
information about the software, including version and developer contact details.
To start translating RINEX file, one needs to click menu File and then chooses submenu Start
RINEX Generator. A new window will appear, as shown in Figure 3. Button Browse is used to
pick the GPS raw data that need to be translated to RINEX.

Figure 3. RINEX generator window
Once one has selected the raw data file, the name of the file will be automatically chosen as the
Input Filename and a command line “filename.filetype” will be added to the batch file (example:
ds0001.obs). As shown in Figure 4, once one click on one of the receiver listed on the box list
GPS Receiver, the corresponding command line with respect to the item clicked by the user will
be added to the batch file (example, if Leica DS fileset is clicked, command line = “-lc”). The
field on the Output Filename needs to be filled up manually by the user (example:
bm012011.07o). Then, once the user clicks the Process button, the full command line will be
launched on the TEQC program to create the RINEX file. The generated file can be automatically
viewed by checking the option Open Output File. However, users will only deal with a simple
procedure and all complicated internal processes are done internally without user’s awareness.

Figure 4. RINEX generator window
As defined on the previous section, the parameters on the full command line (example “teqc –lc
ds.0001.obs > bm012011.07o”) are actually set by the user once he interacts with the GUI. It has
to be highlighted that the database of the command lines for the receiver type has been built and
displayed on the list box of GPS Receiver. Below is a part of list of Delphi code for the list box
function:
procedure TForm1.ListBoxReceiverClick(Sender: TObject);
begin
if ListBoxReceiver.Items[ListBoxReceiver.ItemIndex] = 'Leica (*.obs)' then
begin
LabelExtension.Caption := 'obs';
LabelCommandReceiver.Caption := '-lc';
end;
if ListBoxReceiver.Items[ListBoxReceiver.ItemIndex] = 'Ashtech (*.230)' then
begin
LabelExtension.Caption := '230';
LabelCommandReceiver.Caption := '-ash d';
end;
if ListBoxReceiver.Items[ListBoxReceiver.ItemIndex] = 'Trimble (*.gps)' then
begin
LabelExtension.Caption := 'gps';
LabelCommandReceiver.Caption := '-tr s';
end;
if ListBoxReceiver.Items[ListBoxReceiver.ItemIndex] = 'ARGO (*.dat)' then
begin
LabelExtension.Caption := 'dat';
LabelCommandReceiver.Caption := '-argo';
end;
if ListBoxReceiver.Items[ListBoxReceiver.ItemIndex] = 'ConanBinary (*.cb)' then
begin
LabelExtension.Caption := 'cb';
LabelCommandReceiver.Caption := '-aoa cb';
end;
if ListBoxReceiver.Items[ListBoxReceiver.ItemIndex] = 'CanadianMB (*.log)' then
begin
LabelExtension.Caption := 'log';
LabelCommandReceiver.Caption := '-cmc b -week 839';
end;
The Delphi code for the Browse button function is as listed below.
procedure TForm1.ButtonBrowseClick(Sender: TObject);
begin
OpenDialogFileInput.Filter := LabelExtension.Caption+'|*.'+LabelExtension.Caption;
if (OpenDialogFileInput.Execute) then
InputFilename.Text := ExtractFileName(OpenDialogFileInput.FileName);
end;
Below is list of Delphi code for the Process button function which serves to launch the full
command line to the TEQC:
procedure TForm1.ButtonProcessClick(Sender: TObject);
var
S: String;
f: textfile;
A: array [0..80] of Char;
begin
S := 'teqc '+LabelCommandReceiver.Caption+' +nav '+OutputFilename.Text+
'n '+ InputFilename.Text+' > '+ OutputFilename.Text+'o';
AssignFile(f, 'gps.bat');
Rewrite(f);
Writeln(f, S);
CloseFile(f);
WinExec('gps.bat', SW_NORMAL);
if CheckBoxOpen.Checked then
begin
S := 'Notepad '+ OutputFilename.Text+'n';
StrPCopy(A, S);
WinExec(A, SW_NORMAL);
S := 'Notepad '+ OutputFilename.Text+'o';
StrPCopy(A, S);
WinExec(A, SW_NORMAL);
end;
end;
It has to be highlighted as well that the use of the Geomagic software will require the TEQC
program to be placed in the same directory where Geomagic is stored. Basically, Geomagic helps
users to define appropriate command to feed to TEQC and subsequently, TEQC executes the
command to generate RINEX file.
5. Effectiveness and Efficiency of the Application
A survey to investigate how this software can enhance the efficiency of data conversion has also
been conducted in Malaysia, Indonesia and Australia. The participants of the survey consist of
practitioners (operators and surveyors), vendor representatives, researchers and also academic
people (lecturers, undergraduate and postgraduate students). The information and feedback
expected from the survey were the effectiveness of the application, usage convenience and saving
time for the users when using the Geomagic software compare to original command line-based
TEQC.
With regard to effectiveness, it has been proven that the application enables user to generate
RINEX file from various kinds of native format data resulted by different kinds of receivers. Not
only the can the application read various kinds of file format, it can also generate RINEX file
without errors. Survey to simulate the conversion of different kinds of data format showed that
the application is compatible and effective for all types of receivers under investigation as listed
on the official website of UNAVCO.
Other feature investigated in this research is the usage convenience of the application. To an
extent, this might lead to a subjective result as each different user will have his/her different
subjective response due to personal experience and computer operating skill. However, this is
expected to inform general opinion on convenience as it is tested on a wide range if users.
Expert/professional and amateur users positively respond that using Geomagic is convenient and
is significantly easier than using conventional TEQC.
The efficiency refereed to here concerns time saving in the use of Geomagic compared to the use
of conventional TEQC. Furthermore, the time saving is also correlated with budget efficiency in
relation to labour cost. Result of the survey shows that expert users (i.e. GNSS researchers,
surveyors and operators who have been working with GNSS data processing for more than two
years) can save averagely 60 seconds of time by utilizing this software compared to the use of
command line-based TEQC. Meanwhile, amateur users can save even two minutes. Considering
that a GPS survey project can involve large number of observation stations, which in turn
involves large amount of data to handle, this time saving is reasonable significant to minimize
time consumption.
When the time saving is assessed against labour cost expenses, the efficiency may be promising.
In a big project of GPS data processing with a lot of observation data, the efficiency can means a
significant amount of budget cut. In a state where labour salary is reasonably high, such as
Australia, a surveyor or data processing operator may be paid AUD 150-250 per hour. Time
saving in data processing including data conversion, therefore, can contribute significantly to
budget cut in a big project.
6. Future Development
The current Geomagic RINEX Generator software is designed to make use one of three TEQC’s
functions that is translating RINEX files. Further developments on the two other functions
(editing and quality checking of GPS/GLONASS data) are very potential to be done in the future.
In addition to these, further improvement on the design of the GUI may be required.
7. Concluding Remarks
The developed GUI-based windows application has successfully enhanced the use of TEQC for
generating RINEX files. The merit of the use of Geomagic software when compared to original
command line-based TEQC are on the convenience of the use and time saving, that consequently
leads to cost efficiency.