コード例 #1
0
 private void SetLatRangesAndCorrectEndpoint(string prjName, NameValuePair lat0, NameValuePair sp1, NameValuePair sp2)
 {
     if (prjName == "Lambert_Azimuthal_Equal_Area")
     {
         if (lat0.Value == 0)//赤道
         {
             _validLatRange.MinValue = -90f;
             _validLatRange.MaxValue = 90f;
         }
         else if (lat0.Value == 90)  //北极
         {
             _validLatRange.MinValue = 0;
             _validLatRange.MaxValue = 90f;
         }
         else if (lat0.Value == -90)//南极
         {
             _validLatRange.MinValue = -90;
             _validLatRange.MaxValue = 0f;
         }
     }
     else
     {
         //if (sp1 != null && sp2 != null && !(Math.Abs(sp1.Value) < float.Epsilon && Math.Abs(sp2.Value) < float.Epsilon))
         //{
         //    _validLatRange.MinValue =(float)sp1.Value;
         //    _validLatRange.MaxValue =(float)sp2.Value;
         //}
         //else
         //{
         _validLatRange.MinValue = -85f;
         _validLatRange.MaxValue = 85;
         //}
     }
     _validLatRange.MinValue = Math.Max(_validLatRange.MinValue, -90);
     _validLatRange.MaxValue = Math.Min(_validLatRange.MaxValue, 90);
 }