public IActionResult TestTraceRoute(double lat, double lng, double acc) { var userRouteTracer = new UserRouteTracer(); var i = new Itinerary() { Legs = new[] { new Leg() { Geometry = new [] { new Coordinate(48.237986, 16.453807), new Coordinate(48.238296, 16.453866), new Coordinate(48.238812, 16.452647), new Coordinate(48.238976, 16.451767), new Coordinate(48.239520, 16.448791) }, StartTime = DateTime.Now, EndTime = DateTime.Now.AddMinutes(10) }, } }; var result = userRouteTracer.TraceUserWithParticles(i, new TraceLocation() { Coordinate = new Coordinate(lat, lng), Accuracy = new TraceLocationAccuracy() { Confidence = 0.68, Radius = acc }, Timestamp = DateTime.Now.AddMinutes(4) }); return(Ok(result)); }
public void Test1() { var userRouteTracer = new UserRouteTracer(); var i = new Itinerary() { Legs = new[] { new Leg() { Geometry = new [] { new Coordinate(48.237986, 16.453807), new Coordinate(48.238296, 16.453866), new Coordinate(48.238812, 16.452647), new Coordinate(48.238976, 16.451767), new Coordinate(48.239520, 16.448791) } } } }; var result = userRouteTracer.TraceUserOnItinerary(i, new TraceLocation() { Coordinate = new Coordinate(48.239071, 16.451171), Accuracy = new TraceLocationAccuracy() { Confidence = 0.68, Radius = 20 } }); var denseLine = userRouteTracer.InsertPointsBetween(i.Legs.SelectMany(v => v.Geometry).ToList()); var debugOutput = $"[{string.Join(",\n", denseLine.Select(v => $"[{v.Lat.ToString(CultureInfo.InvariantCulture)},{v.Lng.ToString(CultureInfo.InvariantCulture)}]"))}"; }