private static double? ParseAltitude( BitmapMetadata metadata )
{
var altitude = metadata.ReadUnsignedRational( AltitudeQuery );
if( ! altitude.HasValue )
{
return null;
}
var altitudeReference = metadata.ReadByte( AltitudeReferenceQuery );
if( altitudeReference.HasValue && altitudeReference.Value == 1 )
{
altitude = -altitude;
}
return altitude;
}