Пример #1
0
def collect_data(location, region):
    days = location.find('d:weatherElement', ns).findall('d:time', ns)
    date = []
    temperature = []
    humidity = []
    rainfall = []

    for day in days:
        tmp_date = day.find('d:dataTime', ns).text
        year_month = tmp_date[:7]
        d = tmp_date[8:]
        if(d == '01'):
            this_month_T, this_month_H, inter_value_T, inter_value_H = get_inter_value(region, year_month)
            date.append(tmp_date)
            temperature.append(this_month_T)
            humidity.append(this_month_H)
            rainfall.append(0)

        tmp_rainfall = day.find('d:elementValue', ns).find('d:value', ns).text
        # 原始資料缺漏
        if tmp_rainfall == 'T': tmp_rainfall = 0
        rainfall[-1] += float(tmp_rainfall)

    for i in range(12):
        add_weather_item(region, date[i], temperature[i], rainfall[i], humidity[i])
Пример #2
0
def collect_data(location, region):
    days = location.find('d:weatherElement', ns).findall('d:time', ns)
    for day in days:
        date = day.find('d:dataTime', ns).text
        year_month = date[:7]
        d = date[8:]

        if(d == '01'):
            this_month_T, this_month_H, inter_value_T, inter_value_H = get_inter_value(region, year_month)

        temperature = this_month_T + (float(d)-1)*inter_value_T + random.uniform(0, 1)
        humidity = this_month_H + (float(d)-1)*inter_value_H + random.uniform(0, 1)
        rainfall = day.find('d:elementValue', ns).find('d:value', ns).text
        # 原始資料缺漏
        if rainfall == 'T': rainfall = 0
        print (date, region)
        add_weather_item(region, date, temperature, rainfall, humidity)
Пример #3
0
def collect_data(location, region):
    date = location.find('d:time', ns).find('d:obsTime', ns).text
    date = date[:10]
    elements = location.findall('d:weatherElement', ns)
    for element in elements:
        if element.find('d:elementName', ns).text == 'TEMP':
            temperature = float(element.find('d:elementValue', ns).find('d:value', ns).text)
            if temperature < -50:
                temperature = None
        if element.find('d:elementName', ns).text == 'H_24R':
            rainfall = float(element.find('d:elementValue', ns).find('d:value', ns).text)
            if rainfall < 0:
                rainfall = None
        if element.find('d:elementName', ns).text == 'HUMD':
            humidity = float(element.find('d:elementValue', ns).find('d:value', ns).text) * 100
            if humidity < 0:
                humidity = None

    add_weather_item(region, date, temperature, rainfall, humidity)
Пример #4
0
def collect_data(location, region):
    days = location.find('d:weatherElement', ns).findall('d:time', ns)
    for day in days:
        date = day.find('d:dataTime', ns).text
        year_month = date[:7]
        d = date[8:]

        if (d == '01'):
            this_month_T, this_month_H, inter_value_T, inter_value_H = get_inter_value(
                region, year_month)

        temperature = this_month_T + (
            float(d) - 1) * inter_value_T + random.uniform(0, 1)
        humidity = this_month_H + (float(d) -
                                   1) * inter_value_H + random.uniform(0, 1)
        rainfall = day.find('d:elementValue', ns).find('d:value', ns).text
        # 原始資料缺漏
        if rainfall == 'T': rainfall = 0
        print(date, region)
        add_weather_item(region, date, temperature, rainfall, humidity)
Пример #5
0
def collect_data(location, region):
    date = location.find('d:time', ns).find('d:obsTime', ns).text
    date = date[:10]
    elements = location.findall('d:weatherElement', ns)
    for element in elements:
        if element.find('d:elementName', ns).text == 'TEMP':
            temperature = float(
                element.find('d:elementValue', ns).find('d:value', ns).text)
            if temperature < -50:
                temperature = None
        if element.find('d:elementName', ns).text == 'H_24R':
            rainfall = float(
                element.find('d:elementValue', ns).find('d:value', ns).text)
            if rainfall < 0:
                rainfall = None
        if element.find('d:elementName', ns).text == 'HUMD':
            humidity = float(
                element.find('d:elementValue', ns).find('d:value',
                                                        ns).text) * 100
            if humidity < 0:
                humidity = None

    add_weather_item(region, date, temperature, rainfall, humidity)