示例#1
0
        public static SpatialCell CorrectLonsTo180_180(this SpatialCell cq)
        {
            if (cq.LonMax - cq.LonMin == 360)
            {
                cq.LonMin = -180;
                cq.LonMax = 180;
                return(cq);
            }
            if (cq.LonMin == -180 && cq.LonMax == -180)
            {
                return(cq);
            }
            if (cq.LonMax == 180 && cq.LonMin == 180)
            {
                cq.LonMin = cq.LonMax = -180;
                return(cq);
            }
            if (cq.LonMax > 180)
            {
                cq.LonMax -= 360;
            }
            if (cq.LonMin >= 180)
            {
                cq.LonMin -= 360;
            }



            return(cq);
        }
示例#2
0
 public static SpatialCell CorrectLonsTo0_360(this SpatialCell cq)
 {
     if (Math.Abs(cq.LonMin - cq.LonMax) == 360)
     {
         cq.LonMin = 0;
         cq.LonMax = 360;
         return(cq);
     }
     if ((cq.LonMax == 0 && cq.LonMin == 0))
     {
         return(cq);
     }
     if ((cq.LonMax == 360 && cq.LonMin == 360))
     {
         cq.LonMin = cq.LonMax = 0;
         return(cq);
     }
     if (cq.LonMax <= 0)
     {
         cq.LonMax += 360;
     }
     if (cq.LonMin < 0)
     {
         cq.LonMin += 360;
     }
     if (cq.LonMax >= 0 && cq.LonMax <= 360 && cq.LonMin == 360)
     {
         cq.LonMin = 0;
     }
     return(cq);
 }