119 lines
3.8 KiB
PHP
119 lines
3.8 KiB
PHP
<?php
|
|
|
|
namespace Ulmus\Api\Weather\Entity;
|
|
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
use Ulmus\{Api\Attribute\Property\Entity,
|
|
Attribute\Property\Field,
|
|
Entity\EntityInterface,
|
|
Entity\Field\Date,
|
|
Entity\Field\Datetime,
|
|
EntityTrait,
|
|
SearchRequest\SearchRequestInterface,
|
|
SearchRequest\SearchRequestPaginationTrait};
|
|
use Ulmus\Api\Attribute\Obj\Api;
|
|
use Ulmus\Api\Weather\Attribute;
|
|
|
|
# An hourly weather forecast object.
|
|
#[Api(adapter: "api-weather")]
|
|
#[Attribute\Obj\Api\Collection(url: "/points/{latitude},{longitude}/hours")]
|
|
class ForecastHour implements EntityInterface, \JsonSerializable
|
|
{
|
|
use EntityTrait;
|
|
|
|
const API_BASE_URL = "forecast";
|
|
|
|
# Cloud Cover as a percent value.
|
|
#[Field(name: "cldCvr")]
|
|
public ? int $cloudCover;
|
|
|
|
# Dew Point in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si).
|
|
#[Field(name: "dewPt")]
|
|
public ? float $dewPoint;
|
|
|
|
#[Field]
|
|
public ? float $feelsLike;
|
|
|
|
#[Field]
|
|
public ? float $heatIndex;
|
|
|
|
# Mean Sea Level Pressure in millibars.
|
|
#[Field(name: "mslPres")]
|
|
public ? float $meanSeaLevelPressure;
|
|
|
|
# Total precipitation in inches (imperial) or centimeters (metric, si).
|
|
#[Field(name: "precip")]
|
|
public ? float $precipitation;
|
|
|
|
# Probability of precipitation as a percent value.
|
|
#[Field(name: "precipProb")]
|
|
public ? float $precipitationProbability;
|
|
|
|
# Average Solar Radiation in watts per square meter.
|
|
#[Field(name: "radSolar")]
|
|
public ? float $solarRadiation;
|
|
|
|
# Average Relative humidity as a percent value.
|
|
#[Field(name: "relHum")]
|
|
public ? float $relativeHumidity;
|
|
|
|
# Average Surface pressure in millibars.
|
|
#[Field(name: "sfcPres")]
|
|
public ? float $surfacePressure;
|
|
|
|
# Total snowfall in inches (imperial) or centimeters (metric, si).
|
|
#[Field]
|
|
public ? float $snowfall;
|
|
|
|
# Probability of snowfall as a percent value.
|
|
#[Field(name: "snowfallProb")]
|
|
public ? float $snowfallProbability;
|
|
|
|
# Specific humidity in grams per kilograms.
|
|
#[Field(name: "spcHum")]
|
|
public ? float $specificHumidity;
|
|
|
|
# Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si).
|
|
#[Field(name: "temp")]
|
|
public ? float $temperature;
|
|
|
|
# The model initialization timestamp formatted as an RFC3339 date-time value.
|
|
#[Field(name: "timestampInit")]
|
|
public ? Datetime $timestampInitialization;
|
|
|
|
# The model initialization timestamp formatted as an RFC3339 date-time value.
|
|
#[Field]
|
|
public Datetime $timestamp;
|
|
|
|
# Wet Bulb Temperature in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si).
|
|
#[Field(name: "wetBulb")]
|
|
public ? float $wetBulbe;
|
|
|
|
# Wind Chill in Degrees Fahrenheit (imperial), Celsius (metric), or Kelvin (si).
|
|
#[Field]
|
|
public ? float $windChill;
|
|
|
|
# Wind direction at 10 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270).
|
|
#[Field(name: "windDir")]
|
|
public ? float $windDirection;
|
|
|
|
# Average Wind direction at 80 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270).
|
|
#[Field(name: "windDir80m")]
|
|
public ? float $windDirection80m;
|
|
|
|
# Average Wind direction at 80 meters in Degrees (0 or 360 = North, 90 = East, South = 180, West = 270).
|
|
#[Field(name: "windDir100m")]
|
|
public ? float $windDirection100m;
|
|
|
|
# Average Wind speed at 10 meters in miles per hour (imperial) or km/hour (metric, si).
|
|
#[Field(name: "windSpd")]
|
|
public ? float $windSpeed;
|
|
|
|
# Average Wind speed at 80 meters in miles per hour (imperial) or km/hour (metric, si).
|
|
#[Field(name: "windSpd80m")]
|
|
public ? float $windSpeed80m;
|
|
|
|
# Average Wind speed at 100 meters in miles per hour (imperial) or km/hour (metric, si).
|
|
#[Field(name: "windSpd100m")]
|
|
public ? float $windSpeed100m;
|
|
} |