Esempio n. 1
0
        public async Task VariogramCachingTest()
        {
            var component       = new VarpProvStub();
            var factory         = new VariogramProviderCachingFactory(component);
            var variogramfitter = await factory.ConstructAsync();

            double[] lats = new double[10], lons = new double[10], vals = new double[10];

            Random r = new Random(1);

            for (int i = 0; i < 10; i++)
            {
                lats[i] = r.NextDouble();
                lons[i] = r.NextDouble();
                vals[i] = 3 * lons[i] + 2 * lats[i];
            }


            RealValueNodes rvn1 = new RealValueNodes(lats, lons, vals);
            RealValueNodes rvn2 = new RealValueNodes(lats, lons, vals);
            RealValueNodes rvn3 = new RealValueNodes(lats, lons, lons);

            var v1 = await variogramfitter.GetSpatialVariogramAsync(rvn1);

            var v2 = await variogramfitter.GetSpatialVariogramAsync(rvn2);

            var v3 = await variogramfitter.GetSpatialVariogramAsync(rvn3);

            Assert.AreEqual(1.0, v1.Nugget);
            Assert.AreEqual(1.0, v2.Nugget);
            Assert.AreEqual(2.0, v3.Nugget);
        }