GPSTk is an open source library and suite of applications for the satellite navigation community--to free researchers to focus on research, not lower level coding.
GPS users employ practically every computational architecture and operating system. Therefore the design of the GPSTk suite is as platform-independent as possible. Platform independence is achieved through use of the ISO-standard C++ programming language. The principles of object-oriented programming are used throughout the GPSTk code base in order to ensure that the code is modular, extensible and maintainable.
The GPSTk suite consists of a core library, auxiliary libraries, and a setof applications. The GPSTk provides a wide array of functions that solve processing problems associated with GPS such as processing or using standard formats such as RINEX. The libraries are the basis for the more advanced applications distributed as part of the GPSTk suite.
The GPSTk core library provides the most robust, broadly useful, and platform independent code in the GPSTk. It provides a number of models and algorithms foudn in GPS textbook and classic papers, such as solving for the user position or estimating atmospheric refraction. Common formats are supported as well, such as RINEX or SP3.
The auxiliary libraries contains code that could be useful in GNSS processing but do not fit this description and portability of the core library. This code could contain highly specialized algorithms or be related to the message format of a specific receiver. The code could require libraries or system functions that are broadly available but not part of the C++ standard.