class FlightSegment

Constants

TABLE_STRUCTURE

Public Class Methods

update_averages!() click to toggle source
# File lib/earth/air/flight_segment.rb, line 64
def update_averages!
  # Derive load factor, which is passengers divided by available seats
  where('seats > 0').update_all 'load_factor = 1.0 * passengers / seats'
  
  # Assume a load factor of 1 where passengers > available seats
  where('passengers > seats AND seats > 0').update_all 'load_factor = 1'
  
  # Derive freight share as a fraction of the total weight carried -- assume 90.718474 kg (200 lbs) per passenger (includes checked baggage)
  # FIXME TODO assume 100 kg per passenger?
  where('(freight + mail + passengers) > 0').update_all 'freight_share = 1.0 * (freight + mail) / (freight + mail + (passengers * 90.718474))'
  
  # Derive average seats per flight
  where('flights > 0').update_all 'seats_per_flight = 1.0 * seats / flights'
end

Public Instance Methods

airline() click to toggle source
# File lib/earth/air/flight_segment.rb, line 80
def airline
  if airline_bts_code
    Airline.where(:bts_code => airline_bts_code).first
  else
    Airline.where(:icao_code => airline_icao_code).first
  end
end