public ConnexionzRoute(RoutePatternProjectRoute routePatternProjectRoute)
{
RouteNo = routePatternProjectRoute.RouteNo;
// Some routes have multiple paths. Let's just take whichever path is longest.
var longestPattern = routePatternProjectRoute.Destination
.Select(d => d.Pattern.First())
.Aggregate((p1, p2) => p1.Platform.Length > p2.Platform.Length ? p1 : p2);
IsActive = longestPattern.Schedule == "Active";
Polyline = EncodePolyline(GetPoints(longestPattern.Mif));
Path = longestPattern.Platform
.Select(p => new ConnexionzRoutePlatform(p))
.Distinct(ConnexionzRoutePlatformComparer.Instance)
.ToList();
}