def __init__(self, date, lin_reg_coef_filename):
        lin_reg_coef_file = open(lin_reg_coef_filename)
        self.coef_ = pickle.load(lin_reg_coef_file)
        self.date_ = date
        self.flight_graph_ = centralities.gen_daily(date)
        self.flight_network_info_ = FlightNetworkInfo()
        self.conn_ = sqlite3.connect("Flights.sqlite")
        self.cursor_ = self.conn_.cursor()

        depDelayMap, arrDelayMap = self.flight_network_info_.AvgDelaysByAirport()
        self.airportDepDelays_ = depDelayMap
        self.airportArrDelays_ = arrDelayMap
        depDelayMap, arrDelayMap = self.flight_network_info_.AvgDelaysByCarrier()
        self.carrierDepDelays_ = depDelayMap
        self.carrierArrDelays_ = arrDelayMap

        self.centralities_ = centralities.gen_node_info(date)

        ymd = self.date_.split("-")
        self.year_ = int(ymd[0])
        self.month_ = int(ymd[1])
        self.day_ = int(ymd[2])
    def __init__(self, date, lin_reg_coef_filename):
        lin_reg_coef_file = open(lin_reg_coef_filename)
        self.coef_ = pickle.load(lin_reg_coef_file)
        self.date_ = date
        self.flight_graph_ = centralities.gen_daily(date)
        self.flight_network_info_ = FlightNetworkInfo()
        self.conn_ = sqlite3.connect('Flights.sqlite')
        self.cursor_ = self.conn_.cursor()

        depDelayMap, arrDelayMap = self.flight_network_info_.AvgDelaysByAirport(
        )
        self.airportDepDelays_ = depDelayMap
        self.airportArrDelays_ = arrDelayMap
        depDelayMap, arrDelayMap = self.flight_network_info_.AvgDelaysByCarrier(
        )
        self.carrierDepDelays_ = depDelayMap
        self.carrierArrDelays_ = arrDelayMap

        self.centralities_ = centralities.gen_node_info(date)

        ymd = self.date_.split('-')
        self.year_ = int(ymd[0])
        self.month_ = int(ymd[1])
        self.day_ = int(ymd[2])
def generate_degree_heatmap_points(airports, airport_info):
  pts = []
  log_degs = [log(int(v[0]) + int(v[1])) for k, v in  airport_info.items()]
  max_log_deg = max(x for x in log_degs)
  for key, val in airports.iteritems():
    if key in airport_info.keys():
      log_deg = log(int(airport_info[key][0])+int(airport_info[key][1]))
      normalized_log_deg = int(heatmap_scale*float(log_deg)/max_log_deg) + 1
      for i in range(normalized_log_deg):
        pts.append(val)
    else:
      pts.append(val)
  return pts

airports = read_in_airports()
daily_flights = c.gen_daily('2010-12-23')
airport_info = c.gen_node_info('2010-12-23', daily_flights)
arr_delays, dep_delays = read_in_delays()
avg_delays = calculate_normalised_delays(arr_delays, dep_delays)

del_pts = generate_delay_heatmap_points(airports, avg_delays)
deg_pts = generate_degree_heatmap_points(airports, airport_info)
del_deg_pts = generate_delay_over_degree(airports, avg_delays, airport_info)
del_bc_pts = generate_delay_times_betw_centrality(airports, avg_delays, airport_info)


kml = simplekml.Kml()
for airport in daily_flights.nodes():
  for neighbor in nx.all_neighbors(daily_flights, airport):
    flightpath = (airports[airport], airports[neighbor])
    path = kml.newlinestring(name='flightpath', coords=flightpath)
    max_log_deg = max(x for x in log_degs)
    for key, val in airports.iteritems():
        if key in airport_info.keys():
            log_deg = log(
                int(airport_info[key][0]) + int(airport_info[key][1]))
            normalized_log_deg = int(
                heatmap_scale * float(log_deg) / max_log_deg) + 1
            for i in range(normalized_log_deg):
                pts.append(val)
        else:
            pts.append(val)
    return pts


airports = read_in_airports()
daily_flights = c.gen_daily('2010-12-23')
airport_info = c.gen_node_info('2010-12-23', daily_flights)
arr_delays, dep_delays = read_in_delays()
avg_delays = calculate_normalised_delays(arr_delays, dep_delays)

del_pts = generate_delay_heatmap_points(airports, avg_delays)
deg_pts = generate_degree_heatmap_points(airports, airport_info)
del_deg_pts = generate_delay_over_degree(airports, avg_delays, airport_info)
del_bc_pts = generate_delay_times_betw_centrality(airports, avg_delays,
                                                  airport_info)

kml = simplekml.Kml()
for airport in daily_flights.nodes():
    for neighbor in nx.all_neighbors(daily_flights, airport):
        flightpath = (airports[airport], airports[neighbor])
        path = kml.newlinestring(name='flightpath', coords=flightpath)