From 8e44f2ee47a7bc64ca20ffd8aaa10d3b7d6a3400 Mon Sep 17 00:00:00 2001 From: bartjuhhh <bart.knuiman@wur.nl> Date: Thu, 31 Aug 2023 16:58:58 +0200 Subject: [PATCH] UItwisseling werkt nu goed. --- ZeroMQTest/Code/ActiveOV.cs | 2 ++ ZeroMQTest/Code/OVParsers/Netex.cs | 7 ------- ZeroMQTest/Code/OVParsers/Network.cs | 10 ++++++++-- ZeroMQTest/Code/Program.cs | 11 ++++++++--- 4 files changed, 18 insertions(+), 12 deletions(-) diff --git a/ZeroMQTest/Code/ActiveOV.cs b/ZeroMQTest/Code/ActiveOV.cs index 190a9bb..ded6193 100644 --- a/ZeroMQTest/Code/ActiveOV.cs +++ b/ZeroMQTest/Code/ActiveOV.cs @@ -130,6 +130,8 @@ namespace WanderOV string VehiclesToCSV() { + if (vehicles==null||vehicles.Count==0) + return null; StringBuilder sb = new StringBuilder(); sb.AppendLine( $"owner,displayLineNumb,privLineNumb,journyNum,vehicleNum,punctuality,rdx,rdy" ); foreach (var kvp in vehicles) diff --git a/ZeroMQTest/Code/OVParsers/Netex.cs b/ZeroMQTest/Code/OVParsers/Netex.cs index 21669d5..5ceb798 100644 --- a/ZeroMQTest/Code/OVParsers/Netex.cs +++ b/ZeroMQTest/Code/OVParsers/Netex.cs @@ -2,8 +2,6 @@ using System.IO.Compression; using System.Numerics; using System.Reflection; -using System.Runtime.CompilerServices; -using System.Security.Cryptography; using System.Xml; using WanderOV; @@ -393,11 +391,6 @@ namespace OVAPI.Code.OVParsers // Fixup routes (concat routelinks). foreach (var kvp in routes) { - if (kvp.Key=="RET:Route:10|0396200163_0") - { - int jt = 0; - } - var route = kvp.Value; route.points = new List<(Vector2, float, Vector2)>(); for (int i = 0;i < route.links.Count;i++) diff --git a/ZeroMQTest/Code/OVParsers/Network.cs b/ZeroMQTest/Code/OVParsers/Network.cs index c7a74bb..ee81f5e 100644 --- a/ZeroMQTest/Code/OVParsers/Network.cs +++ b/ZeroMQTest/Code/OVParsers/Network.cs @@ -41,11 +41,17 @@ namespace WanderOV public string AsMsg() { string msg = $"{Line.LinePlanningNumber}|{Line.LineDisplayNumber}|{NumStops}|"; + string prevDest = string.Empty; for (int i = 0;i < NumStops;i++) { var st = Stop( i ); - var dest = st.dest != null? st.dest.Name : string.Empty; - msg += $"{st.stop.Name}|{st.stop.Point.X}|{st.stop.Point.X}|{dest}|"; + string dest = string.Empty; + if ( st.dest != null && st.dest.Name != prevDest ) + { + prevDest = st.dest.Name; + dest = prevDest; + } + msg += $"{st.stop.Name}|{st.stop.Point.X}|{st.stop.Point.Y}|{dest}|"; } msg += $"{Route.NumPoints}|"; for (int i = 0; i < Route.NumPoints;i++) diff --git a/ZeroMQTest/Code/Program.cs b/ZeroMQTest/Code/Program.cs index 42ef65d..82dc99a 100644 --- a/ZeroMQTest/Code/Program.cs +++ b/ZeroMQTest/Code/Program.cs @@ -56,14 +56,19 @@ class App { case "vehicles": // Advance sim. activeOV.AdvanceSimulationToNow(); - broker.SendMessage( "vehicles", activeOV.GetStateAsCSV(), msg.from ); + var vehicles = activeOV.GetStateAsCSV(); + if (vehicles != null) + { + broker.SendMessage( "vehicles", vehicles, msg.from ); + } break; - case "line": // Expects owner and linePlanningNumber. + case "journey": // Expects owner and linePlanningNumber. var journey = network.FindJourney( msg.fields[1], msg.fields[2] ); if (journey!=null) { - broker.SendMessage( "line", journey.AsMsg(), msg.from ); + // field[1] is owner, field[2] is linePlanningNumber, field[3] is vehicleNumber + broker.SendMessage( "journey", string.Join('|', msg.fields[1], msg.fields[3], journey.AsMsg()), msg.from ); } break; } -- GitLab