aboutsummaryrefslogtreecommitdiff
path: root/src/Enmarcha.Backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/Enmarcha.Backend')
-rw-r--r--src/Enmarcha.Backend/Controllers/TileController.cs18
-rw-r--r--src/Enmarcha.Backend/Controllers/TransitController.cs2
-rw-r--r--src/Enmarcha.Backend/Services/FeedService.cs3
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)