Development of Land Vehicle Tracking System with GPS and Client/Server Structured Spatial Data Processing

Eun-Young Han
Multimedia Technology Research Laboratory, Korea Telecom
17 Woomyeon-dong, seocho-gu, Seoul 137-792, Korea

Young-Do Joo
Network Management Technology Laboratory, Korea Telecom
62-1 Whaam-dong, Yusung-gu, Taejeon 305-348, Korea


A vehicle tracking system, which can efficiently monitor and control the vehicles, is emerging in many ITS/IVHS-related areas. GIS and GPS technology linked with means of wireless communication are essential to the system determining the vehicle location. It is required to have a technique to handle the huge amount of spatial data entailed in a digital road map in order to trace the accurate position within a reasonable time. In this paper, we propose a client/server solution for the spatial data processing and a cache method to improve the system performance.

Keywords: GIS, GPS, DGPS, Spatial Database, Vehicle Tracking System, Client/Server Structure

1. Introduction

GIS (Geographic Information System) and GPS (Global Positioning System) technology have brought some breakthrough in the area of transportation monitoring. One of the most useful applications is a vehicle tracking system to determine and trace the position of the mobile object (automobile, vessel, aircraft, and so on). Especially, the land vehicle tracking system locates vehicles using GPS satellites, GPS receivers and auxiliary equipments including a fiber optical gyroscope and a wheel sensor, and displays the geographical coordinate of the vehicle position on a digital road map of the monitoring system.

The digital map is a vector-typed spatial database to manage topologically the spatial objects which correspond to entities existing in the real world. The map used in the vehicle tracking system contains a variety of geographic and traffic-oriented resources, and keeps the up-to-date information on roads, buildings, traffic signals, road constructions and associated transportation facilities. In case of a distributed environment which each monitoring station needs to possess its own spatial database, essential to the entire system is to guarantee data integrity or data consistency among all the database holders.

Spatial data processing based on a client/server structure may be a methodology well-suited for tackling this burdening problem. The approach employs a server and multi-clients architecture in which the server exists in a control center and each client falls under one of monitoring stations available in any public transportation agents or private companies. The proposed structure may achieve the data integrity and cost-effective maintenance of database, since the server manages exclusively the spatial data and deals with a series of processes requested from the client side. One of the big advantages is that if the server and clients are connected on-line, the server would obtain the traffic information occurring on the streets, many clients benefits those without any interconnection to other information channels.

This paper describes design and implementation of the client/server solution for spatial data processing crucial to the vehicle tracking system. A data caching technique is introduced in order to enhance the transmission efficiency between both sides. Also, technical issues of GPS, DGPS and wireless communication fields are presented to reach the proposed goal.

2. Client/Server Structure for Spatial Data Processing

Spatial data are a collection of graphic data such as points, lines, polygons to express real world objects. Generally spatial data require a great deal of processing time due to their voluminous size and consequently complicated operations performed on them. Therefore, unlike the conventional approach dealing mostly with textual data, spatial data need a desirable method to loosen these complexities and intricacies.

Now we can consider two techniques to handle such spatial data appropriately; one is to use an existing DBMS (Database Management System) as the underlying storage and to introduce a distinct engine which is intended for spatial processes. The other is to adopt a specially-designed DBMS to process both spatial and non-spatial data, concurrently. Even if the latter is a recommendable approach to view both data in a united data type or object by devising a new data model, it must be a challenging task in that design and implementation of the system demands substantial amount of time and research efforts. On the other hand, the first one has its merit in that it facilitates system's implementation, reuses powerful utilities and functions such as concurrency control, recovery, and transaction management available in the conventional DBMS.

Our system adopts an exclusive process engine for spatial data, SDE (Spatial Data Engine) loaded in the upper part of Oracle which is a commercial RDBMS (Relational DBMS). SDE centers on the client/server structure and specifically carries out processes and operations of spatial data between the RDBMS and the vehicle-monitoring programs running on the clients. As SDE permits clients to develop API (Application Program Interface), both the server and the clients take a share in their procedures each other, expanding the processing capacities. Particularly, SDE provides many functions associated with geographic data handling, spatial query and analysis, delivery of requested data on network, and embedding of functionalities into applications, and allows clients to connect, retrieve, query and fetch the server through SDE API.

To initiate a transaction, any client must send a request for initializing the session to the server. Then, the server makes one of subprocessors called the input/output manager which checks the authority of the given client. If its authentication is legal, the spatial data processor is activated. This processor, then, takes charge in subsequent processes requested from the client. The input/output manager can manipulate the multi-connections at one time and create an unique process for each client.

In the client/server structure, it is an extremely important feature to establish the system security and check the user authority properly. Our system limits user's access to some specified dataset through SDE security classes and prohibits a certain user or user group to read/write each security class by mask values. SDE can arrange the security check at any point, ranging from log-in time in the server to access time to dataset and further spatial objects.

3. GPS Technology

