Written by an expert in the development of GPS systems with digital maps and navigation,Programming GPS and OpenStreetMap Applications with Java: The RealObject Application Framework provides a concrete paradigm for object-oriented modeling and programming. It presents a thorough introduction to the use of available global positioning data for the development of applications involving digital maps.
The author first describes the different formats of GPS data and digital maps and shows how to use recorded GPS traces to replay and display this data on a digital map. Then, he works through in detail the processing steps of obtaining dedicated data from OpenStreetMaps and how to extract a network for a simple navigation application. For each topic covered—GPS data, OpenStreetMaps, and navigation—Java code is developed that can easily be adapted to the readers’ needs and locality.
Finally, all components are put together in a sample computer-game application modeled on the well-known board game, Scotland Yard. The computer game is intended to be a basis from which readers can develop and customize their own application for their desired geographical area. The developed application can be "published" on the Internet and made available for interactive multiplayer competition.
This book provides a fun and interesting way to learn distributed programming with Java and real-world data. Open-source software is available on a companion website at www.roaf.de
Contents
FROM VISION TO MISSION
Software Objects and Real-World Representations
Introduction
Controlling Remote Objects via References
Object-Oriented Programming
Models in Physics
The Vision
Introduction
Physical Objects
Projecting Reality into Virtual Worlds
Real-World Objects (ROs)
Real Object Applications (RO-Apps)
Real Object Application Framework (ROAF)
OOA Analysis and Mission
Introduction
Lanalysis
Semantic Network
Gathering Information
Data Dictionary
Problem Statement
Candidate Objects
The Mission
GLOBAL POSITIONING
Space and Time
Introduction
A GeoPoint for Spatial Coordinate Systems
A Position Interface for Various Coordinate Systems
A Route to Manage an Array of Positions
NAVSTAR GPS
GPSpoint implements GPSinfo
GPStrace extends Route
JavaGPS
Requirements for a GPSunit
Real vs. SimulatedMotion
Recording a liveTrace
Loading a GPX File to a GPStrace
Play Back a GPStrace
The GPS Package: roaf.gps
From Geography to Cartography
Introduction
Map Projection Systems
Requirements for a Map GUI
The Framework Pattern
Creating a MapPanel
Creating a Swing Mapping Application
Interacting via MapEvents
Deploying the GPXviewer.jar
The GUI Mapping Package
REALOBJECTS (ROs) ...