Home Articles Development of web-based automated GPS processing engine

Development of web-based automated GPS processing engine

S. Q. Salman
S. Q. Salman
[email protected]

Prof. M. N. Kulkarni
Prof. M. N. Kulkarni
[email protected]
Department of Civil Engineering, IIT Bombay

The Global Positioning System (GPS), based on carrier phase processing, is now popularly accepted as the most effective technique for surveying and many other applications involving positioning. In the conventional scenario for GPS surveying based on the post-processing mode, the users need to purchase a minimum of two sets of GPS receiver hardware as well as the associated processing software package. This adds significantly to the system cost, and in addition, GPS survey operation incurs additional logistical costs due to the need to operate both base (or reference) receiver, as well as the user receiver. In many instances the data post-processing steps may be more labour-intensive than the field data capture task, involving the operation of complex software, and subsequent transformation of the resulting coordinates into a form appropriate for the application These are the factors, which make it a costly technique.

World Wide Web (WWW), which involves communication and data exchange, has revolutionized many fields. It has mollified the difficulties involved in GPS surveying, which involves a lot of data handling. The information on Internet includes GPS raw data (which is provided by International GPS Service (IGS) and many other organizations), as well as some GPS processing software packages (Satirapod C, 2000). A GPS data processing software package developed using Matlab code is already available on the Internet for free download (Strang, Borre, 1997). With the availability of precise GPS ephemeris and satellite clock information, the Jet Propulsion Laboratory (JPL) has initiated some work on an automated GPS data analysis service for single-point, static positioning known as the ‘Auto Gipsy (AG) service’ (Zumberge et al., 1997; Zumberge, 1999). This service allows users to submit data via the Internet, but users are required to have their own FTP server and only data obtained from a dual-frequency receiver can be processed.

(Satirapod C, 2000). Most recently, JPL has presented a paper on an Internet-Based Global Differential GPS System which can produce single-point positioning solutions in real-time (Muellerschoen et al., 2000).

Alternatively a Web based GPS processing engine can be developed which enables the users to submit their rover station file via web page. The web page can be accessed from anywhere around the world. This data will be processed automatically by the web server application and the users will be notified of their results via email. The user need not have a FTP server for using this facility.

In this implementation, the user needs to operate one GPS receiver and the complementary reference data file can be obtained from a database. The system can be improved further if the agency provides its own base station data. In this case the accuracy of the results will be improved by the use of multiple reference station concept. The development of this facility leads to some data processing schemes not possible with commercial off-the-shelf GPS software. For example, true GPS network-based processing, where multiple reference receiver data is used (Rizos et al., 1999) is possible, permitting higher performance (in the form of higher accuracy, less observation time or longer baselines) than is currently the case.

This paper first describes the design and configuration of the web based application followed by the future developments and implementation issues.

Fig.1: The HTML page of the web-based automated GPS processing system

System Design and Configuration

Types of Web Server Applications
A web server application receives Hyper Text Transfer Protocol (HTTP) request messages from a web server. Web server applications consist of either a Common Gateway Interface (CGI) or use a web server Application Programming Interfaces (APIs) which is usually a Dynamic Link Library (DLL) or a Server side script like Preprocessor Hyper text (PHP). CGI could be implemented in any programming language but have lacked performance. When a request for a CGI script is made it would spawn another process. In the case of the web application referred to in this paper, PHP is used which is a server-side, cross-platform, HTML embedded scripting language. It interacts seamlessly with the Oracle Data base and is executed efficiently.

Oracle 8i Database is used for storing the reference station data. When user sends a rinex file a pro*c (SQL embedded in C++) program scans the file to get the start and end of the session and procures data for that time interval from the Oracle database.

Fig.2: Multi-reference receiver Network, Hongkong
The Applications
Uploading reference receiver and rover receiver RINEX data files from users This web server application requires the user to upload both the reference receiver and rover RINEX files to the server. The only software the user requires is a web browser and the Uniform Resource Locator (URL) address to the web server. Connecting to the server returns back a Hyper Text Markup Language (HTML) page allowing the user to enter their e-mail address and up to four filenames. The files consist of the RINEX observation and navigation files of the base station and the RINEX observation and navigation files of the rover station. Figure 1 shows the HTML page of the web-based automated GPS processing system. The e-mail address is used to send the results back to the user.

Once the files have been selected they can be uploaded to the servers hard disk. The uploading is being implemented with Preprocessor Hypertext (PHP) code embedded in HTML. This requires the Apache sever to be installed along with PHP. After this step GPS processing starts on the server. Once it executes the baseline processing software, a HTML page is returned to the user before the processing has finished. This step is essential, as the user does not have to wait until the processing is finished. The user can decide to log off the Internet and wait for the results to be sent back by e-mail. The file locations of the RINEX formatted GPS data are then sent to the IIT Local Area Network (LAN) from there it comes to the server in GPS lab. After processing the file using GAMIT software, the result file, is sent back to user by email. Some issues which should be considered include automatic deletion of uploaded file from the hard disk, after processing. The file name uploaded by user should be unique so as to avoid overwriting of existing file.

Uploading rover receiver RINEX files from users and using complementary RINEX files from a permanent GPS base station In this implementation the web server application allows the user to upload only rover RINEX files to the server and a complementary data file can be obtained from a database linked to a permanent GPS base station. This is an ideal solution, as the surveyor does not need to set up a base station. The surveyor only requires one GPS receiver to be used in the field. A Trimble 4000SSI GPS receiver is used as the reference receiver, along with the Trimble Reference station Software (TRS)

