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