Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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]);
        }