private void CmbMeridianSelectedIndexChanged(object sender, EventArgs e) { Proj4Meridian mer = (Proj4Meridian)Enum.Parse(typeof(Proj4Meridian), (string)cmbMeridian.SelectedItem); Meridian m = new Meridian(mer); SelectedProjectionInfo.GeographicInfo.Meridian = m; dbMeridian.Value = m.Longitude; }
/// <summary> /// Creates a new meridian from one of the known, proj4 meridian locations. /// Presumably the longitudes here correspond to various standard meridians /// rather than some arbitrary longitudes of capital cities. /// </summary> /// <param name="standardMeridian">One of the enumerations listed</param> public Meridian(Proj4Meridian standardMeridian) { AssignMeridian(standardMeridian); }
/// <summary> /// Changes the longitude to correspond with the specified standard meridian /// </summary> /// <param name="standardMeridian"></param> public void AssignMeridian(Proj4Meridian standardMeridian) { _name = standardMeridian.ToString(); switch (standardMeridian) { case Proj4Meridian.Greenwich: _longitude = 0; _code = 8901; break; case Proj4Meridian.Lisbon: _longitude = -9.131906111; _code = 8902; break; case Proj4Meridian.Paris: _longitude = 2.337229167; _code = 8903; break; case Proj4Meridian.Bogota: _longitude = -74.08091667; _code = 8904; break; case Proj4Meridian.Madrid: _longitude = -3.687938889; _code = 8905; break; case Proj4Meridian.Rome: _longitude = 12.45233333; _code = 8906; break; case Proj4Meridian.Bern: _longitude = 7.439583333; _code = 8907; break; case Proj4Meridian.Jakarta: _longitude = 106.8077194; _code = 8908; break; case Proj4Meridian.Ferro: _longitude = -17.66666667; _code = 8909; break; case Proj4Meridian.Brussels: _longitude = 4.367975; _code = 8910; break; case Proj4Meridian.Stockholm: _longitude = 18.05827778; _code = 8911; break; case Proj4Meridian.Athens: _longitude = 23.7163375; _code = 8912; break; case Proj4Meridian.Oslo: _longitude = 10.72291667; _code = 8913; break; } }