def METHOD_NAME(
    parameter: str, lat: float, lon: float, distance: float, start_date: datetime, end_date: datetime
):
    stations = DwdObservationRequest(
        parameter=parameter,
        resolution=DwdObservationResolution.HOURLY,
        period=DwdObservationPeriod.RECENT,
        start_date=start_date,
        end_date=end_date,
    )
    # request the nearest weather stations
    request = stations.filter_by_distance(latlon=(lat, lon), distance=distance)
    print(request.df)
    station_ids = request.df.get_column("station_id")
    latitudes = request.df.get_column("latitude")
    longitudes = request.df.get_column("longitude")
    utm_x = []
    utm_y = []
    for latitude, longitude in zip(latitudes, longitudes):
        x, y, _, _ = utm.from_latlon(latitude, longitude)
        utm_x.append(x)
        utm_y.append(y)
    # request parameter from weather stations
    df = request.values.all().df.drop_nulls()
    # filters by one exact time and saves the given parameter per station at this time
    day_time = start_date + timedelta(days=1)
    filtered_df = df.filter(pl.col("date").eq(day_time))
    print(filtered_df)
    values = filtered_df.get_column("value").to_list()
    return Data(
        station_ids=station_ids.to_list(),
        utm_x=utm_x,
        utm_y=utm_y,
        values=values,
        colors=["blue"] * len(station_ids),
    )