AsterixDisplayAnalyser.GeodeticCalculator.CalculateEndingGlobalCoordinates C# (CSharp) Метод

CalculateEndingGlobalCoordinates() публичный Метод

Calculate the destination after traveling a specified distance, and a specified starting bearing, for an initial location. This is the solution to the direct geodetic problem.
public CalculateEndingGlobalCoordinates ( Ellipsoid ellipsoid, GlobalCoordinates start, System.Angle startBearing, double distance ) : GlobalCoordinates
ellipsoid Ellipsoid reference ellipsoid to use
start GlobalCoordinates starting location
startBearing System.Angle starting bearing (degrees)
distance double distance to travel (meters)
Результат GlobalCoordinates
        public GlobalCoordinates CalculateEndingGlobalCoordinates(Ellipsoid ellipsoid, GlobalCoordinates start, Angle startBearing, double distance)
        {
            Angle endBearing = new Angle();

            return CalculateEndingGlobalCoordinates(ellipsoid, start, startBearing, distance, out endBearing);
        }

Same methods

GeodeticCalculator::CalculateEndingGlobalCoordinates ( Ellipsoid ellipsoid, GlobalCoordinates start, System.Angle startBearing, double distance, System.Angle &endBearing ) : GlobalCoordinates

Usage Example

        //////////////////////////////////////////////////////////////////////////////////////
        // This method takes in present position (LatLongClass) and range/bearing from the
        // present position. It returns a new position (LatLongClass)
        //
        // Distance is IN
        // Azimuth in degrees
        public static LatLongClass CalculateNewPosition(LatLongClass PresentPosition, double Distance, double Azimuth)
        {
            LatLongClass NewPosition = new LatLongClass();

            // instantiate the calculator
            GeodeticCalculator geoCalc = new GeodeticCalculator();

            // select a reference elllipsoid
            Ellipsoid reference = Ellipsoid.WGS84;

            // set Lincoln Memorial coordinates
            GlobalCoordinates Present_Pos;
            Present_Pos = new GlobalCoordinates(new Angle(PresentPosition.GetLatLongDecimal().LatitudeDecimal), new Angle(PresentPosition.GetLatLongDecimal().LongitudeDecimal));

            // now, plug the result into to direct solution
            GlobalCoordinates dest;
            Angle endBearing = new Angle();

            double Distance_In_Meeters = (Distance * NMtoKM * 1000.0);

            dest = geoCalc.CalculateEndingGlobalCoordinates(reference, Present_Pos, Azimuth, Distance_In_Meeters, out endBearing);
            NewPosition.SetPosition(new LatLongDecimal(dest.Latitude.Degrees, dest.Longitude.Degrees));

            return NewPosition;
        }
All Usage Examples Of AsterixDisplayAnalyser.GeodeticCalculator::CalculateEndingGlobalCoordinates