コード例 #1
0
        public void testSimpleCoverings()
        {
            Console.WriteLine("TestSimpleCoverings");

            var kMaxLevel = S2CellId.MaxLevel;
            var coverer   = new S2RegionCoverer();

            coverer.MaxCells = int.MaxValue;
            for (var i = 0; i < 1000; ++i)
            {
                var level = random(kMaxLevel + 1);
                coverer.MinLevel = level;
                coverer.MaxLevel = level;
                var maxArea  = Math.Min(4 * S2.Pi, 1000 * S2Cell.AverageArea(level));
                var cap      = getRandomCap(0.1 * S2Cell.AverageArea(kMaxLevel), maxArea);
                var covering = new List <S2CellId>();
                S2RegionCoverer.GetSimpleCovering(cap, cap.Axis, level, covering);
                checkCovering(coverer, cap, covering, false);
            }
        }
コード例 #2
0
        public void Test_S2RegionCoverer_SimpleCoverings()
        {
            Assert.True(false); //TODO

            const int kMaxLevel = S2.kMaxCellLevel;
            var       options   = new S2RegionCoverer.Options
            {
                MaxCells = Int32.MaxValue
            };

            for (int i = 0; i < 1000; ++i)
            {
                int level = S2Testing.Random.Uniform(kMaxLevel + 1);
                options.MinLevel = (level);
                options.MaxLevel = (level);
                double max_area = Math.Min(S2.M_4_PI, 1000 * S2Cell.AverageArea(level));
                S2Cap  cap      = S2Testing.GetRandomCap(0.1 * S2Cell.AverageArea(kMaxLevel), max_area);
                var    covering = new List <S2CellId>();
                S2RegionCoverer.GetSimpleCovering(cap, cap.Center, level, covering);
                CheckCovering(options, cap, covering, false);
            }
        }