jberns88/metoffice
英国气象局DataPoint API的SDK
0.0.3
2021-08-06 14:45 UTC
Requires
- guzzlehttp/guzzle: ^7.0
This package is not auto-updated.
Last update: 2024-09-28 05:38:37 UTC
README
英国气象局DataPoint API的PHP SDK
安装
composer require jberns88/metoffice
示例
预报
//You're API key from the MetOffice $client = new \Jberns88\MetOffice\Client(['key' => '<API KEY>']); // Grab all the locations where forecast data is available. $locations = $client->getForecastLocations(); // Find the nearest location from some geo coordinates $location = $locations->getNearest(51.509865, -0.118092); // Get the daily forecasts for this location $forecasts = $location->getDailyForecasts(); // Get the forecast day $day = $forecasts->getByDate(new \DateTime('tomorrow')); // Echo out the location name echo 'Location: ' . $location->getName() . PHP_EOL; // Echo out the forecast date echo 'Date: ' . $day->getDate()->format('Y-m-d') . PHP_EOL; // Echo our the day temperature. Also caontains $day->getNight()->temperature() echo 'Temp: ' . $day->getDay()->getTemperature() . PHP_EOL; // Gust Speed echo 'Gust: ' . $day->getDay()->getGustSpeed() . PHP_EOL; // Wind speed echo 'Wind: ' . $day->getDay()->getWindSpeed() . PHP_EOL; // Weather type based on the meta offices API (https://www.metoffice.gov.uk/datapoint/support/documentation/code-definitions) echo 'Weather type: ' . $day->getDay()->getWeatherType() . PHP_EOL; echo PHP_EOL;
观测
//You're API key from the MetOffice $client = new \Jberns88\MetOffice\Client(['key' => '<API KEY>']); // Grab all the locations where observation data is available. $locations = $client->getObservationLocations(); // Find the nearest location from some geo coordinates $location = $locations->getNearest(51.509865, -0.118092); // Get the observations $observations = $location->getHourlyObservations(); // get the observation day $day = $observations->getByDate(new \DateTime('yesterday')); echo 'Location: ' . $location->getName() . PHP_EOL; // Grab the highest and lowest temperatures from the day echo 'Temp: ' . $day->getLowestTemperature() . '-' . $day->getHighestTemperature() . PHP_EOL; // Grab the highest and lowest gust speeds for the day echo 'Gust: ' . $day->getHighestGustSpeed() . '-' . $day->getLowestGustSpeed() . PHP_EOL; // Grab the highest and lowest wind speeds for the day echo 'Wind: ' . $day->getHighestWindSpeed() . '-' . $day->getLowestWindSpeed() . PHP_EOL; //Get the observation time peroid. It will find the nearest one if an exact hour isn't given. THe met office don't hold the data for long so I've set the time quite late for this example $period = $day->getByTime(new \DateTime('11pm')); // Weather type based on the meta offices API (https://www.metoffice.gov.uk/datapoint/support/documentation/code-definitions) echo 'Weather type: ' . $period->getWeatherType() . PHP_EOL;