public static int GetZoneFromLongitude(Projection projection, double longitude) { double degrees_from_first = longitude - projection.first_lon; double zone = degrees_from_first / projection.zone_width; int zone_number = (int)Math.Floor(zone) + projection.first_zone; return zone_number; }
public Redfearn(Ellipsoid ellipsoid, Projection projection, int zone) { this.ellipsoid = ellipsoid; this.projection = projection; this.zone = zone; double lon_zero_degrees = projection.first_lon + projection.zone_width / 2.0 + projection.zone_width * (zone - projection.first_zone); lon_zero = Math.PI * lon_zero_degrees / 180.0; PrecalculateMeridianDistance(); }