public static async Task <PopulationResults> GetPopulationAlongARoute( RoutePopulationData <IVerifiable> routePopulationData) { routePopulationData.Verify(); var uri = Networking.GetFullUri(ServiceUris.PopulationPointToPointUri); return(await Networking.HttpPostCall <RoutePopulationData <IVerifiable>, PopulationResults>(uri, routePopulationData)); }
public void PopulationDensity_AlongARoute() { var routePopData = new RoutePopulationData <IVerifiable>() { PopulationType = PopulationDataType.Count }; var routePath = new PointToPointRouteData() { Waypoints = new List <ServiceCartographicWithTime>(), IncludeWaypointsInRoute = true, OutputSettings = new OutputSettings() { Step = 60, TimeFormat = TimeRepresentation.Epoch, CoordinateFormat = new CoordinateType() { Coord = CoordinateRepresentation.LLA } } }; routePath.Waypoints.Add(new ServiceCartographicWithTime() { Position = new ServiceCartographic(39.07096, -104.78509, 2000.0), Time = DateTimeOffset.Parse("2014-03-25T18:30:00Z") }); routePath.Waypoints.Add(new ServiceCartographicWithTime() { Position = new ServiceCartographic(38.1, -104.785, 1600.0), Time = DateTimeOffset.Parse("2014-03-25T20:30:00Z") }); routePopData.Path = routePath; var routePopResults = PopulationServices.GetPopulationAlongARoute(routePopData).Result; Assert.AreEqual(8088.3678982750444, routePopResults.WeightedMean); // value is # of people along the route (pop count) Assert.AreEqual(7862.6120876669884, routePopResults.Mean); Assert.AreEqual(121, routePopResults.SumOfWeights); Assert.AreEqual(24, routePopResults.Weights.Count); Assert.AreEqual(routePopResults.Weights.Count, routePopResults.PopulationValues.Count); Assert.AreEqual(1581.945556640625, routePopResults.PopulationValues[0]); Assert.AreEqual(41.257167816162109, routePopResults.PopulationValues[routePopResults.PopulationValues.Count - 1]); Assert.AreEqual(4, routePopResults.Weights[0]); Assert.AreEqual(4, routePopResults.Weights[routePopResults.Weights.Count - 1]); }