GPS4Palm Requirements

Overview

The aim of this document is to describe requirements and features of a GPS navigation program for PDAs running the PalmOS operating system. The PDA must provide a serial port to allow connection to an external GPS receiver. The GPS receiver must be able to output GPS data in the NMEA format. To allow downloading of map data on demand, a network interface to establish a connection to the internet - such as a mobile phone or a WLAN interface - can optionally be used.

Features

General Features

The program is required to provide the following features:

Detailed Features

  1. GPS Data
    1. Position Display

    2. The Position Display shall provide the following information in textual form as provided by the NMEA message format: Optionally the data might be converted to different units/position formats. Also the position could optionally be converted to other map datums than WGS84.

    3. Sky View Display

    4. The Sky View Display shall provide the following information:
    5. Navigation Display

    6. The Navigation Display shall provide the following information:
  2. Track Log
    1. Log Data Format

    2. The Track Log will be written to a Palm PDB file to allow data exchange with a desktop computer using hotsync. TBD: The set of data fields to be logged has still to be defined.

    3. Log Interval

    4. The logging interval shall be user definable. Optionally the logging interval could be defined in terms of distance instead of in terms of time.

    5. Maximum Log Size

    6. The maximum size available for a track log shall be user definable. Once the maximum size is reached, logging can either be stopped or wrap around to the start of the file.

  3. Waypoints/Routes
    1. Waypoint Data Format

    2. Waypoint Data will be written to a Palm PDB file to allow data exchange with a desktop computer using hotsync.
      A Waypoint database record shall consist of the following data:
    3. Waypoint Database Maintainance

    4. Functions shall be provided to add a new Waypoint to the database from scratch, by starting with data from an existing Waypoint and by starting with the current position. The user selected units shall be available for entering the data. It shall be possible to delete a Waypoint from the database. Direct support for modification of an existing Waypoint is not required. Instead, a new Waypoint can be created starting with data from an existing one. The new Waypoint can be edited as desired and the old one can be deleted afterwards.

    5. Waypoint Navigation

    6. GPS4Palm shall allow navigation to a selected Waypoint ("Active Waypoint") by providing distance and direction information from the current position to the Waypoint. (see "Navigation Display")

    7. Routes

    8. Routes consist of an ordered list of Waypoints. Navigation with routes shall work as described in "Waypoint Navigation". Once a Waypoint is reached (or passed by), the next Waypoint will be selected as the "Active Waypoint". TBD: add more details

    9. Waypoint Display

    10. The "Active Waypoint" (and possibly others) shall be displayed on the map in addition to the current position (see "Map Display").

  4. Map Display
    1. Map Orientation

    2. The map could be displayed either "North Up" or "Track Up". "North Up" will be implemented to meet code size and computing power requirements.

    3. Map/Cursor Position

    4. The cursor showing the current position could either be centered on the map ("Moving Map/Fixed Cursor") or moved ("Fixed Map/Moving Cursor"). "Fixed Map/Moving Cursor" will be implemented to meet code size and computing power requirements.

    5. Map Data Format

    6. Currently only raster images in GIF and PNG format are supported. The maps are stored as File Streams in the PalmOS PDB format. This allows data exchange with a desktop computer using hotsync. Maps can also be created on the desktop computer and converted to PDB files. The Database Name indicates scale and center coordinate of the map. Alternatively, this information could be stored in the image file (e.g. "info tag") to allow different kind of maps (e.g. topographic map/street map/nautical chart/...) with the same parameters in the future.
      As soon as suitable vector maps are available, these will be preferred due to smaller memory requirements and better scaling.

    7. Map Size

    8. The map dimension (in pixels) can either be equal to the map display region on the screen or larger to allow panning. The software shall be able to display both. The preferred map size shall be user-definable for loading maps on demand.

    9. Map Scale

    10. The software shall be able to handle maps of arbitrary scale. The preferred scale shall be user-definable. If the preferred map scale is not available, the map with best alternative shall be used. Optionally the map scale could be selected automatically depending on the current speed (low speed: large scale, small area, many details; high speed: small scale, large area, few details).

    11. Map Selection

    12. Normally the best map according to the current position and the user preferences will be used. If no suitable map is available, the software will depending on the user preferences. Alternatively, the software shall allow the user to select a map manually independent of the current position. For this purpose, the user shall be able to select a map already available or to request a map specifying its parameters (the most common coordinate formats DDMMSS, DDMM.MM, and UTM [+optional: Gauß-Krüger] shall be supported). Optionally selecting maps by geographic names using an Internet Geographic Name Server could be implemented in the future.

    13. Map Prefetching and Caching

    14. While loading maps on demand, not only the required map, but additional maps which might be needed soon could be loaded as well. A suitable strategy for caching maps (e.g. least recently used) has to be used. The cache size shall be user-definable. Optionally the user could protect selected maps from deletion.

  5. Internet Connection
    1. Preferences

    2. The software will use the Network Preferences and Connection Preferences provided by PalmOS to establish a connection to the internet.

    3. Optional User Interface Elements

    4. Optionally a way to force a disconnection could be implemented. Optionally a way to specify a HTTP proxy could be implemented.


Have a look at my homepage for updates and other interesting things. For comments or suggestions send me an email.

http://members.surfeu.de/matthias.prinke/gps4palm.html
© 02/2003 M.Prinke <matthias.prinke@surfeu.de>
created: 2003/07/16 20:45:29
last update:$Date: 2004-03-20 13:28:53 $
$Revision: 1.1 $