コード例 #1
0
ファイル: WosManager.cs プロジェクト: rbsysnn/Logy.Exchange
        public static void DoWork()
        {
            var man   = new HealpixManager(2);
            var world = new World(man);

            using (var reliefSur = new Earth2014Manager(ReliefType.Sur))
            {
                using (var reliefBed = new Earth2014Manager(ReliefType.Bed))
                {
                    using (var reliefIce = new Earth2014Manager(ReliefType.Ice))
                    {
                        for (var p = 0; p < man.Npix; p++)
                        {
                            var coor           = man.GetCenter(p);
                            var surface        = reliefSur.GetAltitude(coor);
                            var bed            = reliefBed.GetAltitude(coor);
                            var relativeHeight = bed - surface;
                            if (relativeHeight != 0)
                            {
                                // water or ice
                                var ice = reliefIce.GetAltitude(coor);
                                if (ice == 0)
                                {
                                    // lakes in ice are ignored
                                    world.AddWater(coor, bed, surface);
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #2
0
        public void GetAltitude()
        {
            var mangup = new HealCoor {
                Y = 44.58, X = 33.8, Precision = 0.0166
            };
            var sevastopol = new HealCoor {
                Y = 44.6, X = 33.53
            };

            using (var man = new Earth2014Manager(_crimeaCenter, 5))
            {
                Assert.IsTrue(man.GetAltitude(mangup) > 200 && man.GetAltitude(mangup) < 600);
                Assert.IsTrue(man.GetAltitude(sevastopol) > 0 && man.GetAltitude(sevastopol) <= 160); //// why 160?
            }
            using (var man = new Earth2014Manager(_crimeaCenter))
            {
                Assert.IsTrue(man.GetAltitude(mangup) > 200 && man.GetAltitude(mangup) < 600);
                Assert.IsTrue(man.GetAltitude(sevastopol) > 0 && man.GetAltitude(sevastopol) < 60);
            }
        }
コード例 #3
0
        public int GetHeights(HealCoor coor, int rOfEllipse, out int waterHeight)
        {
            var surface = Relief.GetAltitude(coor);
            var hOQ     = surface;

            if (IsReliefShape)
            {
                // hOQ includes undulation
                hOQ += Earth2014Manager.Radius2Add - rOfEllipse;
            }

            var bed = ReliefBed.GetAltitude(coor);

            waterHeight = surface - bed;
            if (waterHeight > 0) /* lakes in ice are ignored */
            {
            }
            return(hOQ);
        }