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); } } } } } } }
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); } }
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); }