Beispiel #1
0
def precipv1():
    precip = session.query(Measurement.date, Measurement.prcp)\
        .filter(Measurement.date.between('2017-01-01', '2017-12-31'))\
        .group_by(Measurement.date)\
        .order_by(Measurement.date)
    precip_vals = {k: v for k, v in precip}
    return jsonify(precip_vals)
Beispiel #2
0
def temp_obs():
    tobs = session.query(Measurement.date, Measurement.tobs)\
        .filter(Measurement.date.between('2017-01-01', '2017-12-31'))\
        .group_by(Measurement.date)\
        .order_by(Measurement.date)
    vals = {k: v for k, v in tobs}
    return jsonify(vals)
Beispiel #3
0
def get_most_recent_date():
    most_recent_date_query = session.query(Measurement).\
        order_by(Measurement.date.desc()).limit(1)

    for date in most_recent_date_query:
        most_recent_date = date.date

    return dt.datetime.strptime(most_recent_date, "%Y-%m-%d")
Beispiel #4
0
def return_tobs():
    most_recent_date = get_most_recent_date()
    one_year_ago = most_recent_date - dt.timedelta(days=365)

    recent_tobs_data = session.query(Measurement.date, Measurement.tobs).\
        filter(Measurement.date >= one_year_ago).\
        order_by(Measurement.date).all()

    return jsonify(convert_to_dict(recent_prcp_data, label='tobs'))
Beispiel #5
0
def stations_route():
    station_list = {}
    station_list['data'] = []

    for row in session.query(Station):
        station_list['data'].append(
            {"id": row.id,
            "station": row.station,
            "lat": row.latitude,
            "lng": row.longitude,
            "elev": row.elevation}
        )
Beispiel #6
0
def station_route():
    station_list = {}
    station_list['data'] = []

    for row in session.query(Station):
        station_list['data'].append({
            "id": row.id,
            'station': row.station,
            "lat": row.latitude,
            "lng": row.longitude,
            "elev": row.elevation
        })
    return jsonify(station_list)
Beispiel #7
0
def start_date(start):
    tobs_calcs = session.query(func.avg(Measurement.tobs).label('avg_temp'),
                               func.min(Measurement.tobs).label('min_temp'),
                               func.max(Measurement.tobs).label('max_temp'))\
                               .filter(Measurement.date >= f'{start}')
    tobs_list = {}
    tobs_list['data'] = []
    for row in tobs_calcs:
        tobs_list['data'].append({
            "Avg Temp": row.avg_temp,
            'Min Temp': row.min_temp,
            "Max Temp": row.max_temp
        })
    return jsonify(tobs_list['data'])
Beispiel #8
0
def return_weather(start, end=None):
    if end is None:
        end = get_most_recent_date()

    weather_extremes = session.query(func.min(Measurement.tobs),
                                     func.avg(Measurement.tobs),
                                     func.max(Measurement.tobs)).\
        filter(Measurement.date >= start).\
        filter(Measurement.date <= end).all()

    data = []
    for record in weather_extremes:
        data.append({'TMIN': record[0], 'TAVG': record[1], 'TMAX': record[2]})

    return jsonify(data)
Beispiel #9
0
def return_station_list():
    station_list = session.query(Measurement.station).distinct()

    return jsonify([station[0] for station in station_list])