public static string ToAxsPoint(this GeoWaypoint gwp, string datumName, string utmZone, AltitudeUnits units) { var utmCoords = gwp.Coordinates.ToUtm(Datum.GetInstance(datumName), utmZone); return string.Format(NumberFormatInfo.InvariantInfo, "point {0}=sutm({1:0.0},{2:0.0},{3:0.0}{4}) waypoint(lime)", gwp.Name, utmCoords.Easting, utmCoords.Northing, units == AltitudeUnits.Meters ? utmCoords.Altitude : utmCoords.Altitude * Physics.METERS2FEET, units == AltitudeUnits.Meters ? "m" : "ft" ); }
public AXWaypoint FromGeoToAXWaypoint(GeoWaypoint geoWaypoint, bool isBarometricAltitude) { var utmCoords = geoWaypoint.Coordinates.ToUtm(Datum.GetInstance(DatumName), UtmZone); double altitude = utmCoords.Altitude; if (isBarometricAltitude) { altitude = CorrectAltitudeQnh(utmCoords.Altitude); } return(new AXWaypoint(geoWaypoint.Name, geoWaypoint.Time, utmCoords.Easting, utmCoords.Northing, altitude)); }
public static PdfWaypoint ToPdfWaypoint(this GeoWaypoint gwp, string datumName, string utmZone, AltitudeUnits units) { var utmCoords = gwp.Coordinates.ToUtm(Datum.GetInstance(datumName), utmZone); var altitude = utmCoords.Altitude; var wp = new AXWaypoint(gwp.Name, gwp.Time, utmCoords.Easting, utmCoords.Northing, altitude); return new PdfWaypoint() { Name = wp.Name, CompetitionCoords = wp.ToString(AXPointInfo.CompetitionCoords8).Replace("/", " / "), Altitude = wp.ToString(units == AltitudeUnits.Meters ? AXPointInfo.AltitudeInMeters : AXPointInfo.AltitudeInFeet) }; }