diff options
Diffstat (limited to 'src/Enmarcha.Backend')
| -rw-r--r-- | src/Enmarcha.Backend/Controllers/TileController.cs | 18 | ||||
| -rw-r--r-- | src/Enmarcha.Backend/Controllers/TransitController.cs | 2 | ||||
| -rw-r--r-- | src/Enmarcha.Backend/Services/FeedService.cs | 3 |
3 files changed, 19 insertions, 4 deletions
diff --git a/src/Enmarcha.Backend/Controllers/TileController.cs b/src/Enmarcha.Backend/Controllers/TileController.cs index 856f2c6..ef71b67 100644 --- a/src/Enmarcha.Backend/Controllers/TileController.cs +++ b/src/Enmarcha.Backend/Controllers/TileController.cs @@ -97,6 +97,8 @@ public class TileController : ControllerBase VectorTile vt = new() { TileId = tileDef.Id }; var stopsLayer = new Layer { Name = "stops" }; + var features = new List<Feature>(); + responseBody.Data?.StopsByBbox?.ForEach(stop => { var idParts = stop.GtfsId.Split(':', 2); @@ -129,9 +131,20 @@ public class TileController : ControllerBase } }; - stopsLayer.Features.Add(feature); + features.Add(feature); }); + foreach (var feature in features.OrderBy(f => f.Attributes["transitKind"] as string switch + { + "bus" => 3, + "train" => 2, + "coach" => 1, + _ => 0 + })) + { + stopsLayer.Features.Add(feature); + } + vt.Layers.Add(stopsLayer); using var ms = new MemoryStream(); @@ -150,6 +163,7 @@ public class TileController : ControllerBase "vitrasa" => "stop-vitrasa", "tussa" => "stop-tussa", "tranvias" => "stop-tranvias", + "ourense" => "stop-ourense", "xunta" => "stop-xunta", "renfe" => "stop-renfe", "feve" => "stop-feve", @@ -161,7 +175,7 @@ public class TileController : ControllerBase { return feedId switch { - "vitrasa" or "tussa" or "tranvias" or "shuttle" => "bus", + "vitrasa" or "tussa" or "tranvias" or "shuttle" or "ourense" => "bus", "xunta" => "coach", "renfe" or "feve" => "train", _ => "unknown" diff --git a/src/Enmarcha.Backend/Controllers/TransitController.cs b/src/Enmarcha.Backend/Controllers/TransitController.cs index a70f46e..7876dbe 100644 --- a/src/Enmarcha.Backend/Controllers/TransitController.cs +++ b/src/Enmarcha.Backend/Controllers/TransitController.cs @@ -42,7 +42,7 @@ public class TransitController : ControllerBase using var activity = Telemetry.Source.StartActivity("GetRoutes"); if (feeds.Length == 0) { - feeds = ["tussa", "vitrasa", "tranvias", "feve", "shuttle"]; + feeds = ["tussa", "vitrasa", "tranvias", "ourense", "feve", "shuttle"]; } activity?.SetTag("feeds", string.Join(",", feeds)); diff --git a/src/Enmarcha.Backend/Services/FeedService.cs b/src/Enmarcha.Backend/Services/FeedService.cs index b7496ec..34bc522 100644 --- a/src/Enmarcha.Backend/Services/FeedService.cs +++ b/src/Enmarcha.Backend/Services/FeedService.cs @@ -40,6 +40,7 @@ public class FeedService "vitrasa" => ("#81D002", "#000000"), "tussa" => ("#508096", "#FFFFFF"), "tranvias" => ("#E61C29", "#FFFFFF"), + "ourense" => ("#ffb319", "#000000"), "xunta" => ("#007BC4", "#FFFFFF"), "renfe" => ("#870164", "#FFFFFF"), "feve" => ("#EE3D32", "#FFFFFF"), @@ -192,7 +193,7 @@ public class FeedService { if (nextStops.Count == 0) return null; - if (feedId is "vitrasa" or "tranvias" or "tussa") + if (feedId is "vitrasa" or "tranvias" or "tussa" or "ourense") { var streets = nextStops .Select(GetStreetName) |
