Demystified/Altitude and Height

=Altitude and Height demystified=
To reliably takeoff and land an autonomous aircraft the Altitude is a very important factor.
The outcome of this page after reading will be you will fully understand how altitude and height are used within the Paparazzi Autopilot System
==What is Altitude==
Altitude in aviation.
In aviation and in spaceflight, the term altitude can have several meanings, and is always qualified by either explicitly adding a modifier (e.g. "true altitude"), or implicitly through the context of the communication. Parties exchanging altitude information must be clear which definition is being used.[1]
Aviation altitude is measured using either Mean Sea (MSL) or local ground level (Above Ground Level, or AGL) as the reference datum.
Pressure altitude divided by 30m (100 feet) as the flight level, and is used above the transition altitude (5500 m (18000 feet) in the US, but may be as low as 910 m (3000 feet) in other jurisdictions); so when the altimeter reads 5500ft on the standard pressure setting (1013.25hPa) the aircraft is said to be at "Flight level 55". When flying at a Flight Level, the altimeter is always set to standard pressure (29.92 inHg / 1013.25 mbar) which means it will indicate zero a the altitude where the set pressure is present.
On the flight deck, the definitive instrument for measuring altitude is the pressure altimeter, which is an aneroid barometer with a front face indicating distance (feet or metres) instead of atmospheric pressure.
There are several types of aviation altitude:
# Indicated altitude is the reading on the altimeter when the altimeter is set to the local barometric pressure at Mean Sea Level.
# Absolute altitude is the height of the aircraft above the terrain over which it is flying. Also referred to feet/metres above ground level (AGL).
# True altitude is the elevation above mean sea level. In UK aviation radiotelephony usage, the vertical distance of a level, a point or an object considered as a point, measured from mean sea level; this is referred to over the radio as altitude.(see QNH)[2]
# Height is the elevation above a ground reference point, commonly the terrain elevation. In UK aviation radiotelephony usage, the vertical distance of a level, a point or an object considered as a point, measured from a specified datum; this is referred to over the radio as height, where the specified datum is the airfield elevation (see QFE)[2]
# Pressure altitude is the elevation above a standard datum air-pressure plane (typically, 1013.25 millibars or 29.92" Hg and 15°C). Pressure altitude and indicated altitude are the same when the altimeter is set to 29.92" Hg or 1013.25 millibars.
# Density altitude is the altitude corrected for non-ISA International Standard Atmosphere atmospheric conditions. Aircraft performance depends on density altitude, which is affected by barometric pressure, humidity and temperature. On a very hot day, density altitude at an airport (especially one at a high elevation) may be so high as to preclude takeoff, particularly for helicopters or a heavily loaded aircraft.
These types of altitude can be explained more simply as various ways of measuring the altitude:
# Indicated altitude -- the altimeter reading
# Absolute altitude -- altitude in terms of the distance above the ground directly below it
# True altitude -- altitude in terms of elevation above sea level
# Height -- altitude in terms of the distance above a certain point
# Pressure altitude -- altitude in terms of the air pressure
# Density altitude -- altitude in terms of the density of the air
==What is height==
In aviation terminology, the terms height, altitude, and elevation are not synonyms. Usually, the altitude of an aircraft is measured from sea level, while its height is measured from ground level. Elevation is also measured from sea level, but is most often regarded as a property of the ground. Thus, elevation plus height can equal altitude. But the term altitude has several meanings in aviation; see Altitude in aviation.
==MSL==
Mean sea level (MSL) is a measure of the average height of the ocean's surface (such as the halfway point between the mean high tide and the mean low tide); used as a standard in reckoning land elevation.[1] MSL plays an extremely important role in aviation, where standard sea level pressure is used as the measurement datum of altitude at flight levels.
=Flightplan=
The paparazzi Flightplan can contain various values and also the "alt" and "height"
==What do you call AGL...==
In the airborne code, NavSetGroundReferenceHere() sets ground_alt to the current altitude (common_nav.c:84). This variable is for example use in HOME mode (nav.c:370) or in the Takeoff and Final block of the basic.xml flight plan. - in the GCS, AGL is computed by subtracting the terrain altitude (from the SRTM model ... if the file is available in data/SRTM) from the current altitude 
Altitude definitions
* hMSL : gps.hmsl is height in mm above mean sea level (height above geoid)
* gps altitude : gps.lla_pos.alt is height in mm above WGS84 reference ellipsoid 
* ground alt : ground altitude (above hMSL) defined by flightplan 
For a proper explanation of the differences read this article
Note that JSBsim uses GEOCENTRIC instead of GEODETIC latitude and altitude see FlightGear CoordinateSystem
===Waypoints===
The waypoints are the geographic locations used to specify the trajectories. A waypoint is specified by it's name and coordinates:
 <waypoint name wpx wpy [alt] [height]/> 
where wpx and wpy are real positional coordinates ( lat/lon ) or UTM coordinates ( utm_x0/utm_y0 ) or relative coordinates ( x/y ) in meters from your reference point {0,0} . alt and height are optional parameters and can be used to assign an altitude to a particular waypoint that is different from the globally defined alt parameter of the flightplan. 
TIP: To set the waypoint altitude relative to the ground altitude (ground_alt) of the flight plan for this waypoint, use the height attribute instead of alt.
An example:
 <waypoints>
 <waypoint name="HOME" x="0.0" y="30.0"/>
 <waypoint name="BRIDGEOVERTROUBLEDWATER" x="-100.0" y="60.0" alt="270."/>
 <waypoint name="MyBarn" x="-130.0" y="217.5" alt="3000."/>
 <waypoint name="3" x="-30.0" y="50" height="50."/>
 <waypoint name="4" x="-30.0" y="50." alt="ground_alt + 50"/>
 <waypoint name="_MYHELPERSPOT" x="-30.0" y="60" height="50."/>
 <waypoint name="_MYOTHERHELPERSPOT" x="-70.0" y="90" height="70."/>
 <waypoint name="TOWER" lat="48.858249" lon="2.294494" height="324."/>
 <waypoint name="MountainCAFE" utm_x0="360284.8" utm_y0="4813595.5" alt="1965."/>
 </waypoints>
==Notes==
An aircraft can fly perfectly happy below sea-level. For example in the Netherlands there are several Airports that lie below sea-level
 From Felix Mailinglist:
 it sounds like your waypoints are specified with an altitude lower than your (actual) ground altitude.
 E.g. if in your flight plan you have alt="50" ground_alt="0", your default waypoint altitude (above mean sea level, not above ground) is set to 50m and your ground altitude to 0m.
 
 Now, if your ground altitude is actually 65m above sea level, the geo_init will set this. But your waypoints are still set to the 50m above sea level, so they will be -15m from your current altitude...
 So you should set alt to a value high enough so your waypoints will actually be over ground ;-)
 
 You can also use the height attribute of the waypoints, e.g. <waypoint name="4" x="-30.0" y="60" height="50."/>, 
 which will place your waypoint 50m above ground.
=Abbreviations=
* MSL - Mean Sea Level
* AMSL - Above mean sea level (AMSL) refers to the altitude (in the air) of any object, relative to the average sea level datum.
* AGL - Above Ground Level
=Links=
* http://en.wikipedia.org/wiki/Altitude
* http://en.wikipedia.org/wiki/Height
* http://en.wikipedia.org/wiki/Above_mean_sea_level
* http://en.wikipedia.org/wiki/Ocean_surface_topography
* http://en.wikipedia.org/wiki/Geodetic_system
* http://lists.gnu.org/archive/html/paparazzi-devel/2009-08/msg00033.html