Programming GPS and OpenStreetMap Applications with Java: The RealObject Application Framework

Published:
Content:
Author(s):
Free Standard Shipping

Purchasing Options

Paperback
ISBN 9781466507180
Cat# K14656

$62.95

$50.36

SAVE 20%


eBook (VitalSource)
ISBN 9781466507203
Cat# KE16166

$62.95

$44.07

SAVE 30%


eBook Rentals

Other eBook Options:
 

Features

  • Includes open source software code that readers can use for their own applications
  • Provides a concrete example of the paradigm for object-oriented modeling and programming
  • Demonstrates the team development effort required for complex software applications
  • Allows readers to customize the sample application to their own geographical location and make it available for remote access

Summary

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

Table of 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
Language Analysis
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)
Objects in Motion
Introduction
Every RealObject has a GPSunit
abstract Motion of a RealObject
Creating a Motorcycle
Observing Motorcycles

Processing Digital Maps
Introduction
Overview
A Map Compiler for OSM Data
Collecting Geometry in the Field
Map Attribution with JOSM
Map Formats
Processing Maps with Osmosis
Parsing OSM Files with the OSMparser
toolchain Configuration
Rendering OpenStreetMaps with Kosmos

Making Maps Navigable
Introduction
Map Compiler Branches
Networking
Creating a NavigableMap
Conclusion

Navigating Objects
Introduction
Navigation Systems
Route Calculation
Exploring the Graph with a GameMap
The Navigator

ROAPPS: REALOBJECT APPLICATIONS
Separating the RO Client and the ROA Server
Introduction
Observing Remote Objects
ROAF Client Software
The roaf.util.RMI Class

Client Server Architecture
Introduction
Status Report
Four-Layer Architecture
The ServerEngine
The RealObjectsServer
SOs: ServerObjects
Server Tuning
The RealObjectsBox
ROAdio Broadcasting

Rolling out a ROApp
Introduction
LC: The Game Scenario
Server Architecture
Application Layer: ROApp Extends ROServer
ROF: The RealObject Framework
ROApp clients: LCPlayer extends RealObject
More ServerObjects
The ROApp Scenario

Mission Accomplished: Time to Play
Introduction
Using the Application
Interactive GUIPlayers
Intelligent Players
Robocode

ROAF: REAL OBJECT APPLICATION FRAMEWORK
Evolution
Introduction
Game Scenario versus Real World
ROApp Classification
RO Classification
Decouple Mature ROs
The RealObject Hierarchy

Author Bio(s)