modified: app.py
This commit is contained in:
21
app.py
21
app.py
@@ -7,7 +7,7 @@ app = Flask(__name__)
|
||||
|
||||
# Funktion zum Abrufen und Dekomprimieren der GeoJSON-Daten
|
||||
def get_weather_data():
|
||||
url = 'https://opendata.dwd.de/weather/weather_reports/synoptic/germany/geojson/Z__C_EDZW_20240909154500_bda01,synop_bufr_GER_999999_999999__MW_921.geojson.gz'
|
||||
url = 'https://opendata.dwd.de/weather/weather_reports/synoptic/germany/geojson/Z__C_EDZW_20240910070400_bda01%2Csynop_bufr_GER_999999_999999__MW_054.geojson.gz'
|
||||
|
||||
try:
|
||||
# Herunterladen der Datei
|
||||
@@ -27,22 +27,15 @@ def get_weather_data():
|
||||
except json.JSONDecodeError as e:
|
||||
return {"error": f"Fehler beim Verarbeiten der Wetterdaten: {e}"}
|
||||
|
||||
# Funktion, um die Wetterdaten für eine bestimmte Station oder einen Ort zu finden
|
||||
# Funktion, um die Wetterdaten für einen bestimmten Ort zu finden
|
||||
def find_weather_by_city(city, geojson_data):
|
||||
city = city.strip().lower() # Trimmen und in Kleinbuchstaben umwandeln
|
||||
|
||||
for feature in geojson_data['features']:
|
||||
station_name = feature['properties']['data_004']['value'].strip().lower() # Station-Name trimm und in Kleinbuchstaben umwandeln
|
||||
|
||||
# Vergleiche den Stadt-/Stationsnamen
|
||||
if city in station_name:
|
||||
if city.lower() in feature['properties']['STATION'].lower():
|
||||
return {
|
||||
"station": station_name,
|
||||
"temperature": feature['properties'].get('data_015', {}).get('value', 'Keine Daten'),
|
||||
"wind_speed": feature['properties'].get('data_071', {}).get('value', 'Keine Daten'),
|
||||
"humidity": feature['properties'].get('data_019', {}).get('value', 'Keine Daten'),
|
||||
"precipitation": feature['properties'].get('data_026', {}).get('value', 'Keine Daten'),
|
||||
"pressure": feature['properties'].get('data_043', {}).get('value', 'Keine Daten'),
|
||||
"station": feature['properties']['STATION'],
|
||||
"temperature": feature['properties']['TTT'],
|
||||
"wind_speed": feature['properties']['FF'],
|
||||
"humidity": feature['properties']['RH']
|
||||
}
|
||||
return {"error": "Ort nicht gefunden"}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user