public async Task <AvailableTimeStampsResponse> GetAvailableTimestamps(string resolution = "3hourly")
        {
            string url = "http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/json/capabilities?res=" + resolution + "&key=" + _apiKey;

            var request        = (HttpWebRequest)WebRequest.Create(url);
            var response       = (HttpWebResponse)request.GetResponse();
            var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
            AvailableTimeStampsResponse siteListResponse = JsonConvert.DeserializeObject <AvailableTimeStampsResponse>(responseString);

            return(siteListResponse);
        }
示例#2
0
        public async Task <AvailableTimeStampsResponse> GetAvailableTimestamps(string resolution = "3hourly")
        {
            string url = "http://datapoint.metoffice.gov.uk/public/data/val/wxfcs/all/json/capabilities?res=" + resolution + "&key=" + _apiKey;

            using (HttpClient client = new HttpClient())
            {
                HttpResponseMessage response = await client.GetAsync(new Uri(url));

                response.EnsureSuccessStatusCode();
                AvailableTimeStampsResponse siteListResponse = JsonConvert.DeserializeObject <AvailableTimeStampsResponse>(await response.Content.ReadAsStringAsync());

                return(siteListResponse);
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            // Create client
            MetOfficeDataPointClient client = new MetOfficeDataPointClient("<API_KEY>");

            // Get all sites
            SiteListResponse siteListResponse = client.GetAllSites().Result;

            // Get available forcasts
            AvailableTimeStampsResponse availableTimeStampsResponse = client.GetAvailableTimestamps().Result;

            // Get all 3 hourly forecasts
            ForecastResponse3Hourly forecastResponse3Hourly = client.GetForecasts3Hourly().Result;

            // Get daily forecasts for site 14
            ForecastResponseDaily forecastResponseDaily = client.GetForecastsDaily(14).Result;

            // Get historical observations
            ForecastResponse3Hourly historicalResponse = client.GetHistoricalObservations().Result;

            // Get closest site
            GeoCoordinate coordinate = new GeoCoordinate(51.508363, -0.163006);
            Location      location   = client.GetClosestSite(coordinate).Result;
        }