OGL (Open GPS-LBS)
An open source library for GPS / LBS developers

Contents

Documention generated for Doxygen

What is OGL library

"Open GPS / LBS library" is a C# base library project for developers who would like to develop a GPS / LBS(Location Based Services) applications on PC(Windows) or PocketPC(CE). This library provides some classes for programmers, such as NMEA0183 parser, convert GPS data(waypoints, routes, and tracks) to GPX(the GPS eXchange Format) light-weight XML data format, WGS84 to TWD67(Taiwan) coordinate transformation, and other useful functions for LBS application program development.


Library Overview


About the "Library Overview" figure, The five classes(GPSComm, GPSDatum, Sound, Polygon, GPX) are using Microsoft C# language to designed and developed than wrapped in DLL file. The OGL Library can using on any .NET platform, supports not only Microsoft Windows, but also WIN.CE PDA. Because the .NET Compact Framework is a subset of the desktop .NET Framework, developers can easily reuse existing programming skills and existing code throughout the device, desktop, and server environments. Microsoft will deliver extensions to Visual Studio .NET, called Smart Device Programmability for Visual Studio .NET, that target the .NET Compact Framework.

GPSComm class
The class master function are enables access to GPS devices and reading data. Provider method to parsing NMEA-0183 strings, now supports $GPGGA, $GPGSA, $ GPRMC and $GPGSV. Developer can configure from which message to extract GPS receiver information(See follow table).

GPS Data
Source message
Geodetic position $GPGGA, $GPGLL, $GPRMC
Velocity and heading $GPRMC, $GPVTG
Date and time $GPRMC, $GPZDA
DOP $GPGSA, $GPGGA
Satellite information $GPGSV
Receiver Status $GPGGA, $GPGSA
DGPS $GPGGA
Magnetic variation $GPRMC

GPSDatum class (WGS84 to TWD67, TM2)
The class provides some coordinate transformation methods(convert coordinates between longitude/latitude and easting northing. WGS84 to TM2). You don't need to know any Algorithms that if you want to transform between datums. Unfortunately, I only research how about convert WGS84 to TWD67(datum to datum) and TM2(datum to Taiwan grid), which about these coordinate transformation methods. Other country datum conversion, i never try it... But don't worry ! the Algorithms is sames. just only different of some defined parameters.

Sound class
When GPS guiding tour on a PDA, this application enables the user to visit a specific space and, therein, reproduce specific images and call up other information about each space visited.That is so convenient, but often people are "lazy" seeing more info by text. sometimes "Voice-Guided Tour" is just a good choice, directly and more easy to operation. Sound class provides some methods to support develop "Voice-Guided Tour" application for PDA.

Polygon class
The system also needs to determine the user's location and provides some info, that when we develop a LBS( Location Based Services) application. An example would be someone using their GPS-PDA to zoo guiding tour and it would to determine the user's location and provide the animal info from before mine eyes. The "Polygon class" is based on an algorithm which detections Point(GPS geodetic position) in the Polygon(GPS-Area).

GPX class
About GPX(the GPS eXchange Format) is a data format for exchanging GPS data between programs, and for sharing GPS data with other users. Unlike other data files, which can only be understood by the programs that created them, GPX files actually contain a description of what's inside them, allowing anyone to create a program that can read the data within. This GPX class provide converts GPS data(waypoints, routes, and tracks) to be compatible with GPX format file.

Website design and development provided by Tsung-Te Wu ( p3p3 ).
Research advisor : Chih-Hung Wu ( Johnw ), Ph.D.