/pollen

πŸ‡©πŸ‡°πŸ€§ API for retrieving latest pollen measurements from Astma-Allergi Denmark.

Primary LanguagePHPOtherNOASSERTION

πŸ‡©πŸ‡°πŸ€§ Pollen measurements from Astma-Allergi Denmark

Astma-Allergi Denmark does unfortunately not offer an official API for the latest pollen measurements in Denmark.

This package is (in some form) a workaround for that. It collects the latest measurements from the official Astma-Allergi Denmark website and turns it into structured data objects.

The returned data shows the measured pollen between 13:00 (1:00 PM) yesterday and 13:00 (1:00 PM) present day. Everyday at 16:00 (4:00 PM) the latest measurements are being published.

⚠️ Disclaimer

Since Astma-Allergi Denmark is an independent union, with a very little government funding, this package is made available under a very strict license, which prohibits any use other than personal.

If you wish to use the pollen measurements commercially, you should contact Astma-Allergi Denmark directly and support them by buying the data instead. The payment goes directly to the maintenance and further development of their Pollen measurement service.

For more info about a commercial license, visit their official website.

πŸ“– Table of contents

πŸ“¦ Installation

You can install the package via Composer, by using the following command:

composer require rugaard/pollen

Laravel

This package comes with a out-of-the-box Service Provider for the Laravel framework. If you're using a newer version of Laravel (>= 5.5) then the service provider will be loaded automatically.

Are you using an older version, then you need to manually add the service provider to the config/app.php file:

'providers' => [
    Rugaard\Pollen\Providers\Laravel\ServiceProvider::class,
]

βš™οΈ Usage

First thing you need to do, is to instantiate the Pollen client

# Instantiate the Pollen client.
$pollen = new \Rugaard\Pollen\Pollen;

Once you've done that, you're able to request the latest measurements from one of the supported pollen stations:

# Copenhagen pollen station.
$measurements = $pollen->get('copenhagen');

Pollen client

The Pollen client which handles the requests to Astma-Allergi Denmark.

new Pollen(?Client $httpClient);
Parameter Type Default Description
$httpClient \GuzzleHttp\ClientInterface null Replace the default underlying HTTP Client

Methods

Get measurements.

Get latest pollen measurements from a specific pollen station.

get(string $stationCode);
Parameter Type Description
$stationCode string Code of station. Supported pollen stations.

Note: The returned data shows the measured pollen between 13:00 (1:00 PM) yesterday and 13:00 (1:00 PM) present day. The measurements are updated everyday at 16:00 (4:00 PM).

πŸ› Pollen stations

Currently there only exists two Pollen stations in Denmark.

ID Name Code Region
48 KΓΈbenhavn copenhagen East
49 Viborg viborg West

πŸ—£ Frequently Asked Questions (FAQ)

What is this Tightenco\Collect\Support\Collection class and how does it work?

All data is returned within a Tightenco\Collect\Support\Collection class. The class is a port of the popular Collection class from Laravel.

Please refer to Laravel's detailed documentation, to learn more about how you work with a Collection:
https://laravel.com/docs/master/collections

πŸ’° Donating to Astma-Allergi Denmark

To help Astma-Allergi Denmark maintain and further develop the Pollen measurement service.
Please consider sending them a donation.

πŸš“ License

This package is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 (CC BY-NC-ND 4.0).

Creative Commons License