private void AircraftCoordinateChange(AircraftPosition aircraft)
        {
            for (int i = 0; i < _aerodromePoints?.Length; i++)
            {
                if (_aerodromePoints[i] == null)
                {
                    continue;
                }

                var abp  = _aerodromePoints[i].NavigationPoint;
                var abpR = _aerodromePoints[i].AerodromeInfo.Runway;
                var acG  = aircraft.GeoCoordinate;

                abp.Measure.Distance =
                    _measureHelper.GetDistanceInKmLatLon(abp.GeoCoordinate.Latitude, abp.GeoCoordinate.Longitude, acG.Latitude, acG.Longitude);

                abp.Measure.Psi =
                    _measureHelper.GetDegreesAzimuthLatLon(abp.GeoCoordinate.Latitude, abp.GeoCoordinate.Longitude, acG.Latitude, acG.Longitude);

                _coordinateHelper.LocalCordToXZ(abp.GeoCoordinate.Latitude, abp.GeoCoordinate.Longitude, abpR.Threshold.Latitude, abpR.Threshold.Longitude,
                                                out var x, out var z);
                _aerodromePoints[i].AerodromeInfo.Runway.Threshold.X = x - acG.X;
                _aerodromePoints[i].AerodromeInfo.Runway.Threshold.Z = z - acG.Z;

                _coordinateHelper.LocalCordToXZ(abp.GeoCoordinate.Latitude, abp.GeoCoordinate.Longitude, abpR.GlideSlope.Latitude, abpR.GlideSlope.Longitude,
                                                out x, out z);
                _aerodromePoints[i].AerodromeInfo.Runway.GlideSlope.X = x - acG.X;
                _aerodromePoints[i].AerodromeInfo.Runway.GlideSlope.Z = z - acG.Z;

                _coordinateHelper.LocalCordToXZ(abp.GeoCoordinate.Latitude, abp.GeoCoordinate.Longitude, abpR.Localizer.Latitude, abpR.Localizer.Longitude,
                                                out x, out z);
                _aerodromePoints[i].AerodromeInfo.Runway.Localizer.X = x - acG.X;
                _aerodromePoints[i].AerodromeInfo.Runway.Localizer.Z = z - acG.Z;

                _coordinateHelper.LocalCordToXZ(abp.GeoCoordinate.Latitude, abp.GeoCoordinate.Longitude, abpR.LocatorMiddle.Latitude, abpR.LocatorMiddle.Longitude,
                                                out x, out z);
                _aerodromePoints[i].AerodromeInfo.Runway.LocatorMiddle.X = x - acG.X;
                _aerodromePoints[i].AerodromeInfo.Runway.LocatorMiddle.Z = z - acG.Z;

                _coordinateHelper.LocalCordToXZ(abp.GeoCoordinate.Latitude, abp.GeoCoordinate.Longitude, abpR.LocatorOuter.Latitude, abpR.LocatorOuter.Longitude,
                                                out x, out z);
                _aerodromePoints[i].AerodromeInfo.Runway.LocatorOuter.X = x - acG.X;
                _aerodromePoints[i].AerodromeInfo.Runway.LocatorOuter.Z = z - acG.Z;
            }
        }
        private void AircraftCoordinateChange(AircraftPosition aircraft)
        {
            for (int i = 0; i < _ppmPoints?.Length; i++)
            {
                if (_ppmPoints[i] == null)
                {
                    continue;
                }

                var ppmM = _ppmPoints[i].NavigationPoint;
                var ppmG = _ppmPoints[i].NavigationPoint;
                var acG  = aircraft.GeoCoordinate;
                var abpG = _aerodromePoint.NavigationPoint;

                ppmM.Measure.Distance =
                    _measureHelper.GetDistanceInKmLatLon(acG.Latitude, acG.Longitude, ppmG.GeoCoordinate.Latitude,
                                                         ppmG.GeoCoordinate.Longitude);

                ppmM.Measure.Psi =
                    _measureHelper.GetDegreesAzimuthLatLon(acG.Latitude, acG.Longitude, ppmG.GeoCoordinate.Latitude,
                                                           ppmG.GeoCoordinate.Longitude);

                _coordinateHelper.LocalCordToXZ(abpG.GeoCoordinate.Latitude, abpG.GeoCoordinate.Longitude,
                                                ppmG.GeoCoordinate.Latitude, ppmG.GeoCoordinate.Longitude,
                                                out var x, out var z);

                ppmG.GeoCoordinate.X = x - acG.X;
                ppmG.GeoCoordinate.Z = z - acG.Z;

                ppmM.Measure.Distance =
                    Math.Sqrt(Math.Pow(ppmG.GeoCoordinate.X, 2) + Math.Pow(ppmG.GeoCoordinate.Z, 2)) / 1000;

                var time = (ppmM.Measure.Distance * 1000) / aircraft.V;
                if (double.IsInfinity(time))
                {
                    ppmM.Measure.RemainingTime = 0;
                }
                else
                {
                    ppmM.Measure.RemainingTime = time;
                }

                if (2000 > Math.Sqrt(ppmG.GeoCoordinate.X * ppmG.GeoCoordinate.X +
                                     ppmG.GeoCoordinate.Z * ppmG.GeoCoordinate.Z))
                {
                    if (ppmG.Executable == 1)
                    {
                        EventsHelper.OnChangeNpDEvent(new ChangeNp()
                        {
                            Action = 1, TypeOfNp = 2, IdNp = i + 2
                        });
                    }
                }

                if (i == 0)
                {
                    DebugParameters.XPPM = ppmG.GeoCoordinate.X;
                    DebugParameters.ZPPM = ppmG.GeoCoordinate.Z;
                }
            }
        }