Class WeatherClient

java.lang.Object
com.azure.maps.weather.WeatherClient

public final class WeatherClient extends Object
Initializes a new instance of the synchronous WeatherClient type. WeatherClient instances are created via the WeatherClientBuilder, as shown below. Creating a sync client using a AzureKeyCredential:
 // Authenticates using subscription key
 AzureKeyCredential keyCredential = new AzureKeyCredential(System.getenv("SUBSCRIPTION_KEY"));

 // Creates a client
 WeatherClient client = new WeatherClientBuilder() 
     .credential(keyCredential)
     .weatherClientId(System.getenv("MAPS_CLIENT_ID"))
     .buildClient();
 
  • Method Details

    • getHourlyForecast

      public HourlyForecastResult getHourlyForecast(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, Integer duration, String language)
      **Get Hourly Forecast**
       client.getHourlyForecast(new GeoPosition(-122.138874, 47.632346), null, 12, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Request detailed weather forecast by the hour for the next 1, 12, 24 (1 day), 72 (3 days), 120 (5 days), and 240 hours (10 days) for the given the given coordinate location. The API returns details such as temperature, humidity, wind, precipitation, and ultraviolet (UV) index.

      In S0 you can request hourly forecast for the next 1, 12, 24 hours (1 day), and 72 hours (3 days). In S1 you can also request hourly forecast for the next 120 (5 days) and 240 hours (10 days).

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      duration - Time frame of the returned weather forecast. By default, the forecast data for next hour will be returned. Available values are * `1` - Return forecast data for the next hour. Default value. * `12` - Return hourly forecast for next 12 hours. * `24` - Return hourly forecast for next 24 hours. * `72` - Return hourly forecast for next 72 hours (3 days). * `120` - Return hourly forecast for next 120 hours (5 days). Only available in S1 SKU. * `240` - Return hourly forecast for next 240 hours (10 days). Only available in S1 SKU.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getHourlyForecastWithResponse

      public com.azure.core.http.rest.Response<HourlyForecastResult> getHourlyForecastWithResponse(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, Integer duration, String language, com.azure.core.util.Context context)
      **Get Hourly Forecast**
       client.getHourlyForecast(new GeoPosition(-122.138874, 47.632346), null, 12, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Request detailed weather forecast by the hour for the next 1, 12, 24 (1 day), 72 (3 days), 120 (5 days), and 240 hours (10 days) for the given the given coordinate location. The API returns details such as temperature, humidity, wind, precipitation, and ultraviolet (UV) index.

      In S0 you can request hourly forecast for the next 1, 12, 24 hours (1 day), and 72 hours (3 days). In S1 you can also request hourly forecast for the next 120 (5 days) and 240 hours (10 days).

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      duration - Time frame of the returned weather forecast. By default, the forecast data for next hour will be returned. Available values are * `1` - Return forecast data for the next hour. Default value. * `12` - Return hourly forecast for next 12 hours. * `24` - Return hourly forecast for next 24 hours. * `72` - Return hourly forecast for next 72 hours (3 days). * `120` - Return hourly forecast for next 120 hours (5 days). Only available in S1 SKU. * `240` - Return hourly forecast for next 240 hours (10 days). Only available in S1 SKU.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getMinuteForecast

      public MinuteForecastResult getMinuteForecast(com.azure.core.models.GeoPosition position, Integer interval, String language)
      **Get Minute Forecast**
       client.getMinuteForecast(new GeoPosition(-122.138874, 47.632346), 15, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Minute Forecast service returns minute-by-minute forecasts for a given location for the next 120 minutes. Users can request weather forecasts in the interval of 1, 5 and 15 minutes. The response will include details such as the type of precipitation (including rain, snow, or a mixture of both), start time, and precipitation intensity value (dBZ).

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      interval - Specifies time interval in minutes for the returned weather forecast. Supported values are * `1` - Retrieve forecast for 1-minute intervals. Returned by default. * `5` - Retrieve forecasts for 5-minute intervals. * `15` - Retrieve forecasts for 15-minute intervals.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getMinuteForecastWithResponse

      public com.azure.core.http.rest.Response<MinuteForecastResult> getMinuteForecastWithResponse(com.azure.core.models.GeoPosition position, Integer interval, String language, com.azure.core.util.Context context)
      **Get Minute Forecast**
       client.getMinuteForecast(new GeoPosition(-122.138874, 47.632346), 15, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Minute Forecast service returns minute-by-minute forecasts for a given location for the next 120 minutes. Users can request weather forecasts in the interval of 1, 5 and 15 minutes. The response will include details such as the type of precipitation (including rain, snow, or a mixture of both), start time, and precipitation intensity value (dBZ).

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      interval - Specifies time interval in minutes for the returned weather forecast. Supported values are * `1` - Retrieve forecast for 1-minute intervals. Returned by default. * `5` - Retrieve forecasts for 5-minute intervals. * `15` - Retrieve forecasts for 15-minute intervals.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getQuarterDayForecast

      public QuarterDayForecastResult getQuarterDayForecast(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, Integer duration, String language)
      **Get Quarter-Day Forecast**
       client.getQuarterDayForecast(new GeoPosition(-122.138874, 47.632346), null, 1, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Service returns detailed weather forecast by quarter-day for the next 1, 5, 10, or 15 days for a given location. Response data is presented by quarters of the day - morning, afternoon, evening, and overnight. Details such as temperature, humidity, wind, precipitation, and UV index are returned.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      duration - Specifies for how many days the quester-day forecast responses are returned. Supported values are: * `1` - Return forecast data for the next day. Returned by default. * `5` - Return forecast data for the next 5 days. * `10` - Return forecast data for next 10 days. * `15` - Return forecast data for the next 15 days.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getQuarterDayForecastWithResponse

      public com.azure.core.http.rest.Response<QuarterDayForecastResult> getQuarterDayForecastWithResponse(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, Integer duration, String language, com.azure.core.util.Context context)
      **Get Quarter-Day Forecast**
       client.getQuarterDayForecast(new GeoPosition(-122.138874, 47.632346), null, 1, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Service returns detailed weather forecast by quarter-day for the next 1, 5, 10, or 15 days for a given location. Response data is presented by quarters of the day - morning, afternoon, evening, and overnight. Details such as temperature, humidity, wind, precipitation, and UV index are returned.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      duration - Specifies for how many days the quester-day forecast responses are returned. Supported values are: * `1` - Return forecast data for the next day. Returned by default. * `5` - Return forecast data for the next 5 days. * `10` - Return forecast data for next 10 days. * `15` - Return forecast data for the next 15 days.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getCurrentConditions

      public CurrentConditionsResult getCurrentConditions(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, String details, Integer duration, String language)
      **Get Current Conditions**
       client.getCurrentConditions(new GeoPosition(-122.125679, 47.641268), 
           null, null, null, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Current Conditions service returns detailed current weather conditions such as precipitation, temperature and wind for a given coordinate location. Also, observations from the past 6 or 24 hours for a particular location can be retrieved. The basic information returned with the response include details such as observation date and time, brief description of the weather conditions, weather icon, precipitation indicator flags, and temperature. Additional details such as RealFeelâ„¢ Temperature and UV index are also returned.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      details - Return full details for the current conditions. Available values are * `true` - Returns full details. By default all details are returned. * `false` - Returns a truncated version of the current condition data, which includes observation date time, weather phrase, icon code, precipitation indicator flag, and temperature.
      duration - Time frame of the returned weather conditions. By default, the most current weather conditions will be returned. Default value is 0. Supported values are: * `0` - Return the most current weather conditions. * `6` - Return weather conditions from past 6 hours. * `24` - Return weather conditions from past 24 hours.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getCurrentConditionsWithResponse

      public com.azure.core.http.rest.Response<CurrentConditionsResult> getCurrentConditionsWithResponse(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, String details, Integer duration, String language, com.azure.core.util.Context context)
      **Get Current Conditions**
       client.getCurrentConditions(new GeoPosition(-122.125679, 47.641268), 
           null, null, null, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Current Conditions service returns detailed current weather conditions such as precipitation, temperature and wind for a given coordinate location. Also, observations from the past 6 or 24 hours for a particular location can be retrieved. The basic information returned with the response include details such as observation date and time, brief description of the weather conditions, weather icon, precipitation indicator flags, and temperature. Additional details such as RealFeelâ„¢ Temperature and UV index are also returned.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      details - Return full details for the current conditions. Available values are * `true` - Returns full details. By default all details are returned. * `false` - Returns a truncated version of the current condition data, which includes observation date time, weather phrase, icon code, precipitation indicator flag, and temperature.
      duration - Time frame of the returned weather conditions. By default, the most current weather conditions will be returned. Default value is 0. Supported values are: * `0` - Return the most current weather conditions. * `6` - Return weather conditions from past 6 hours. * `24` - Return weather conditions from past 24 hours.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyForecast

      public DailyForecastResult getDailyForecast(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, Integer duration, String language)
      **Get Daily Forecast**
       client.getDailyForecast(new GeoPosition(30.0734812, 62.6490341), null, 5, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      The service returns detailed weather forecast such as temperature and wind by day for the next 1, 5, 10, 15, 25, or 45 days for a given coordinate location. The response include details such as temperature, wind, precipitation, air quality, and UV index.

      In S0 you can request daily forecast for the next 1, 5, 10, and 15 days. In S1 you can also request daily forecast for the next 25 days, and 45 days.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      duration - Specifies for how many days the daily forecast responses are returned. Available values are * `1` - Return forecast data for the next day. Returned by default. * `5` - Return forecast data for the next 5 days. * `10` - Return forecast data for the next 10 days. * `25` - Return forecast data for the next 25 days. Only available in S1 SKU. * `45` - Return forecast data for the next 45 days. Only available in S1 SKU.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyForecastWithResponse

      public com.azure.core.http.rest.Response<DailyForecastResult> getDailyForecastWithResponse(com.azure.core.models.GeoPosition position, WeatherDataUnit unit, Integer duration, String language, com.azure.core.util.Context context)
      **Get Daily Forecast**
       client.getDailyForecast(new GeoPosition(30.0734812, 62.6490341), null, 5, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      The service returns detailed weather forecast such as temperature and wind by day for the next 1, 5, 10, 15, 25, or 45 days for a given coordinate location. The response include details such as temperature, wind, precipitation, air quality, and UV index.

      In S0 you can request daily forecast for the next 1, 5, 10, and 15 days. In S1 you can also request daily forecast for the next 25 days, and 45 days.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      duration - Specifies for how many days the daily forecast responses are returned. Available values are * `1` - Return forecast data for the next day. Returned by default. * `5` - Return forecast data for the next 5 days. * `10` - Return forecast data for the next 10 days. * `25` - Return forecast data for the next 25 days. Only available in S1 SKU. * `45` - Return forecast data for the next 45 days. Only available in S1 SKU.
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getWeatherAlongRoute

      public WeatherAlongRouteResult getWeatherAlongRoute(List<Waypoint> waypoints, String language)
      **Get Weather along route**
       List<Waypoint> waypoints = Arrays.asList(
           new Waypoint(new GeoPosition(-77.037, 38.907), 0.0),
           new Waypoint(new GeoPosition(-77.009, 38.907), 10.0),
           new Waypoint(new GeoPosition(-76.928, 38.926), 20.0),
           new Waypoint(new GeoPosition(-76.852, 39.033), 30.0),
           new Waypoint(new GeoPosition(-76.732, 39.168), 40.0),
           new Waypoint(new GeoPosition(-76.634, 39.269), 50.0),
           new Waypoint(new GeoPosition(-76.612, 39.287), 60.0)
       );
       client.getWeatherAlongRoute(waypoints, "en");
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Weather along a route API returns hyper local (one kilometer or less), up-to-the-minute weather nowcasts, weather hazard assessments, and notifications along a route described as a sequence of waypoints. This includes a list of weather hazards affecting the waypoint or route, and the aggregated hazard index for each waypoint might be used to paint each portion of a route according to how safe it is for the driver. When submitting the waypoints, it is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. Data is updated every five minutes.

      The service supplements Azure Maps [Route Service](https://docs.microsoft.com/rest/api/maps/route) that allows you to first request a route between an origin and a destination and use that as an input for Weather Along Route endpoint.

      In addition, the service supports scenarios to generate weather notifications for waypoints that experience an increase in intensity of a weather hazard. For example, if the vehicle is expected to begin experiencing heavy rain as it reaches a waypoint, a weather notification for heavy rain will be generated for that waypoint allowing the end product to display a heavy rain notification before the driver reaches that waypoint. The trigger for when to display the notification for a waypoint could be based, for example, on a [geofence](https://docs.microsoft.com/azure/azure-maps/tutorial-iot-hub-maps), or selectable distance to the waypoint.

      The API covers all regions of the planet except latitudes above Greenland and Antarctica.

      Parameters:
      waypoints - Coordinates through which the route is calculated, separated by colon (:) and entered in chronological order. A minimum of two waypoints is required. A single API call may contain up to 60 waypoints. A waypoint indicates location, ETA, and optional heading: latitude,longitude,ETA,heading, where * `Latitude` - Latitude coordinate in decimal degrees. * `Longitude` - Longitude coordinate in decimal degrees. * `ETA (estimated time of arrival)` - The number of minutes from the present time that it will take for the vehicle to reach the waypoint. Allowed range is from 0.0 to 120.0 minutes. * `Heading` - An optional value indicating the vehicle heading as it passes the waypoint. Expressed in clockwise degrees relative to true north. This is issued to calculate sun glare as a driving hazard. Allowed range is from 0.0 to 360.0 degrees. If not provided, a heading will automatically be derived based on the position of neighboring waypoints.

      It is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. This way a more accurate assessment can be provided for the trip and prevent isolated events not being captured between waypoints. Information can and should be updated along the route (especially for trips greater than 2 hours) to continuously pull new waypoints moving forward, but also to ensure that forecast information for content such as precipitation type and intensity is accurate as storms develop and dissipate over time.

      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      Returns:
      this object is returned from a successful Weather Along Route.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getWeatherAlongRouteWithResponse

      public com.azure.core.http.rest.Response<WeatherAlongRouteResult> getWeatherAlongRouteWithResponse(List<Waypoint> waypoints, String language, com.azure.core.util.Context context)
      **Get Weather along route**
       List<Waypoint> waypoints = Arrays.asList(
           new Waypoint(new GeoPosition(-77.037, 38.907), 0.0),
           new Waypoint(new GeoPosition(-77.009, 38.907), 10.0),
           new Waypoint(new GeoPosition(-76.928, 38.926), 20.0),
           new Waypoint(new GeoPosition(-76.852, 39.033), 30.0),
           new Waypoint(new GeoPosition(-76.732, 39.168), 40.0),
           new Waypoint(new GeoPosition(-76.634, 39.269), 50.0),
           new Waypoint(new GeoPosition(-76.612, 39.287), 60.0)
       );
       client.getWeatherAlongRoute(waypoints, "en");
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Weather along a route API returns hyper local (one kilometer or less), up-to-the-minute weather nowcasts, weather hazard assessments, and notifications along a route described as a sequence of waypoints. This includes a list of weather hazards affecting the waypoint or route, and the aggregated hazard index for each waypoint might be used to paint each portion of a route according to how safe it is for the driver. When submitting the waypoints, it is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. Data is updated every five minutes.

      The service supplements Azure Maps [Route Service](https://docs.microsoft.com/rest/api/maps/route) that allows you to first request a route between an origin and a destination and use that as an input for Weather Along Route endpoint.

      In addition, the service supports scenarios to generate weather notifications for waypoints that experience an increase in intensity of a weather hazard. For example, if the vehicle is expected to begin experiencing heavy rain as it reaches a waypoint, a weather notification for heavy rain will be generated for that waypoint allowing the end product to display a heavy rain notification before the driver reaches that waypoint. The trigger for when to display the notification for a waypoint could be based, for example, on a [geofence](https://docs.microsoft.com/azure/azure-maps/tutorial-iot-hub-maps), or selectable distance to the waypoint.

      The API covers all regions of the planet except latitudes above Greenland and Antarctica.

      Parameters:
      waypoints - Coordinates through which the route is calculated, separated by colon (:) and entered in chronological order. A minimum of two waypoints is required. A single API call may contain up to 60 waypoints. A waypoint indicates location, ETA, and optional heading: latitude,longitude,ETA,heading, where * `Latitude` - Latitude coordinate in decimal degrees. * `Longitude` - Longitude coordinate in decimal degrees. * `ETA (estimated time of arrival)` - The number of minutes from the present time that it will take for the vehicle to reach the waypoint. Allowed range is from 0.0 to 120.0 minutes. * `Heading` - An optional value indicating the vehicle heading as it passes the waypoint. Expressed in clockwise degrees relative to true north. This is issued to calculate sun glare as a driving hazard. Allowed range is from 0.0 to 360.0 degrees. If not provided, a heading will automatically be derived based on the position of neighboring waypoints.

      It is recommended to stay within, or close to, the distance that can be traveled within 120-mins or shortly after. This way a more accurate assessment can be provided for the trip and prevent isolated events not being captured between waypoints. Information can and should be updated along the route (especially for trips greater than 2 hours) to continuously pull new waypoints moving forward, but also to ensure that forecast information for content such as precipitation type and intensity is accurate as storms develop and dissipate over time.

      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      context - The context to associate with this operation.
      Returns:
      this object is returned from a successful Weather Along Route.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getSevereWeatherAlerts

      public SevereWeatherAlertsResult getSevereWeatherAlerts(com.azure.core.models.GeoPosition position, String language, Boolean includeDetails)
      **Get Severe Weather Alerts**
       client.getSevereWeatherAlerts(new GeoPosition(-85.06431274043842, 30.324604968788467), null, true);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Severe weather phenomenon can significantly impact our everyday life and business operations. For example, severe weather conditions such as tropical storms, high winds or flooding can close roads and force logistics companies to reroute their fleet causing delays in reaching destinations and breaking the cold chain of refrigerated food products.  Azure Maps Severe Weather Alerts API returns the severe weather alerts that are available worldwide from both official Government Meteorological Agencies and leading global to regional weather alert providers. The service can return details such as alert type, category, level and detailed description about the active severe alerts for the requested location, like hurricanes, thunderstorms, lightning, heat waves or forest fires.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      includeDetails - Return full details for the severe weather alerts. Available values are * `true` - Returns full details. By default all details are returned. * `false` - Returns a truncated version of the alerts data, which excludes the area-specific full description of alert details (`alertDetails`).
      Returns:
      this object is returned from a successful Get Severe Weather Alerts call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getSevereWeatherAlertsWithResponse

      public com.azure.core.http.rest.Response<SevereWeatherAlertsResult> getSevereWeatherAlertsWithResponse(com.azure.core.models.GeoPosition position, String language, Boolean includeDetails, com.azure.core.util.Context context)
      **Get Severe Weather Alerts**
       client.getSevereWeatherAlerts(new GeoPosition(-85.06431274043842, 30.324604968788467), null, true);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Severe weather phenomenon can significantly impact our everyday life and business operations. For example, severe weather conditions such as tropical storms, high winds or flooding can close roads and force logistics companies to reroute their fleet causing delays in reaching destinations and breaking the cold chain of refrigerated food products.  Azure Maps Severe Weather Alerts API returns the severe weather alerts that are available worldwide from both official Government Meteorological Agencies and leading global to regional weather alert providers. The service can return details such as alert type, category, level and detailed description about the active severe alerts for the requested location, like hurricanes, thunderstorms, lightning, heat waves or forest fires.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      includeDetails - Return full details for the severe weather alerts. Available values are * `true` - Returns full details. By default all details are returned. * `false` - Returns a truncated version of the alerts data, which excludes the area-specific full description of alert details (`alertDetails`).
      context - The context to associate with this operation.
      Returns:
      this object is returned from a successful Get Severe Weather Alerts call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyIndices

      public DailyIndicesResult getDailyIndices(com.azure.core.models.GeoPosition position, String language, Integer duration, Integer indexId, Integer indexGroupId)
      **Get Daily Indices**
       client.getDailyIndices(new GeoPosition(-79.37849, 43.84745), null, null, null, 11);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      There may be times when you want to know if the weather conditions are optimal for a specific activity, for example, for outdoor construction, indoor activities, running or farming including soil moisture information. Azure Maps Indices API returns index values that will guide end users to plan future activities. For example, a health mobile application can notify users that today is good weather for running or for other outdoors activities like for playing golf, and retail stores can optimize their digital marketing campaigns based on predicted index values. The service returns in daily indices values for current and next 5, 10 and 15 days starting from current day.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      duration - Specifies for how many days the daily indices are returned. By default, the indices data for the current day will be returned. When requesting future indices data, the current day is included in the response as day 1. Available values are * `1` - Return daily index data for the current day. Default value. * `5` - Return 5 days of daily index data starting from the current day. * `10` - Return 10 days of daily index data starting from the current day. * `15` - Return 15 days of daily index data starting from the current day.
      indexId - Numeric index identifier that can be used for restricting returned results to the corresponding index type. Cannot be paired with `indexGroupId`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported indices.
      indexGroupId - Numeric index group identifier that can be used for restricting returned results to the corresponding subset of indices (index group). Cannot be paired with `indexId`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported index groups.
      Returns:
      this object is returned from a successful Get Daily Indices call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyIndicesWithResponse

      public com.azure.core.http.rest.Response<DailyIndicesResult> getDailyIndicesWithResponse(com.azure.core.models.GeoPosition position, String language, Integer duration, Integer indexId, Integer indexGroupId, com.azure.core.util.Context context)
      **Get Daily Indices**
       client.getDailyIndices(new GeoPosition(-79.37849, 43.84745), null, null, null, 11);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      There may be times when you want to know if the weather conditions are optimal for a specific activity, for example, for outdoor construction, indoor activities, running or farming including soil moisture information. Azure Maps Indices API returns index values that will guide end users to plan future activities. For example, a health mobile application can notify users that today is good weather for running or for other outdoors activities like for playing golf, and retail stores can optimize their digital marketing campaigns based on predicted index values. The service returns in daily indices values for current and next 5, 10 and 15 days starting from current day.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      duration - Specifies for how many days the daily indices are returned. By default, the indices data for the current day will be returned. When requesting future indices data, the current day is included in the response as day 1. Available values are * `1` - Return daily index data for the current day. Default value. * `5` - Return 5 days of daily index data starting from the current day. * `10` - Return 10 days of daily index data starting from the current day. * `15` - Return 15 days of daily index data starting from the current day.
      indexId - Numeric index identifier that can be used for restricting returned results to the corresponding index type. Cannot be paired with `indexGroupId`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported indices.
      indexGroupId - Numeric index group identifier that can be used for restricting returned results to the corresponding subset of indices (index group). Cannot be paired with `indexId`. Please refer to [Weather Service Concepts](https://aka.ms/AzureMapsWeatherConcepts) for details and to see the supported index groups.
      context - The context to associate with this operation.
      Returns:
      this object is returned from a successful Get Daily Indices call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getTropicalStormActive

      public ActiveStormResult getTropicalStormActive()
      **Get Tropical Storm Active**
       client.getTropicalStormActive();
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get all government-issued active tropical storms. Information about the tropical storms includes, government ID, basin ID, year of origin, name and if it is subtropical.

      Returns:
      all government-issued active storms.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getTropicalStormActiveWithResponse

      public com.azure.core.http.rest.Response<ActiveStormResult> getTropicalStormActiveWithResponse(com.azure.core.util.Context context)
      **Get Tropical Storm Active**
       client.getTropicalStormActive();
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get all government-issued active tropical storms. Information about the tropical storms includes, government ID, basin ID, year of origin, name and if it is subtropical.

      Parameters:
      context - The context to associate with this operation.
      Returns:
      all government-issued active storms.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • searchTropicalStorm

      public StormSearchResult searchTropicalStorm(Integer year, BasinId basinId, Integer governmentStormId)
      **Get Tropical Storm Search**
       ActiveStormResult result = client.getTropicalStormActive();
       if (result.getActiveStorms().size() > 0) {
           ActiveStorm storm = result.getActiveStorms().get(0);
           client.searchTropicalStorm(storm.getYear(), storm.getBasinId(), storm.getGovId());
       }
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Search government-issued tropical storms by year, basin ID, and government ID. Information about the tropical storms includes, government ID, basin ID, status, year, name and if it is subtropical.

      Parameters:
      year - Year of the cyclone(s).
      basinId - Basin identifier.
      governmentStormId - Government storm Id.
      Returns:
      search government-issued storms.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • searchTropicalStormWithResponse

      public com.azure.core.http.rest.Response<StormSearchResult> searchTropicalStormWithResponse(Integer year, BasinId basinId, Integer governmentStormId, com.azure.core.util.Context context)
      **Get Tropical Storm Search**
       ActiveStormResult result = client.getTropicalStormActive();
       if (result.getActiveStorms().size() > 0) {
           ActiveStorm storm = result.getActiveStorms().get(0);
           client.searchTropicalStorm(storm.getYear(), storm.getBasinId(), storm.getGovId());
       }
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Search government-issued tropical storms by year, basin ID, and government ID. Information about the tropical storms includes, government ID, basin ID, status, year, name and if it is subtropical.

      Parameters:
      year - Year of the cyclone(s).
      basinId - Basin identifier.
      governmentStormId - Government storm Id.
      context - The context to associate with this operation.
      Returns:
      search government-issued storms.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getTropicalStormForecast

      public StormForecastResult getTropicalStormForecast(TropicalStormForecastOptions options)
      **Get Tropical Storm Forecasts**
       ActiveStormResult result = client.getTropicalStormActive();
       if (result.getActiveStorms().size() > 0) {
           ActiveStorm storm = result.getActiveStorms().get(0);
           TropicalStormForecastOptions forecastOptions = new TropicalStormForecastOptions(storm.getYear(),
               storm.getBasinId(), storm.getGovId())
               .setIncludeWindowGeometry(true);
           client.getTropicalStormForecast(forecastOptions);
       }
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get individual government-issued tropical storm forecasts. Information about the forecasted tropical storms includes, location, status, date the forecast was created, window, wind speed and wind radii.

      Parameters:
      options - TropicalStormForecastOptions
      Returns:
      the list of Government-issued forecasts.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getTropicalStormForecastWithResponse

      public com.azure.core.http.rest.Response<StormForecastResult> getTropicalStormForecastWithResponse(TropicalStormForecastOptions options, com.azure.core.util.Context context)
      **Get Tropical Storm Forecasts**
       ActiveStormResult result = client.getTropicalStormActive();
       if (result.getActiveStorms().size() > 0) {
           ActiveStorm storm = result.getActiveStorms().get(0);
           TropicalStormForecastOptions forecastOptions = new TropicalStormForecastOptions(storm.getYear(),
               storm.getBasinId(), storm.getGovId())
               .setIncludeWindowGeometry(true);
           client.getTropicalStormForecast(forecastOptions);
       }
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get individual government-issued tropical storm forecasts. Information about the forecasted tropical storms includes, location, status, date the forecast was created, window, wind speed and wind radii.

      Parameters:
      options - TropicalStormForecastOptions
      context - The context to associate with this operation.
      Returns:
      the list of Government-issued forecasts.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getTropicalStormLocations

      public StormLocationsResult getTropicalStormLocations(TropicalStormLocationOptions options)
      **Get Tropical Storm Locations**
       ActiveStormResult result = client.getTropicalStormActive();
       if (result.getActiveStorms().size() > 0) {
           ActiveStorm storm = result.getActiveStorms().get(0);
           TropicalStormLocationOptions locationOptions = new TropicalStormLocationOptions(storm.getYear(),
               storm.getBasinId(), storm.getGovId());
           client.getTropicalStormLocations(locationOptions);
       }
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get location of individual government-issued tropical storms. Information about the tropical storms includes, location coordinates, geometry, basin ID, date, wind details and wind radii.

      Parameters:
      options - TropicalStormLocationOptions
      Returns:
      locations for an individual government-issued storm.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getTropicalStormLocationsWithResponse

      public com.azure.core.http.rest.Response<StormLocationsResult> getTropicalStormLocationsWithResponse(TropicalStormLocationOptions options, com.azure.core.util.Context context)
      **Get Tropical Storm Locations**
       ActiveStormResult result = client.getTropicalStormActive();
       if (result.getActiveStorms().size() > 0) {
           ActiveStorm storm = result.getActiveStorms().get(0);
           TropicalStormLocationOptions locationOptions = new TropicalStormLocationOptions(storm.getYear(),
               storm.getBasinId(), storm.getGovId());
           client.getTropicalStormLocations(locationOptions);
       }
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get location of individual government-issued tropical storms. Information about the tropical storms includes, location coordinates, geometry, basin ID, date, wind details and wind radii.

      Parameters:
      options - TropicalStormLocationOptions
      context - The context to associate with this operation.
      Returns:
      locations for an individual government-issued storm.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getCurrentAirQuality

      public AirQualityResult getCurrentAirQuality(com.azure.core.models.GeoPosition position, String language, Boolean includePollutantDetails)
      **Get Current Air Quality**
       client.getCurrentAirQuality(
           new GeoPosition(-122.138874, 47.632346), "es", false);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get detailed information about the concentration of pollutants and overall status for current air quality. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      includePollutantDetails - Boolean value that returns detailed information about each pollutant. By default is True.
      Returns:
      this object is returned from a successful Get Air Quality call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getCurrentAirQualityWithResponse

      public com.azure.core.http.rest.Response<AirQualityResult> getCurrentAirQualityWithResponse(com.azure.core.models.GeoPosition position, String language, Boolean includePollutantDetails, com.azure.core.util.Context context)
      **Get Current Air Quality**
       client.getCurrentAirQuality(
           new GeoPosition(-122.138874, 47.632346), "es", false);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get detailed information about the concentration of pollutants and overall status for current air quality. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      includePollutantDetails - Boolean value that returns detailed information about each pollutant. By default is True.
      context - The context to associate with this operation.
      Returns:
      this object is returned from a successful Get Air Quality call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getAirQualityDailyForecasts

      public DailyAirQualityForecastResult getAirQualityDailyForecasts(com.azure.core.models.GeoPosition position, String language, DailyDuration duration)
      **Get Air Quality Daily Forecasts**
       client.getAirQualityDailyForecasts(
           new GeoPosition(-122.138874, 47.632346), "en", DailyDuration.TWO_DAYS);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get detailed information about the concentration of pollutants and overall status of forecasted daily air quality. The service can provide forecasted daily air quality information for the upcoming 1 to 7 days. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      duration - Specifies for how many days from now we would like to know about the air quality. Available values are 1, 2, 3, 4, 5, 6, and 7. Default value is 1.
      Returns:
      this object is returned from a successful Get Daily Air Quality Forecast call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getAirQualityDailyForecastsWithResponse

      public com.azure.core.http.rest.Response<DailyAirQualityForecastResult> getAirQualityDailyForecastsWithResponse(com.azure.core.models.GeoPosition position, String language, DailyDuration duration, com.azure.core.util.Context context)
      **Get Air Quality Daily Forecasts**
       client.getAirQualityDailyForecasts(
           new GeoPosition(-122.138874, 47.632346), "en", DailyDuration.TWO_DAYS);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get detailed information about the concentration of pollutants and overall status of forecasted daily air quality. The service can provide forecasted daily air quality information for the upcoming 1 to 7 days. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      duration - Specifies for how many days from now we would like to know about the air quality. Available values are 1, 2, 3, 4, 5, 6, and 7. Default value is 1.
      context - The context to associate with this operation.
      Returns:
      this object is returned from a successful Get Daily Air Quality Forecast call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getAirQualityHourlyForecasts

      public AirQualityResult getAirQualityHourlyForecasts(com.azure.core.models.GeoPosition position, String language, HourlyDuration duration, Boolean includePollutantDetails)
      **Get Air Quality Hourly Forecasts**
       client.getAirQualityHourlyForecasts(
           new GeoPosition(-122.138874, 47.632346), "fr", HourlyDuration.ONE_HOUR, false);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get detailed information about the concentration of pollutants and overall status for forecasted upcoming hourly air quality. The service can provide forecasted hourly air quality information for the upcoming time spans of 1, 12, 24, 48, 72, and 96 hours. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      duration - Specifies for how many hours from now we would like to know about the air quality. Available values are 1, 12, 24, 48, 72, 96. Default value is 1 hour.
      includePollutantDetails - Boolean value that returns detailed information about each pollutant. By default is True.
      Returns:
      this object is returned from a successful Get Air Quality call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getAirQualityHourlyForecastsWithResponse

      public com.azure.core.http.rest.Response<AirQualityResult> getAirQualityHourlyForecastsWithResponse(com.azure.core.models.GeoPosition position, String language, HourlyDuration duration, Boolean includePollutantDetails, com.azure.core.util.Context context)
      **Get Air Quality Hourly Forecasts**
       client.getAirQualityHourlyForecasts(
           new GeoPosition(-122.138874, 47.632346), "fr", HourlyDuration.ONE_HOUR, false);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get detailed information about the concentration of pollutants and overall status for forecasted upcoming hourly air quality. The service can provide forecasted hourly air quality information for the upcoming time spans of 1, 12, 24, 48, 72, and 96 hours. Information includes, pollution levels, air quality index values, the dominant pollutant, and a brief statement summarizing risk level and suggested precautions.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      language - Language in which search results should be returned. Should be one of supported IETF language tags, case insensitive. When data in specified language is not available for a specific field, default language is used.

      Please refer to [Supported Languages](https://docs.microsoft.com/azure/azure-maps/supported-languages) for details.

      duration - Specifies for how many hours from now we would like to know about the air quality. Available values are 1, 12, 24, 48, 72, 96. Default value is 1 hour.
      includePollutantDetails - Boolean value that returns detailed information about each pollutant. By default is True.
      context - The context to associate with this operation.
      Returns:
      this object is returned from a successful Get Air Quality call.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyHistoricalActuals

      public DailyHistoricalActualsResult getDailyHistoricalActuals(com.azure.core.models.GeoPosition position, LocalDate startDate, LocalDate endDate, WeatherDataUnit unit)
      **Get Daily Historical Actuals**
       LocalDate before = LocalDate.now().minusDays(30);
       LocalDate today = LocalDate.now();
       client.getDailyHistoricalActuals(new GeoPosition(30.0734812, 62.6490341), before, today, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Daily Historical Actuals service returns climatology data such as past daily actual observed temperatures, precipitation, snowfall, snow depth and cooling/heating degree day information, for the day at a given coordinate location. The data is requested for a specified date range, up to 31 days in a single API request. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      startDate - Start date in ISO 8601 format, for example, 2019-10-27. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      endDate - End date in ISO 8601 format, for example, 2019-10-28. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyHistoricalActualsWithResponse

      public com.azure.core.http.rest.Response<DailyHistoricalActualsResult> getDailyHistoricalActualsWithResponse(com.azure.core.models.GeoPosition position, LocalDate startDate, LocalDate endDate, WeatherDataUnit unit, com.azure.core.util.Context context)
      **Get Daily Historical Actuals**
       LocalDate before = LocalDate.now().minusDays(30);
       LocalDate today = LocalDate.now();
       client.getDailyHistoricalActuals(new GeoPosition(30.0734812, 62.6490341), before, today, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Daily Historical Actuals service returns climatology data such as past daily actual observed temperatures, precipitation, snowfall, snow depth and cooling/heating degree day information, for the day at a given coordinate location. The data is requested for a specified date range, up to 31 days in a single API request. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      startDate - Start date in ISO 8601 format, for example, 2019-10-27. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      endDate - End date in ISO 8601 format, for example, 2019-10-28. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyHistoricalRecords

      public DailyHistoricalRecordsResult getDailyHistoricalRecords(com.azure.core.models.GeoPosition position, LocalDate startDate, LocalDate endDate, WeatherDataUnit unit)
      **Get Daily Historical Records**
       LocalDate before = LocalDate.now().minusDays(30);
       LocalDate today = LocalDate.now();
       client.getDailyHistoricalActuals(new GeoPosition(30.0734812, 62.6490341), before, today, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Daily Historical Records service returns climatology data such as past daily record temperatures, precipitation and snowfall at a given coordinate location. Availability of records data will vary by location. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      startDate - Start date in ISO 8601 format, for example, 2019-10-27. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      endDate - End date in ISO 8601 format, for example, 2019-10-28. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyHistoricalRecordsWithResponse

      public com.azure.core.http.rest.Response<DailyHistoricalRecordsResult> getDailyHistoricalRecordsWithResponse(com.azure.core.models.GeoPosition position, LocalDate startDate, LocalDate endDate, WeatherDataUnit unit, com.azure.core.util.Context context)
      **Get Daily Historical Records**
       LocalDate before = LocalDate.now().minusDays(30);
       LocalDate today = LocalDate.now();
       client.getDailyHistoricalActuals(new GeoPosition(30.0734812, 62.6490341), before, today, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Daily Historical Records service returns climatology data such as past daily record temperatures, precipitation and snowfall at a given coordinate location. Availability of records data will vary by location. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      startDate - Start date in ISO 8601 format, for example, 2019-10-27. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      endDate - End date in ISO 8601 format, for example, 2019-10-28. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyHistoricalNormals

      public DailyHistoricalNormalsResult getDailyHistoricalNormals(com.azure.core.models.GeoPosition position, LocalDate startDate, LocalDate endDate, WeatherDataUnit unit)
      **Get Daily Historical Normals**
       LocalDate before = LocalDate.now().minusDays(30);
       LocalDate today = LocalDate.now();
       client.getDailyHistoricalNormals(new GeoPosition(30.0734812, 62.6490341), before, today, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Daily Historical Normals service returns climatology data such as past daily normal temperatures, precipitation and cooling/heating degree day information for the day at a given coordinate location. Normals are a 30-year average for temperatures and precipitation for a specific location. As is standard practice in climatology, the 30-year average covers years 1991-2020, this data will be used for one decade and then will reset in the year 2030. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      startDate - Start date in ISO 8601 format, for example, 2019-10-27. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      endDate - End date in ISO 8601 format, for example, 2019-10-28. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.
    • getDailyHistoricalNormalsWithResponse

      public com.azure.core.http.rest.Response<DailyHistoricalNormalsResult> getDailyHistoricalNormalsWithResponse(com.azure.core.models.GeoPosition position, LocalDate startDate, LocalDate endDate, WeatherDataUnit unit, com.azure.core.util.Context context)
      **Get Daily Historical Normals**
       LocalDate before = LocalDate.now().minusDays(30);
       LocalDate today = LocalDate.now();
       client.getDailyHistoricalNormals(new GeoPosition(30.0734812, 62.6490341), before, today, null);
       

      **Applies to**: see pricing [tiers](https://aka.ms/AzureMapsPricingTier).

      Get Daily Historical Normals service returns climatology data such as past daily normal temperatures, precipitation and cooling/heating degree day information for the day at a given coordinate location. Normals are a 30-year average for temperatures and precipitation for a specific location. As is standard practice in climatology, the 30-year average covers years 1991-2020, this data will be used for one decade and then will reset in the year 2030. Generally, historical data may be available as far back as the last 5 to 40+ years, depending on the location.

      Parameters:
      position - The applicable query specified as a comma separated string composed by longitude followed by latitude e.g. "-122.125679,47.641268".
      startDate - Start date in ISO 8601 format, for example, 2019-10-27. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      endDate - End date in ISO 8601 format, for example, 2019-10-28. The date range supported is 1 to 31 calendar days, so be sure to specify a startDate and endDate that does not exceed a maximum of 31 days (i.e.: startDate=2012-01-01&endDate=2012-01-31).
      unit - Specifies to return the data in either metric units or imperial units. Default value is metric.
      context - The context to associate with this operation.
      Returns:
      the response.
      Throws:
      IllegalArgumentException - thrown if parameters fail the validation.
      com.azure.maps.weather.implementation.models.ErrorResponseException - thrown if the request is rejected by server.
      RuntimeException - all other wrapped checked exceptions if the request fails to be sent.