modified: app.py

This commit is contained in:
SimolZimol
2024-09-10 09:11:42 +02:00
parent f4caa120ac
commit 5bd23c58b3

21
app.py
View File

@@ -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"}