diff options
| author | Ariel Costas Guerrero <ariel@costas.dev> | 2026-03-26 10:46:32 +0100 |
|---|---|---|
| committer | Ariel Costas Guerrero <ariel@costas.dev> | 2026-03-26 10:46:32 +0100 |
| commit | 18c26c4d206fd28caa81b648f1620c586a36f60b (patch) | |
| tree | 0e0c51dff4363252896c619397009d668a7cf191 | |
| parent | f7805b475c237ccc0f99a13badf73707810cfc8d (diff) | |
Fix estimate precision in Vigo
4 files changed, 11 insertions, 9 deletions
diff --git a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs index b4fa38b..16bc047 100644 --- a/src/Enmarcha.Backend/Controllers/ArrivalsController.cs +++ b/src/Enmarcha.Backend/Controllers/ArrivalsController.cs @@ -178,8 +178,6 @@ public partial class ArrivalsController : ControllerBase var departureTime = serviceDayLocal.Date.AddSeconds(item.ScheduledDepartureSeconds); var minutesToArrive = (int)(departureTime - nowLocal).TotalMinutes; - var nowInSecondsOfDay = (int)(nowLocal - nowLocal.Date).TotalSeconds; - arrivals.Add(new Arrival { TripId = item.Trip.GtfsId, diff --git a/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs b/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs index 466e0fd..5bbbfab 100644 --- a/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs +++ b/src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs @@ -127,7 +127,7 @@ public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor newArrivals.Add(new Arrival { - TripId = $"vitrasa:rt:{estimate.Line}:{estimate.Route}:{estimate.Minutes}", + TripId = $"vitrasa:rtonly:{estimate.Line}:{estimate.Route}:{estimate.Minutes}", Route = new RouteInfo { GtfsId = $"vitrasa:{estimate.Line}", @@ -209,8 +209,7 @@ public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor // Populate Shape GeoJSON if (!context.IsReduced && currentPosition != null) { - var features = new List<object> - { + List<object> features = [ new { type = "Feature", @@ -221,7 +220,7 @@ public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor }, properties = new { type = "route" } } - }; + ]; // Add stops if available if (otpArrival.Trip.Stoptimes != null) @@ -248,7 +247,7 @@ public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor arrival.Shape = new { type = "FeatureCollection", - features = features + features }; } } @@ -263,6 +262,11 @@ public class VitrasaRealTimeProcessor : AbstractRealTimeProcessor // If we can't calculate a position, degrade precision to "Unsure" to indicate less confidence arrival.Estimate.Precision = ArrivalPrecision.Unsure; } + else + { + // In Nano/Reduced mode we don't have shape data, so we can't calculate position. Don't degrade precision since it's expected. + arrival.Estimate.Precision = ArrivalPrecision.Confident; + } } usedTripIds.Add(arrival.TripId); diff --git a/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs b/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs index bdcae07..26dbc66 100644 --- a/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs +++ b/src/Enmarcha.Backend/Types/Arrivals/Arrival.cs @@ -77,7 +77,7 @@ public class ArrivalDetails [JsonPropertyName("precision")] public ArrivalPrecision Precision { get; set; } = ArrivalPrecision.Scheduled; } -[System.Text.Json.Serialization.JsonConverter(typeof(JsonStringEnumConverter))] +[JsonConverter(typeof(JsonStringEnumConverter))] public enum ArrivalPrecision { [JsonStringEnumMemberName("confident")] diff --git a/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs b/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs index 2ad30e5..7605e5a 100644 --- a/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs +++ b/src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs @@ -27,7 +27,7 @@ public class ArrivalsAtStopContent : IGraphRequest<ArrivalsAtStopContent.Args> color textColor }} - arrivals: stoptimesWithoutPatterns(numberOfDepartures: 100, startTime: {startTimeUnix}, timeRange: 14400) {{ + arrivals: stoptimesWithoutPatterns(numberOfDepartures: 50, startTime: {startTimeUnix}, timeRange: 14400) {{ headsign scheduledDeparture serviceDay |
