/// <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); }