WPServe Database Secification

Tables

waypts
Contains all waypoints, and details.  Fields are designed (more or less) according to the IGC-format.
wplists
Contains details about predefined waypoint lists, this may be lists targeted for specific glider sites, competitions or other regions of a country.
lsmbrs
Provides is an M:N relation between waypts and wplists.  It sets up memberships of waypoints in waypoint lists.
formats Specifies waypoint file formats for downloading.  These are format
instructions for the WPServe script.
nations
A table that provide cull country names for the ISO 3166 two-character nation code.

The waypts Table

Internal fields
iwp
int
An internal waypoint identification number. This is an autoincrement field, and will hence be assigned by the DBMS.
id
char(8)
An internal waypoint identification code.  This code must be unique within the entire database, and is composed of the nation code (to characters) and the waypoint code (six characters).
no
decimal(4)
A waypoint number.  Although it is common to assign numbers to waypoints, this field is not part of the IGC-format. If no value is assigned, one will be assigned.
dlat, dlon
double

Latitude and longitude in decimal degrees.  These are not the official coordinates, but calculated from the lat-field and lon field. The main purpose of the coordinates is to facilitate geographcal searching for waypoints.
Mandatory fields
code
char(6)
Unique identification or waypoint code.  Must be all uppercase letters, and non-ascii characters are not permitted. This will be the official name of the waypoint and must be unique within each country.
nation
char(2)
ISO 3166 two-character nation code. If a club is providing a waypoint in a neighbouring country, the nation code of the club should be used. Not the country it is in.
lat, lon
char(10/11)
Official waypoint coordinates; WGS84 latitude and longitude, formatted as "DD nMM.mmmX" for latitudes and "DDD MM.mmmX" for longitudes.
Recommended fields
title
char(20)
Full waypoint title.
exact
char(50)
Exact description of the physical feature on the gound.  For example "church", "club house", "tower".
date
date
Date, in ISO-8601 format (YYYY-MM-DD), of the last update of this waypoint.
freq
decimal(7,3)
Radio frequency in MHz relevant to the point.  Should be given if the the waypoint is an airfield.
Optional fields
alt
char(8)
Waypoint altitude. Is either on the form AAAA.am if in meters, or AAAAAf for feet.
type
char(5)
Waypoint type code. The presence of the following charactes in this field, indicates the the following type:
  • A  airfield with hard runway(s).
  • G  airfield with grass runway(s).
  • L  possible glider landing site, ge. an outlanding field in areas  where these are rare.
  • S  start point
  • F  finish point
  • T  turn point
  • N  no physical presence on ground
  • #  warning, for example if the waypoint is near restricted airspace.
According to IGC, "H" would designate the home point, but this should not be stored in the database as the user should be able to select this before downloading.
fndblty
char(2)
Findability of the point. This is a letter A, B, C, D or E for the ease of finding the point from the air, and N indicates No physical presence on the ground. Category A is good and marked on commonlyused air maps (scale about half million), E is poor and might need local knowledge.
feature
fdist
fbear
char(12/5/3)
The approximate distance (fdist) and bearing (fbear) from a large well-known feature, typically a city, or town. The distance should be on the form DDDk/nm/mi (k=km, nm=Nautical Miles, mi=Statute Miles) and bearing is the approximate bearing (true degrees) from the feature.
descr
char(70)
Provides further details of the point, where needed.
maptype
mapsht
char(6/6)
Maptype is the map type or scale, and mapsht the sheet number, of a detailed map on which the exact point can be found. Map type may typically designate the map series name, such as "M711" or "N50", or designate is scale such as "50k".
url
char(100)
If provided, describes an URL to a web-page associated with the way point.  For example if the waypoint is a glider site, could point to the home page of the gliding club.
spare
char(255)
You can add any information you like here.

The wplists Table

Internal Fields
id
char(8)
A unque waypoint list identificator.  The two first charactes is the national designator, the rest is for free choice, but should be drawn from list ''name''.
Required Fields
name
char(32)
The name of the waypoint list
nation
char(2)
ISO 3166 two-character nation code.
date
date
Date that the list was issued.  Should not be before the date of the last waypoint update in the list, and should be updated every year.
Optional Fields
home
char(8)
Waypoint id (waypts.id) of the default home point for this waypoint list.
contact
char(64)
Contact to responsible person/organization maintaining the list. Preferrably with an email address.
version
char(10)
A version string

The lsmbrs Table

ls_id
char(8)
waypoint list identifier: wplists.id
wp_id
char(8)
waypoint identifier: waypts.id

The formats Table

id
char(8)
Format identifier string that should be created on base of the format name.  Note when presented to the users, the formats will be sorted according to this field, so make sure that the name and id will be sorted identically.
name
char(32)
Format name, preferrably with a version number if applicable.
ext
char(4)
Default file name extension for files of this format.  Shall not include the period, so four-charcter extensions are allowed.
mode
'bin' | 'text'
Specifies whether the file format is text or binary.
header
text
Specifies the format of the header.  NULL if the format does not provide any header.
record
text
Specifies the format of a waypoint record.  As with the header and trailer format, you should read about the format of this string in the source code documentation.
trailer
text
Specifies the format of the file trailer. NULL if the format does not provide any header
comment
char(20)
Specifies the format of comments.  For example "# [comment]\n"

The nations Table

ccode
char(2)
ISO 3166 two-character nation code.
name
char(45)
Name of country (English).