GPS is a navigation support system developed originally for military purpose. Recently, GPS technology is widely spreaded and used in many applications, since its C/A (Coarse Acquisition) code is freely available to civilians. As of today, there exists 24 GPS satellites. At least 4 of them are observable from any place in the globe. A GPS receiver accepts the signals involving the satellite's clock and orbit information off each one of the seen satellites and calculates the difference between the receiver clock at the signal's reception time and the satellite clock at its transmission time. The time difference derives a distance (usually called pseudo range) from the receiver to each one of satellites and then the location of each satellite can be elicited from it's orbit information. Finally, the location of the receiver is computed by the triangular measurement using the resulting positions of those satellites.

The C/A code is a pseudo noise signal with Selective Availability to decrease the degree of precision and can not avoid an error range of about 100 meters due to the inherent elements like satellite clock, satellite orbit, propagation delay and receiver mechanics.

DGPS (Differential GPS) is an advanced technique to offer a high precision of tracking, by pruning off those inaccuracies inevitable in GPS. In DGPS, another receiver is set up at a reference station (or base station) whose coordinates is exactly known and its position is calculated in the same way as GPS. Naturally, two coordinates yield a discrepancy value which will be used for compensation or correction of the receiver's location. In other words, this distance gap is broadcast to all the receivers roving around and each one of them can generate more accurate location, by eliminating the value of expected error. DGPS lowers the range of error up to within 10 meters in the navigation field. Thus, the vehicle tracking system gives us a foundation to employ DGPS because its toleration can't pass over those range of errors.

4. Wireless Communication

As you notice, the vehicle tracking system needs to be channelized by a wireless communication link from the receiver of the vehicle to the monitoring station. Beyond this kind of immediate demand, the advent of wireless era accelerates the nationwide construction of various wireless networks. Currently, a conventional private network, a TRS (Trunked Radio System) network, a cellular network, a satellite network and a data packet network may be a candidate for the application.

Now, let's briefly examine the characteristics of each one. A private network enables an user to preoccupy its unique radio-frequency, but it restricts severely the number of vehicles to be monitored because its circuit switching prevents other users from accessing the preemptive line. TRS gives a wide range of frequencies which a large number of users can share. Users enjoy a high rate of connections, a good quality of voice data and more a reasonable cost of communication. Recently, researches on digital TRS are actively under way in order to overcome some restraints of the analogue way. A cellular network still requires a high cost of the terminal and communication, even if it is rising as a booming business and can be an attractive choice in many respects. A satellite network has a superior coverage for the service. Its disadvantage is, however, a low rate of data transmission in addition to expensive receiver equipments.

A data packet network is considered applicable in that a message is transmitted by a series of short packets and its packet switching sequentially increases the network utilization. Besides, it makes retransmission of lost data possible when an error happens during the transmission. Actually, in case of the vehicle monitoring which data transmissions are frequently occurring in a short term, the data packet may be a effective means of communication. At present, we apply MOBITEX network developed by Ericsson and plan to take DataTac network of Motorola in the near future. In the data packet network, the messages are exchanged between the receiver and the station through a wireless modem connected to the receiver. A unique identification number assigned to each modem tells the location of a specific vehicle that carries it.

5. System Configuration

As mentioned earlier, the server system is composed of the relational DBMS, Oracle, and GIS engine, SDE installed on the top of UNIX operating system. Each client system available in the monitoring stations keeps a copy of the application program which is designed and developed with SDE's API, ODBC (Open Data Base Connectivity), and Visual C++ in the operating environment of PC based Windows 95. The application program for the vehicle monitoring consists of four main software modules: map control, information management, vehicle operation control, and message management. Table 5.1 indicates the detailed functions of each module.

<Table 5.1> Functions of a Client Module in the Vehicle Tracking System

The hardware components and network configuration to form the vehicle tracking system are illustrated in Figure 5.2. As you see, each vehicle transmits GPS data related to its location through MOBITEX packet network which is hierarchically made up by base-stations, local switches, and a packet switch center. The control center hands over the data from the packet switch center to a corresponding monitoring station along a dedicated line. On the other hand, the DGPS base station broadcasts the information indispensable for correcting the inaccurate location up to vehicles, following the reverse order of paths shown in the packet network. Here, another dedicated line needs to be installed between the DGPS station and the packet switch center. Finally, vehicles send back the precisely compensated location to the monitoring station.

<Figure 5.2> Hardware Components and Network Configuration

As a network protocol, we apply TCP/IP to the end-to-end client/server from the control center to the monitoring stations. The dedicated line connecting the packet switch center to the control center or DGPS base station adopts X.25 protocol. Figure 5.3 depicts each one of communication protocols to pass through the whole channel which leads to the monitoring station from a vehicle's receiver.

<Figure 5.3> Communication Protocols from the Vehicle's Receiver to a Monitoring Station

6. Cache Method for Spatial Data

In the suggested client/server structure, an intensive control center plays an active role, to settle the data inconsistency and consequential maintenance resulting from the situation in which the regionally dispersed monitoring stations share the same spatial data for their own purpose of vehicle tracking. The spatial DB server to keep the periodically updated road map basically sends the data by peculiar units of layers or areas according to a request of the clients. The client systems of public agencies/institutions or private enterprises closely related with the transportation affairs utilize those data immediately transferred into main-memory in the powerful PC-based system.

