Web Site of Robert John Morton
Moving Map Project
A collection of navigation functions written in 'C' from which a moving map navigator was later implemented as a Java applet.
This Moving Map was built as a small demonstrator for the EBS Nomad Project. The function MapBox( ) creates a square map window centred on the aircraft. Within this map window ShowNode( ) displays solid circles. These represent way points such as geographical features or cities. The scale of the moving map can be varied over a wide range. When the scale covers a very wide area, the function NodeTilt( ) is called to transform the solid circles into ellipses. This mimics the effect of their angling due to the curvature of the Earth.
The way-points move on the map as the aircraft travels. The names and co-ordinates of all the way points are kept in a file called WayPts.DAT. After calling MapIni( ) to initialise the map display, main( ) cycles endlessly through WayPts.DAT calling RandB( ) to compute (using full spherical geometry) the distance and bearing of each way point in turn from the aircraft. These are then converted by RBtoXY( ) to logical screen co-ordinates. Its circle (or ellipse) is then re-displayed in the map window. It also calls ShowData( ) which displays the aircraft's current co-ordinates, heading, height and speed. To do this it calls RadKm( ) and RadDeg( ) to convert the Earth radians used in the computations to kilometres and degrees for display. Details about the next way-point are also shown.
This test-bed program flies the aircraft at 1000km/hr from Stansted to Ringway. Its motion is effected by GndTrk( ). This contains a radial intercept function which brings the aircraft on to Ringway's approach radial from its take-off heading at Stansted.
From this test-bed project, I developed a waypoint radial capture function to be used in navigation applications.
© 1997 Robert John Morton