Class: Google::Apis::SolarV1::SolarPotential

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/solar_v1/classes.rb,
lib/google/apis/solar_v1/representations.rb,
lib/google/apis/solar_v1/representations.rb

Overview

Information about the solar potential of a building. A number of fields in this are defined in terms of "panels". The fields panel_capacity_watts, panel_height_meters, and panel_width_meters describe the parameters of the model of panel used in these calculations.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ SolarPotential

Returns a new instance of SolarPotential.



1118
1119
1120
# File 'lib/google/apis/solar_v1/classes.rb', line 1118

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#building_statsGoogle::Apis::SolarV1::SizeAndSunshineStats

Size and sunniness quantiles of a roof, or part of a roof. Corresponds to the JSON property buildingStats



1033
1034
1035
# File 'lib/google/apis/solar_v1/classes.rb', line 1033

def building_stats
  @building_stats
end

#carbon_offset_factor_kg_per_mwhFloat

Equivalent amount of CO2 produced per MWh of grid electricity. This is a measure of the carbon intensity of grid electricity displaced by solar electricity. Corresponds to the JSON property carbonOffsetFactorKgPerMwh

Returns:

  • (Float)


1040
1041
1042
# File 'lib/google/apis/solar_v1/classes.rb', line 1040

def carbon_offset_factor_kg_per_mwh
  @carbon_offset_factor_kg_per_mwh
end

#financial_analysesArray<Google::Apis::SolarV1::FinancialAnalysis>

A FinancialAnalysis gives the savings from going solar assuming a given monthly bill and a given electricity provider. They are in order of increasing order of monthly bill amount. This field will be empty for buildings in areas for which the Solar API does not have enough information to perform financial computations. Corresponds to the JSON property financialAnalyses



1049
1050
1051
# File 'lib/google/apis/solar_v1/classes.rb', line 1049

def financial_analyses
  @financial_analyses
end

#max_array_area_meters2Float

Size, in square meters, of the maximum array. Corresponds to the JSON property maxArrayAreaMeters2

Returns:

  • (Float)


1054
1055
1056
# File 'lib/google/apis/solar_v1/classes.rb', line 1054

def max_array_area_meters2
  @max_array_area_meters2
end

#max_array_panels_countFixnum

Size of the maximum array - that is, the maximum number of panels that can fit on the roof. Corresponds to the JSON property maxArrayPanelsCount

Returns:

  • (Fixnum)


1060
1061
1062
# File 'lib/google/apis/solar_v1/classes.rb', line 1060

def max_array_panels_count
  @max_array_panels_count
end

#max_sunshine_hours_per_yearFloat

Maximum number of sunshine hours received per year, by any point on the roof. Sunshine hours are a measure of the total amount of insolation (energy) received per year. 1 sunshine hour = 1 kWh per kW (where kW refers to kW of capacity under Standard Testing Conditions). Corresponds to the JSON property maxSunshineHoursPerYear

Returns:

  • (Float)


1068
1069
1070
# File 'lib/google/apis/solar_v1/classes.rb', line 1068

def max_sunshine_hours_per_year
  @max_sunshine_hours_per_year
end

#panel_capacity_wattsFloat

Capacity, in watts, of the panel used in the calculations. Corresponds to the JSON property panelCapacityWatts

Returns:

  • (Float)


1073
1074
1075
# File 'lib/google/apis/solar_v1/classes.rb', line 1073

def panel_capacity_watts
  @panel_capacity_watts
end

#panel_height_metersFloat

Height, in meters in portrait orientation, of the panel used in the calculations. Corresponds to the JSON property panelHeightMeters

Returns:

  • (Float)


1079
1080
1081
# File 'lib/google/apis/solar_v1/classes.rb', line 1079

def panel_height_meters
  @panel_height_meters
end

#panel_lifetime_yearsFixnum

The expected lifetime, in years, of the solar panels. This is used in the financial calculations. Corresponds to the JSON property panelLifetimeYears

Returns:

  • (Fixnum)


1085
1086
1087
# File 'lib/google/apis/solar_v1/classes.rb', line 1085

def panel_lifetime_years
  @panel_lifetime_years
end

#panel_width_metersFloat

Width, in meters in portrait orientation, of the panel used in the calculations. Corresponds to the JSON property panelWidthMeters

Returns:

  • (Float)


1091
1092
1093
# File 'lib/google/apis/solar_v1/classes.rb', line 1091

def panel_width_meters
  @panel_width_meters
end

#roof_segment_statsArray<Google::Apis::SolarV1::RoofSegmentSizeAndSunshineStats>

Size and sunlight quantiles for each roof segment. Corresponds to the JSON property roofSegmentStats



1096
1097
1098
# File 'lib/google/apis/solar_v1/classes.rb', line 1096

def roof_segment_stats
  @roof_segment_stats
end

#solar_panel_configsArray<Google::Apis::SolarV1::SolarPanelConfig>

Each SolarPanelConfig describes a different arrangement of solar panels on the roof. They are in order of increasing number of panels. The SolarPanelConfig with panels_count=N is based on the first N panels in the solar_panels list. This field is only populated if at least 4 panels can fit on a roof. Corresponds to the JSON property solarPanelConfigs



1104
1105
1106
# File 'lib/google/apis/solar_v1/classes.rb', line 1104

def solar_panel_configs
  @solar_panel_configs
end

#solar_panelsArray<Google::Apis::SolarV1::SolarPanel>

Each SolarPanel describes a single solar panel. They are listed in the order that the panel layout algorithm placed this. This is usually, though not always, in decreasing order of annual energy production. Corresponds to the JSON property solarPanels



1111
1112
1113
# File 'lib/google/apis/solar_v1/classes.rb', line 1111

def solar_panels
  @solar_panels
end

#whole_roof_statsGoogle::Apis::SolarV1::SizeAndSunshineStats

Size and sunniness quantiles of a roof, or part of a roof. Corresponds to the JSON property wholeRoofStats



1116
1117
1118
# File 'lib/google/apis/solar_v1/classes.rb', line 1116

def whole_roof_stats
  @whole_roof_stats
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
# File 'lib/google/apis/solar_v1/classes.rb', line 1123

def update!(**args)
  @building_stats = args[:building_stats] if args.key?(:building_stats)
  @carbon_offset_factor_kg_per_mwh = args[:carbon_offset_factor_kg_per_mwh] if args.key?(:carbon_offset_factor_kg_per_mwh)
  @financial_analyses = args[:financial_analyses] if args.key?(:financial_analyses)
  @max_array_area_meters2 = args[:max_array_area_meters2] if args.key?(:max_array_area_meters2)
  @max_array_panels_count = args[:max_array_panels_count] if args.key?(:max_array_panels_count)
  @max_sunshine_hours_per_year = args[:max_sunshine_hours_per_year] if args.key?(:max_sunshine_hours_per_year)
  @panel_capacity_watts = args[:panel_capacity_watts] if args.key?(:panel_capacity_watts)
  @panel_height_meters = args[:panel_height_meters] if args.key?(:panel_height_meters)
  @panel_lifetime_years = args[:panel_lifetime_years] if args.key?(:panel_lifetime_years)
  @panel_width_meters = args[:panel_width_meters] if args.key?(:panel_width_meters)
  @roof_segment_stats = args[:roof_segment_stats] if args.key?(:roof_segment_stats)
  @solar_panel_configs = args[:solar_panel_configs] if args.key?(:solar_panel_configs)
  @solar_panels = args[:solar_panels] if args.key?(:solar_panels)
  @whole_roof_stats = args[:whole_roof_stats] if args.key?(:whole_roof_stats)
end