summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAriel Costas Guerrero <ariel@costas.dev>2026-03-26 10:46:32 +0100
committerAriel Costas Guerrero <ariel@costas.dev>2026-03-26 10:46:32 +0100
commit18c26c4d206fd28caa81b648f1620c586a36f60b (patch)
tree0e0c51dff4363252896c619397009d668a7cf191
parentf7805b475c237ccc0f99a13badf73707810cfc8d (diff)
Fix estimate precision in Vigo
-rw-r--r--src/Enmarcha.Backend/Controllers/ArrivalsController.cs2
-rw-r--r--src/Enmarcha.Backend/Services/Processors/VitrasaRealTimeProcessor.cs14
-rw-r--r--src/Enmarcha.Backend/Types/Arrivals/Arrival.cs2
-rw-r--r--src/Enmarcha.Sources.OpenTripPlannerGql/Queries/ArrivalsAtStop.cs2
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