private static Data.city GetCity(double lat, double lon, List <Data.city> Cities) { Data.city closest = null; double closestDistance = 99999999999.9; foreach (Data.city item in Cities) { double distance = Haversine(lat, item.Lattitude, lon, item.Longitude); if (distance < closestDistance) { closestDistance = distance; closest = item; } } return(closest); }
public static void Run() { List <Data.city> cities = CitiesGet(); List <Data.WeatherData> weatherDatas = new List <Data.WeatherData>(); foreach (Data.ShrunkData item in StationsGet()) { Data.city closest = GetCity(double.Parse(item.Latitude), double.Parse(item.Longitude), cities); weatherDatas.Add(new Data.WeatherData() { city = closest.Name, Date = item.DateTime, TemperatureC = double.Parse(item.Temperature) }); } System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(List <Data.WeatherData>)); StreamWriter writer = new StreamWriter(MainWindow.endFile); serializer.Serialize(writer, weatherDatas); writer.Close(); }