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:
- Display of basic GPS data in a user-friendly way
- Navigation to a Waypoint using Distance and Direction
- Maintaining Routes (Lists of Waypoints)
- Creation of Track Logs
- Map Display (Position and Waypoint)
- Automatic and Manual Selection of Maps
Detailed Features
- GPS Data
- Position Display
The Position Display shall provide the following information in textual form as provided by the NMEA message format:
- Time (UTC)
- Latitude and Longitude
- Speed Over Ground
- Altitude
- Course Made Good
- Magnetic Variation
- GPS Status
Optionally the data might be converted to different units/position
formats. Also the position could optionally be converted to other map
datums than WGS84.
- Sky View Display
The Sky View Display shall provide the following information:
- Signal-to-Noise ratio (SNR) for all satellites in view as a bar graph
- Position (Azimuth/Elevation) of all satellites in view as "sky view"
- Precision of fix (PDOP/VDOP/HDOP, Type of Fix [none, 2D, 3D])
- Number of satellites in view
- Battery voltage (percentage) of the PDA
- Navigation Display
The Navigation Display shall provide the following information:
- Course Made Good (CMG) as compass
- Desired Track (DTK) as pointer
- CMG and DTK as text
- Speed over Ground
- Name of next Waypoint (if specified)
- Distance to Waypoint (if specified)
- Time to go (TTG) (if Waypoint has been specified)
- GPS Status
- Track Log
- Log Data Format
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.
- Log Interval
The logging interval shall be user definable. Optionally the
logging interval could be defined in terms of distance instead of in terms
of time.
- Maximum Log Size
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.
- Waypoints/Routes
- Waypoint Data Format
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:
- Waypoint ID (up to 6 characters
- Position
- Comment (up to 39 characters)
- Proxmity Distance (in meters)
- Symbol ID
- Display Mode (none/symbol only/with name/with comment)
- Waypoint Database Maintainance
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.
- Waypoint Navigation
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")
- Routes
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
- Waypoint Display
The "Active Waypoint" (and possibly others) shall be displayed on the map in
addition to the current position (see "Map Display").
- Map Display
- Map Orientation
The map could be displayed either "North Up" or "Track Up". "North Up" will be
implemented to meet code size and computing power requirements.
- Map/Cursor Position
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.
- Map Data Format
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.
- Map Size
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.
- Map Scale
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).
- Map Selection
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
- download the required map without further requests
- download the required map after requesting a confirmation
- display a warning and clear the map screen
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.
- Map Prefetching and Caching
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.
- Internet Connection
- Preferences
The software will use the Network Preferences and Connection
Preferences provided by PalmOS to establish a connection to the
internet.
- Optional User Interface Elements
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 $
|