// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.maps.weather.v1; import "google/type/localized_text.proto"; option csharp_namespace = "Google.Geo.Weather.V1"; option go_package = "cloud.google.com/go/maps/weather/apiv1/weatherpb;weatherpb"; option java_multiple_files = true; option java_outer_classname = "WeatherConditionProto"; option java_package = "com.google.maps.weather.v1"; option objc_class_prefix = "GMWV1"; option php_namespace = "Google\\Geo\\Weather\\V1"; // Represents a weather condition for a given location at a given period of // time. // // Disclaimer: Weather icons and condition codes are subject to change. Google // may introduce new codes and icons or update existing ones as needed. We // encourage you to refer to this documentation regularly for the most // up-to-date information. message WeatherCondition { // Marks the weather condition type in a forecast element's context. // // Note: The conditions with values 42-139 are currently only returned // for locations in Japan and Korea. enum Type { // The weather condition is unspecified. TYPE_UNSPECIFIED = 0; // No clouds. CLEAR = 1; // Periodic clouds. MOSTLY_CLEAR = 2; // Party cloudy (some clouds). PARTLY_CLOUDY = 3; // Mostly cloudy (more clouds than sun). MOSTLY_CLOUDY = 4; // Cloudy (all clouds, no sun). CLOUDY = 5; // High wind. WINDY = 6; // High wind with precipitation. WIND_AND_RAIN = 7; // Light intermittent rain. LIGHT_RAIN_SHOWERS = 8; // Chance of intermittent rain. CHANCE_OF_SHOWERS = 9; // Intermittent rain. SCATTERED_SHOWERS = 10; // Showers are considered to be rainfall that has a shorter duration than // rain, and is characterized by suddenness in terms of start and stop // times, and rapid changes in intensity. RAIN_SHOWERS = 12; // Intense showers. HEAVY_RAIN_SHOWERS = 13; // Rain (light to moderate in quantity). LIGHT_TO_MODERATE_RAIN = 14; // Rain (moderate to heavy in quantity). MODERATE_TO_HEAVY_RAIN = 15; // Moderate rain. RAIN = 16; // Light rain. LIGHT_RAIN = 17; // Heavy rain. HEAVY_RAIN = 18; // Rain periodically heavy. RAIN_PERIODICALLY_HEAVY = 19; // Light snow that is falling at varying intensities for brief periods of // time. LIGHT_SNOW_SHOWERS = 20; // Chance of snow showers. CHANCE_OF_SNOW_SHOWERS = 21; // Snow that is falling at varying intensities for brief periods of time. SCATTERED_SNOW_SHOWERS = 22; // Snow showers. SNOW_SHOWERS = 23; // Heavy snow showers. HEAVY_SNOW_SHOWERS = 24; // Light to moderate snow. LIGHT_TO_MODERATE_SNOW = 25; // Moderate to heavy snow. MODERATE_TO_HEAVY_SNOW = 26; // Moderate snow. SNOW = 27; // Light snow. LIGHT_SNOW = 28; // Heavy snow. HEAVY_SNOW = 29; // Snow with possible thunder and lightning. SNOWSTORM = 30; // Snow, at times heavy. SNOW_PERIODICALLY_HEAVY = 31; // Heavy snow with possible thunder and lightning. HEAVY_SNOW_STORM = 32; // Snow with intense wind. BLOWING_SNOW = 33; // Rain and snow mix. RAIN_AND_SNOW = 34; // Hail. HAIL = 35; // Hail that is falling at varying intensities for brief periods of time. HAIL_SHOWERS = 36; // Thunderstorm. THUNDERSTORM = 37; // A shower of rain accompanied by thunder and lightning. THUNDERSHOWER = 38; // Light thunderstorm rain. LIGHT_THUNDERSTORM_RAIN = 39; // Thunderstorms that has rain in various intensities for brief periods of // time. SCATTERED_THUNDERSTORMS = 40; // Heavy thunderstorm. HEAVY_THUNDERSTORM = 41; // Clear after fog in the morning. CLEAR_AFTER_FOG_IN_THE_MORNING = 42; // Clear but later turning cloudy. CLEAR_BUT_LATER_TURNING_CLOUDY = 43; // Clear but later turning to rain and snow, with rain as the main // constituent. CLEAR_BUT_LATER_TURNING_TO_RAIN_AND_SNOW_MAIN_CONSTITUENT_RAIN = 44; // Clear but later turning to snow and rain, with snow as the main // constituent. CLEAR_BUT_LATER_TURNING_TO_SNOW_AND_RAIN_MAIN_CONSTITUENT_SNOW = 45; // Clear but thunderstorms later. CLEAR_BUT_THUNDERSTORMS_LATER = 46; // Clear in the morning but cloudy in the evening. CLEAR_IN_THE_MORNING_BUT_CLOUDY_IN_THE_EVENING = 47; // Clear in the morning with brief rain in the evening. CLEAR_IN_THE_MORNING_WITH_BRIEF_RAIN_IN_THE_EVENING = 48; // Clear morning with brief rain. CLEAR_MORNING_WITH_BRIEF_RAIN = 49; // Clear with brief rain. CLEAR_WITH_BRIEF_RAIN = 50; // Clear with brief rain and snow, with rain as the main constituent. CLEAR_WITH_BRIEF_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT = 51; // Clear with brief rain later. CLEAR_WITH_BRIEF_RAIN_LATER = 52; // Clear with brief snow. CLEAR_WITH_BRIEF_SNOW = 53; // Clear with brief snow and rain, with snow as the main constituent. CLEAR_WITH_BRIEF_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT = 54; // Clear with brief snow later. CLEAR_WITH_BRIEF_SNOW_LATER = 55; // Clear with periodic clouds later. CLEAR_WITH_PERIODIC_CLOUDS_LATER = 56; // Clear with periodic rain. CLEAR_WITH_PERIODIC_RAIN = 57; // Clear with periodic rain accompanied by thunder. CLEAR_WITH_PERIODIC_RAIN_ACCOMPANIED_BY_THUNDER = 58; // Clear with periodic rain and snow, with rain as the main constituent. CLEAR_WITH_PERIODIC_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT = 59; // Clear with periodic rain later. CLEAR_WITH_PERIODIC_RAIN_LATER = 60; // Clear with periodic snow. CLEAR_WITH_PERIODIC_SNOW = 61; // Clear with periodic snow and rain, with snow as the main constituent. CLEAR_WITH_PERIODIC_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT = 62; // Clear with periodic snow later. CLEAR_WITH_PERIODIC_SNOW_LATER = 63; // Clear with rain after midnight. CLEAR_WITH_RAIN_AFTER_MIDNIGHT = 64; // Clear with rain in the night. CLEAR_WITH_RAIN_IN_THE_NIGHT = 65; // Clear with rain later. CLEAR_WITH_RAIN_LATER = 66; // Clear with snow along the mountains. CLEAR_WITH_SNOW_ALONG_THE_MOUNTAINS = 67; // Clear with snow later. CLEAR_WITH_SNOW_LATER = 68; // Clear with thunderstorms along the mountains. CLEAR_WITH_THUNDERSTORMS_ALONG_THE_MOUNTAINS = 69; // Clear with thunderstorms in the afternoon. CLEAR_WITH_THUNDERSTORMS_IN_THE_AFTERNOON = 70; // Cloudy but clear later. CLOUDY_BUT_CLEAR_LATER = 71; // Cloudy but later turning to rain and snow, with rain as the main // constituent. CLOUDY_BUT_LATER_TURNING_TO_RAIN_AND_SNOW_MAIN_CONSTITUENT_RAIN = 72; // Cloudy but later turning to snow and rain, with snow as the main // constituent. CLOUDY_BUT_LATER_TURNING_TO_SNOW_AND_RAIN_MAIN_CONSTITUENT_SNOW = 73; // Cloudy but periodically clear later. CLOUDY_BUT_PERIODICALLY_CLEAR_LATER = 74; // Cloudy but thunderstorms later. CLOUDY_BUT_THUNDERSTORMS_LATER = 75; // Cloudy morning with brief rain. CLOUDY_MORNING_WITH_BRIEF_RAIN = 76; // Cloudy periodically clear. CLOUDY_PERIODICALLY_CLEAR = 77; // Cloudy, with snow in the evening. CLOUDY_SNOWING_IN_THE_EVENING = 78; // Cloudy, with snow at night. CLOUDY_SNOWING_IN_THE_NIGHT = 79; // Cloudy with brief rain. CLOUDY_WITH_BRIEF_RAIN = 80; // Cloudy with brief rain and snow, with rain as the main constituent. CLOUDY_WITH_BRIEF_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT = 81; // Cloudy with brief rain later. CLOUDY_WITH_BRIEF_RAIN_LATER = 82; // Cloudy with brief snow. CLOUDY_WITH_BRIEF_SNOW = 83; // Cloudy with brief snow and rain, with snow as the main constituent. CLOUDY_WITH_BRIEF_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT = 84; // Cloudy with brief snow later. CLOUDY_WITH_BRIEF_SNOW_LATER = 85; // Cloudy with brief thunderstorm. CLOUDY_WITH_BRIEF_THUNDERSTORM = 86; // Cloudy with fog on the ocean and at the seashore. CLOUDY_WITH_FOG_ON_THE_OCEAN_AND_AT_THE_SEASHORE = 87; // Cloudy with periodic rain. CLOUDY_WITH_PERIODIC_RAIN = 88; // Cloudy with periodic rain accompanied by thunder. CLOUDY_WITH_PERIODIC_RAIN_ACCOMPANIED_BY_THUNDER = 89; // Cloudy with periodic rain and snow, with rain as the main // constituent. CLOUDY_WITH_PERIODIC_RAIN_AND_SNOW_RAIN_AS_MAIN_CONSTITUENT = 90; // Cloudy with periodic rain later. CLOUDY_WITH_PERIODIC_RAIN_LATER = 91; // Cloudy with periodic snow. CLOUDY_WITH_PERIODIC_SNOW = 92; // Cloudy with periodic snow accompanied by thunder. CLOUDY_WITH_PERIODIC_SNOW_ACCOMPANIED_BY_THUNDER = 93; // Cloudy with periodic snow and rain, with snow as the main // constituent. CLOUDY_WITH_PERIODIC_SNOW_AND_RAIN_SNOW_AS_MAIN_CONSTITUENT = 94; // Cloudy with periodic snow later. CLOUDY_WITH_PERIODIC_SNOW_LATER = 95; // Cloudy with rain after midnight. CLOUDY_WITH_RAIN_AFTER_MIDNIGHT = 96; // Cloudy with rain from about noon. CLOUDY_WITH_RAIN_FROM_ABOUT_NOON = 97; // Cloudy with rain from evening. CLOUDY_WITH_RAIN_FROM_EVENING = 98; // Cloudy with rain later. CLOUDY_WITH_RAIN_LATER = 99; // Cloudy with snow from around noon. CLOUDY_WITH_SNOW_FROM_AROUND_NOON = 100; // Cloudy with snow later. CLOUDY_WITH_SNOW_LATER = 101; // Fog. FOG = 102; // Rain-snow mix, later becoming clear, with rain as the main // constituent. RAINSNOW_MIX_LATER_BECOMING_CLEAR_RAIN_AS_MAIN = 103; // Rain-snow mix, with rain as the main constituent. RAINSNOW_MIX_RAIN_AS_MAIN = 104; // Rainy but periodically clear. RAINY_BUT_PERIODICALLY_CLEAR = 105; // Rain accompanied by lightning. RAIN_ACCOMPANIED_BY_LIGHTNING = 106; // Rain accompanied by windstorm. RAIN_ACCOMPANIED_BY_WINDSTORM = 107; // Rain, clearing at night. RAIN_CLEAR_AT_NIGHT = 108; // Rain, clearing from around evening. RAIN_CLEAR_FROM_AROUND_EVENING = 109; // Rain, clearing from around noon. RAIN_CLEAR_FROM_AROUND_NOON = 110; // Rain, later becoming clear. RAIN_LATER_BECOMING_CLEAR = 111; // Rain, later becoming cloudy. RAIN_LATER_BECOMING_CLOUDY = 112; // Rain, later becoming snow. RAIN_LATER_BECOMING_SNOW = 113; // Rain, later with periodic snow. RAIN_LATER_WITH_PERIODIC_SNOW = 114; // Rain and snow at night. RAIN_SNOW_AT_NIGHT = 115; // Rain and snow in the evening. RAIN_SNOW_IN_THE_EVENING = 116; // Rain, temporarily becoming sleet. RAIN_TEMPORARILY_BECOMING_SLEET = 117; // Rain that periodically stops. RAIN_THAT_PERIODICALLY_STOPS = 118; // Rain with brief snow. RAIN_WITH_BRIEF_SNOW = 119; // Rain with periodic snow. RAIN_WITH_PERIODIC_SNOW = 120; // Snow-rain mix, later becoming clear, with snow as the main // constituent. SNOWRAIN_MIX_LATER_BECOMING_CLEAR_SNOW_AS_MAIN = 121; // Snow-rain mix, later becoming cloudy, with snow as the main // constituent. SNOWRAIN_MIX_LATER_BECOMING_CLOUDY_SNOW_AS_MAIN = 122; // Snow-rain mix, with snow as the main constituent. SNOWRAIN_MIX_SNOW_AS_MAIN = 123; // Snow accompanied by lightning. SNOW_ACCOMPANIED_BY_LIGHTNING = 124; // Snow, becoming sleet. SNOW_BECOMING_SLEET = 125; // Snow, later clearing. SNOW_LATER_CLEAR = 126; // Snow, later becoming cloudy. SNOW_LATER_CLOUDY = 127; // Snow, later becoming rain. SNOW_LATER_RAIN = 128; // Snow, periodically clearing. SNOW_PERIODICALLY_CLEAR = 129; // Snow that periodically stops. SNOW_THAT_PERIODICALLY_STOPS = 130; // Snow turning to rain around noon. SNOW_TURNING_TO_RAIN_AROUND_NOON = 131; // Snow turning to rain in the evening. SNOW_TURNING_TO_RAIN_IN_THE_EVENING = 132; // Snow turning to rain at night. SNOW_TURNING_TO_RAIN_IN_THE_NIGHT = 133; // Snow with brief rain. SNOW_WITH_BRIEF_RAIN = 134; // Snow with brief sleet. SNOW_WITH_BRIEF_SLEET = 135; // Snow with periodic rain. SNOW_WITH_PERIODIC_RAIN = 136; // Very hot. VERY_HOT = 137; // Sleet. SLEET = 138; // Heavy rain to rainstorm. HEAVY_RAIN_TO_RAINSTORM = 139; reserved 11; } // The base URI for the icon not including the file type extension. To display // the icon, append a theme if desired and the file type extension (`.png` or // `.svg`) to this URI. By default, the icon is light themed, but `_dark` can // be appended for dark mode. For example: // "https://maps.gstatic.com/weather/v1/dust.svg" or // "https://maps.gstatic.com/weather/v1/dust_dark.svg", where `icon_base_uri` // is "https://maps.gstatic.com/weather/v1/dust". string icon_base_uri = 1; // The textual description for this weather condition (localized). google.type.LocalizedText description = 2; // The type of weather condition. Type type = 3; }