File size: 1,320 Bytes
706626a
3fedf2b
 
706626a
 
 
 
 
3fedf2b
 
 
 
 
 
706626a
 
 
 
 
 
 
 
 
3fedf2b
 
706626a
 
 
 
 
 
3fedf2b
706626a
 
3fedf2b
706626a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import requests
import geopy
import joblib
import gradio as gr

# Load the trained model
model = joblib.load('hackathonrf.joblib')

# Function to get latitude and longitude from location name
def get_coordinates(location):
    geolocator = geopy.geocoders.Nominatim(user_agent="air_quality_app")
    location = geolocator.geocode(location)
    return location.latitude, location.longitude

# Function to get AQI value from OpenWeatherMap API
def get_aqi(latitude, longitude, api_key):
    url = f"http://api.openweathermap.org/data/2.5/air_pollution?lat={latitude}&lon={longitude}&appid={api_key}"
    response = requests.get(url)
    data = response.json()
    aqi_value = data['list'][0]['main']['aqi']
    return aqi_value

# Function to make prediction
def predict_air_quality(location, api_key):
    latitude, longitude = get_coordinates(location)
    aqi_value = get_aqi(latitude, longitude, api_key)
    prediction = model.predict([[aqi_value, aqi_value, aqi_value, aqi_value]])
    return prediction[0]

# Create Gradio interface
iface = gr.Interface(fn=predict_air_quality, 
                      inputs=["text", "text"], 
                      outputs="text", 
                      title="Air Quality Prediction",
                      description="Enter location and OpenWeatherMap API key:")
iface.launch()