function Coordinate_Transformations.From_Degrees_Minutes_Decimal_Minutes
  (Item : in String) return Angle_In_Degrees is
   Decimal_Point : Natural := Item'First;
begin
   loop
      exit when Decimal_Point > Item'Last;
      exit when not (Item (Decimal_Point) in '0' .. '9');
      Decimal_Point := Decimal_Point + 1;
   end loop;

   return
     Angle_In_Degrees'Value (Item (Item'First .. Decimal_Point - 3)) +
     Angle_In_Degrees'Value (Item (Decimal_Point - 2 .. Item'Last)) / 60.0;
end Coordinate_Transformations.From_Degrees_Minutes_Decimal_Minutes;