The GPS data is then inserted into an Oracle 8i database using Structured Query Language (SQL) at a one-second data rate. We can store about a week of GPS data in the database. The Old GPS data is constantly deleted from the database every 2 minutes. By repeatedly deleting old GPS data allows the database to reduce the number of rows to be deleted. However, by constantly adding new data the binary height of the index increases. This will increase the amount of I/O required when retrieving data from the database. Rebuilding of indexes is necessary in this application, as it reduces the binary height and the empty space caused from the constant deletion of the GPS data. For this application, GPS data is not being archived.

To extract the data from a database a user can use a web browser to retrieve RINEX formatted data. The current web server application could be further improved to extract the GPS data from the Oracle database for the relevant time period and allow the survey to use only one GPS receiver in the field. The system architecture is displayed in Appendix 1.

A Permanent GPS station has been established, which will be operated and maintained by the Department of Civil Engineering at IIT Bombay. The main tasks of the permanent GPS station will be to develop a web-based facility for GPS data processing, and serve as a reference station for GPS campaigns in nearby places.

Advantages of Processing GPS Data over the Internet
There are some advantages of processing data on the Internet. No software installation is necessary for the user. Any software updates can be done at the one location on the server. There is no need to install client software on the machine, as only a web browser software is required. The web browser has a common easy-to-use interface. The GPS processing software can decide automatically on what parameters are needed for a particular circumstance. There is no need to operate an anonymous FTP site, as in the case of JPL’s “Auto Gipsy” implementation. A user can upload RINEX observation and navigation files via the web browser. The program remains platform independent as far as the user is concerned, and there is no longer the need for commercial baseline processing software.

Disadvantages of Processing GPS Data over the Internet
However, there are few disadvantages with GPS data processing on the Internet. RINEX files tend to be large and the uploading time of RINEX files to the server can be long. However, this difficulty can be rectified if the bandwidth is good (Satirapod, 2000). Also there is less functionality as compared to the standard software. The standard software tends to come equipped with a gamut of options for coordinate transformation and network adjustments.

Future developments and implementation issues
The new web based processing technique described above helps the users in a number of ways For example, the cost incured in GPS surveying is cut down effectively, as users will no longer need to buy and maintain any data processing software they even need not understand the operation of such software. Furthermore, users need only purchase one GPS receiver for their data collection, if base station data is assumed to be available and linked to the web application. The quality control issue is the issue that needs to be emphasized. In the implementation discussed above, data processing involves only single baselines. Hence, it does not provide any check of solutions. QC and redundancy will increasingly become a serious concern for many high accuracy applications (Rizos, 1998).

The problem is to establish a check of GPS solutions, or to assure quality of the results. It is almost impossible to provide a check of GPS solutions using an implementation of only one Reference receiver. Therefore, a multi-reference receiver scenario is an alternative. The concept of a multi-reference receiver network is similar to traditional surveying techniques, as they ensure adequate levels of redundancy. The redundancies can be created by linking to nearby base stations. An example of a GPS multi-reference receiver network is one proposed for Hong Kong (Figure 2). This system provides a check by comparing a solution obtained from one Reference receiver against solutions obtained from other Reference receivers. If the discrepancy between these solutions is below a certain threshold value, the solution is then said to be acceptable (or ‘quality assured’). However, the system is still restricted to operating in the single baseline processing mode, and a large number of base stations need to be established in order to maintain the inter-receiver distances below about 10 km (between the nearest Reference receiver and the User receiver). An example of this is the GPS reference receiver network recently established in Singapore. This is a ‘true’ GPS network-based processing system, as it seeks to integrate the data from all reference receivers (see SNAP, 1999), for details of the project. In the implementation of this GPS reference receiver network, it is possible to obtain high accuracy and reliability of GPS solutions over baselines up to several tens of kilometers, even in rapid static positioning and using single-frequency instrumentation (Rizos et al., 1999).


  • Muellerschoen, R.J., Bertiger, W.I., Lough, M., Stowers, D., & Dong, D. (2000). Proc. National Meeting U.S. Institute Of Navigation, Anaheim, California, 26-28 January.
  • Rizos, C., (1999). The Singapore multiple GPS reference station network: some preliminary test results, Presented at GPS/GIS Showcase, Nanyang Technological University, Singapore, 19-20 November.
  • Rizos, C., Han, S., & Han, X., (1998). Performance analysis of a single-frequency, low-cost GPS surveying system, 11th Int. Tech. Meeting of the Satellite Division of the U.S. Inst. of Navigation GPS ION’98, Nashville, Tennessee, 15-18 September, 427-435.
  • Rizos, C., Satirapod, C., Chen, H.Y., & Han, S. (1999). GPS with multiple reference stations: surveying scenarios in metropolitan areas, 6th South East Asian Surveyors Congress, Fremantle, Australia, 1-6 November, 37-49.
  • Satirapod, C., Wong.K.., Rizos.C. (2000). A Web-based Automated GPS Processing System, 2nd Trans Tasman Surveyors Conference, New Zealand 20 -26 August 2000
  • SNAP,(1999).webpage .
  • Strang, G., & Borre, K. (1997). Linear Algebra, Geodesy, and GPS, Wellesley-Cambridge Press, Wellesley, Mass., 624pp.
  • Zumberge, J.F., (1999). Automated GPS Data Analysis Service, GPS Solutions, Vol. 2,
  • No. 3, 76-78.
  • Zumberge, J.F., Heflin, M.B., Jefferson, D.C., Watkins, M.M., & Webb, F.H. (1997). Precise point positioning for the efficient and robust analysis of GPS data from large networks, Journal of Geophysical Research, 102(B3), 5005-5017.