Exemplo n.º 1
0
        /// <summary>
        ///     Gets the call sign information.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="clientLat">The client lat.</param>
        /// <param name="clientLon">The client lon.</param>
        /// <param name="unit">The unit.</param>
        /// <returns>CallSignInfo.</returns>
        public CallSignInfo GetCallSignInfo(string id, double clientLat, double clientLon, string unit)
        {
            id = id.ToUpper();
            CallSignInfo res = null;
            StationItem  it  = HamRadioProvider.HamRadio
                               .GetStationInfo(id);

            if (it.SessionId == "UNKNOWN")
            {
                res = it.ToUnknown();
            }
            else
            {
                res                 = it.ToCallSignInfo();
                res.LongPath        = GetLongPath(it, clientLat, clientLon, unit);
                res.ShortPath       = GetShortPath(it, clientLat, clientLon, unit);
                res.Bearing         = GetBearing(it, clientLat, clientLon);
                res.DisplayLatitude =
                    GeoAngle.FromDouble(Convert.ToDouble(it.Latitude)).ToString(LocationFormat.Latitude);
                res.DisplayLongitude =
                    GeoAngle.FromDouble(Convert.ToDouble(it.Longitude)).ToString(LocationFormat.Longtitude);
            }
            res.YourDisplayLatitude  = GeoAngle.FromDouble(clientLat).ToString(LocationFormat.Latitude);
            res.YourDisplayLongitude = GeoAngle.FromDouble(clientLon).ToString(LocationFormat.Longtitude);
            res.YourGrid             = CalculateGrid(clientLat, clientLon);
            return(res);
        }