The size of spatial data required from the clients is enormous enough to take more than several minutes for the real-time transmission by even high-speed network. The magnitude of the areas and the number of the layers to be set up and the extent of the accompanied operations may be critical factors to affect the response time.

We apply a spatial data caching technique to the client/server system in order to decrease the number of time in transmission and the size of data downloaded,and eventually to raise the system efficiency. At initial booting time of the client system, a main part of monitoring areas may be activated through memory cache or disk cache, and then those cached areas are brought up instantly at the speed of memory access without giving any burden to the server. Whenever a request for other areas and layers is made, the server replies by following the usual procedures and sends the corresponding data. As a matter of fact, caching does not require frequent reloading, since the update cycle of the road map is relatively long. Empirically, the desirable size of cache is about twice as much as the main-memory of the monitoring system. First of all, selection of the layers which are necessarily entailed with the spatial area to be cached must be taken into consideration. The fundamental layers for the road map contains numerous geographical themes; roads, railroads, streams, rivers, administrative districts, transportation, buildings and many more. The number of layers entirely decides the level of spatial data processing in the vehicle tracking system.

7. Implementation

As a service area of the vehicle tracking system, we choose Seoul, the capital of Korea and surrounding 5 major satellite cities. A spatial database to cover the traffic maps of those metropolitan regions is constructed and implemented in a server system at our research lab. This main center and the monitoring stations scattered in Seoul build up the client/server structure through the dedicated lines of high speed. The base station for DGPS receiver is set up at the roof of the lab building.

Normally, the coordinate system to represent the position by GPS is WGS-84 which is not suitable for display on the plane map. We, therefore, develop a program to convert it into TM coordinate in order to achieve successful mapping. The information as to a vehicle's location is kept in a log file which usually contains an ID number of the vehicle, receiving time of GPS's location data, the converted TM coordinate, direction of the vehicle and so on. Later, we can keep track of the history of paths from this log data. In addition to the location data, the client program facilitates exchange of the messages associated with an intended service by using function keys in the receiver.

Figure 7.1 shows an example of the vehicle tracking embodied in the client application program. As illustrated in the picture, the digital map includes center lines within the roads to take advantage of a map-matching technique applied to the car navigation frequently. Based on the condition that "the land vehicle is almost always running on the roads", map-matching is a mechanism to hold the positioning accuracy even in cases that the vehicle experiences some difficulties in receiving the signals, or seems to be run off owing to the error of the digital map. Separately from center lines, nodes to point to intersections are involved in the map data. The information of center lines and nodes offers a way to find out the shortest path from origin to destination. We incorporate into the client program, a sophisticated algorithm to discover a geometrically shortest path.

<Figure 7.1> Client Application Program for Vehicle Tracking

8. Conclusion

In this paper, core issues have been described regarding GIS, GPS and wireless communication networks to be evolved during the development of the land vehicle tracking system. The implementation method has been also presented with client/server solution in spatial data processing, and a data-caching technique which is suitable for data retrievals in reasonable response time.

The land vehicle tracking system is one of the application programs Korea Telecom has developed to construct the national logistics network. As a result of implementing a prototype system, the data integrity and the cost-effective maintenance of spatial database can be fulfilled.

Nation-wide service of the system requires the application of more advanced technology such as satellite communication or multi-DGPS. There are yet more to study: how many vehicles a control center can control and process simultaneously, how often the vehicles can be polled to get their locations at the right moment, and etc.


B. C. Ooi and K. J. McDonell, "Extending a DBMS For Geographic Applications", Proc. of IEEE Data Engineering, pp. 590-597, 1989.

Charles Vlcek, Patricia Mclain, and Michael Murphy, "GPS/Dead Reckoning for Vehicle Tracking in the Urban Canyon Environment", Trimble Navigation, Ltd., 1993.

D. J. Maguire, "An Overview and Definition of GIS", Geographical Information Systems, Vol. 1, pp. 9-20, 1992

Michael Goodchild, "Accuracy of Spatial Databases", Tayler Francis, 1989

Motorola, MOBITEX System Overview, 1996

O. Guenther and A. Buchmann, "Research Issues In Spatial Databases", SIGMOD RECORD, Vol. 19, No. 4, pp. 61-68, 1990.

R. H. Guting, "An Introduction to Spatial Database Systems", VLDB Journal, Vol. 3, No. 4, pp. 357-399, 1994.

Robert L. French, "Land Vehicle Navigation and Tracking", Global Positioning System : Theory and Applications, Vol. 164, pp. 275-301, 1996

Ronald Braff, "Applications of the GPS to Air Traffic Control", Global Positioning System : Theory and Applications, Vol. 164, pp. 327-374, 1996

Steven E. Shladover, "Research and Development Needs for Advanced Vehicle Control Systems", IEEE Computer Society, 1993.

W. Richard Stevens, UNIX Network Programming, Prentice-Hall International, Inc., pp. 258-277, 1994

ESRI, Introduction to SDE, 1995

Jim Sennott, "Marine Applications", Global Positioning System : Theory and Applications, Vol. 164, pp. 303-325, 1996