Class: Google::Apis::AirqualityV1::AirQualityIndex
- Inherits:
-
Object
- Object
- Google::Apis::AirqualityV1::AirQualityIndex
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/airquality_v1/classes.rb,
lib/google/apis/airquality_v1/representations.rb,
lib/google/apis/airquality_v1/representations.rb
Overview
The basic object for representing different air quality metrics. When brought together, these metrics provide a snapshot about the current air quality conditions. There are multiple indexes in the world serving different purposes and groups interested in measuring different aspects of air quality.
Instance Attribute Summary collapse
-
#aqi ⇒ Fixnum
The index's numeric score.
-
#aqi_display ⇒ String
Textual representation of the index numeric score, that may include prefix or suffix symbols, which usually represents the worst index score.
-
#category ⇒ String
Textual classification of the index numeric score interpretation.
-
#code ⇒ String
The index's code.
-
#color ⇒ Google::Apis::AirqualityV1::Color
Represents a color in the RGBA color space.
-
#display_name ⇒ String
A human readable representation of the index name.
-
#dominant_pollutant ⇒ String
The chemical symbol of the dominant pollutant.
Instance Method Summary collapse
-
#initialize(**args) ⇒ AirQualityIndex
constructor
A new instance of AirQualityIndex.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ AirQualityIndex
Returns a new instance of AirQualityIndex.
145 146 147 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 145 def initialize(**args) update!(**args) end |
Instance Attribute Details
#aqi ⇒ Fixnum
The index's numeric score. Examples: 10, 100. The value is not normalized and
should only be interpreted in the context of its related air-quality index.
For non-numeric indexes, this field will not be returned. Note: This field
should be used for calculations, graph display, etc. For displaying the index
score, you should use the AQI display field.
Corresponds to the JSON property aqi
64 65 66 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 64 def aqi @aqi end |
#aqi_display ⇒ String
Textual representation of the index numeric score, that may include prefix or
suffix symbols, which usually represents the worst index score. Example: >100
or 10+. Note: This field should be used when you want to display the index
score. For non-numeric indexes, this field is empty.
Corresponds to the JSON property aqiDisplay
72 73 74 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 72 def aqi_display @aqi_display end |
#category ⇒ String
Textual classification of the index numeric score interpretation. For example:
"Excellent air quality".
Corresponds to the JSON property category
78 79 80 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 78 def category @category end |
#code ⇒ String
The index's code. This field represents the index for programming purposes by
using snake case instead of spaces. Examples: "uaqi", "fra_atmo".
Corresponds to the JSON property code
84 85 86 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 84 def code @code end |
#color ⇒ Google::Apis::AirqualityV1::Color
Represents a color in the RGBA color space. This representation is designed
for simplicity of conversion to and from color representations in various
languages over compactness. For example, the fields of this representation can
be trivially provided to the constructor of java.awt.Color
in Java; it can
also be trivially provided to UIColor's +colorWithRed:green:blue:alpha
method in iOS; and, with just a little work, it can be easily formatted into a
CSS rgba()
string in JavaScript. This reference page doesn't have
information about the absolute color space that should be used to interpret
the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default,
applications should assume the sRGB color space. When color equality needs to
be decided, implementations, unless documented otherwise, treat two colors as
equal if all their red, green, blue, and alpha values each differ by at most
1e-5
. Example (Java): import com.google.type.Color; // ... public static java.
awt.Color fromProto(Color protocolor) float alpha = protocolor.hasAlpha() ?
protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.
getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha);
public static
Color toProto(java.awt.Color color) float red = (float) color.getRed();
float green = (float) color.getGreen(); float blue = (float) color.getBlue();
float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .
setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue /
denominator); int alpha = color.getAlpha(); if (alpha != 255)
result.
setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .
build()); return resultBuilder.build();
// ... Example (iOS / Obj-C): // ..
. static UIColor* fromProto(Color* protocolor) float red = [protocolor red];
float green = [protocolor green]; float blue = [protocolor blue]; FloatValue*
alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper !=
nil)
alpha = [alpha_wrapper value]; return [UIColor colorWithRed:red green:
green blue:blue alpha:alpha];
static Color* toProto(UIColor* color)
CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&
blue alpha:&alpha])
return nil; Color* result = [[Color alloc] init]; [
result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <
= 0.9999)
[result setAlpha:floatWrapperWithValue(alpha)]; [result
autorelease]; return result;
// ... Example (JavaScript): // ... var
protoToCssColor = function(rgb_color) var redFrac = rgb_color.red || 0.0;
var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0;
var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255);
var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color))
return
rgbToCssColor(red, green, blue); var alphaFrac = rgb_color.alpha.value || 0.
0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',
', alphaFrac, ')'].join('');
; var rgbToCssColor = function(red, green, blue)
var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString
= rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var
resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++)
resultBuilder.
push('0'); resultBuilder.push(hexString); return resultBuilder.join('');
; /
/ ...
Corresponds to the JSON property color
133 134 135 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 133 def color @color end |
#display_name ⇒ String
A human readable representation of the index name. Example: "AQI (US)"
Corresponds to the JSON property displayName
138 139 140 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 138 def display_name @display_name end |
#dominant_pollutant ⇒ String
The chemical symbol of the dominant pollutant. For example: "CO".
Corresponds to the JSON property dominantPollutant
143 144 145 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 143 def dominant_pollutant @dominant_pollutant end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
150 151 152 153 154 155 156 157 158 |
# File 'lib/google/apis/airquality_v1/classes.rb', line 150 def update!(**args) @aqi = args[:aqi] if args.key?(:aqi) @aqi_display = args[:aqi_display] if args.key?(:aqi_display) @category = args[:category] if args.key?(:category) @code = args[:code] if args.key?(:code) @color = args[:color] if args.key?(:color) @display_name = args[:display_name] if args.key?(:display_name) @dominant_pollutant = args[:dominant_pollutant] if args.key?(:dominant_pollutant) end |