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.



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

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



995
996
997
# File 'lib/google/apis/solar_v1/classes.rb', line 995

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)


1002
1003
1004
# File 'lib/google/apis/solar_v1/classes.rb', line 1002

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



1011
1012
1013
# File 'lib/google/apis/solar_v1/classes.rb', line 1011

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)


1016
1017
1018
# File 'lib/google/apis/solar_v1/classes.rb', line 1016

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)


1022
1023
1024
# File 'lib/google/apis/solar_v1/classes.rb', line 1022

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)


1030
1031
1032
# File 'lib/google/apis/solar_v1/classes.rb', line 1030

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)


1035
1036
1037
# File 'lib/google/apis/solar_v1/classes.rb', line 1035

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)


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

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)


1047
1048
1049
# File 'lib/google/apis/solar_v1/classes.rb', line 1047

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)


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

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



1058
1059
1060
# File 'lib/google/apis/solar_v1/classes.rb', line 1058

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



1066
1067
1068
# File 'lib/google/apis/solar_v1/classes.rb', line 1066

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



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

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



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

def whole_roof_stats
  @whole_roof_stats
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
# File 'lib/google/apis/solar_v1/classes.rb', line 1085

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