mirror of
https://github.com/alexhopeoconnor/bom-local-service.git
synced 2026-10-14 02:21:29 +10:00
- Fix scraping to wait for display label to change after step forward, preventing duplicate minutesAgo values within same folder - Add hashset-based deduplication by AbsoluteObservationTime across cache folders - Filter frames that are too close together (< 4 minutes apart) - Preserve original folder structure while pruning filtered frames - Sort folders by earliest frame time to maintain chronological order - Add validation to detect folder overlaps that could cause out-of-order frames
30 lines
1013 B
C#
30 lines
1013 B
C#
namespace BomLocalService.Models;
|
|
|
|
/// <summary>
|
|
/// Represents a single radar frame (historical precipitation data).
|
|
/// Frame 0 is oldest (40 minutes ago), Frame 6 is newest (10 minutes ago).
|
|
/// Radar frames can be joined across cache folders to create extended historical slideshows.
|
|
/// </summary>
|
|
public class RadarFrame : CachedFrame
|
|
{
|
|
/// <summary>
|
|
/// Number of minutes ago this frame represents (40, 35, 30, 25, 20, 15, 10).
|
|
/// Frame 0 = 40 minutes ago, Frame 6 = 10 minutes ago.
|
|
/// This is relative to the cache folder's observation time.
|
|
/// </summary>
|
|
public int MinutesAgo { get; set; }
|
|
|
|
/// <summary>
|
|
/// The absolute UTC observation time for this frame.
|
|
/// Calculated as: ObservationTime - MinutesAgo.
|
|
/// This is set when frames are joined across cache folders in timeseries responses.
|
|
/// </summary>
|
|
public DateTime? AbsoluteObservationTime { get; set; }
|
|
|
|
public RadarFrame()
|
|
{
|
|
DataType = CachedDataType.Radar;
|
|
}
|
|
}
|
|
|