Documentation ¶
Index ¶
- Variables
- func RegisterSolarServer(s *grpc.Server, srv SolarServer)
- type BuildingInsights
- func (*BuildingInsights) Descriptor() ([]byte, []int)deprecated
- func (x *BuildingInsights) GetAdministrativeArea() string
- func (x *BuildingInsights) GetBoundingBox() *LatLngBox
- func (x *BuildingInsights) GetCenter() *latlng.LatLng
- func (x *BuildingInsights) GetImageryDate() *date.Date
- func (x *BuildingInsights) GetImageryProcessedDate() *date.Date
- func (x *BuildingInsights) GetImageryQuality() ImageryQuality
- func (x *BuildingInsights) GetName() string
- func (x *BuildingInsights) GetPostalCode() string
- func (x *BuildingInsights) GetRegionCode() string
- func (x *BuildingInsights) GetSolarPotential() *SolarPotential
- func (x *BuildingInsights) GetStatisticalArea() string
- func (*BuildingInsights) ProtoMessage()
- func (x *BuildingInsights) ProtoReflect() protoreflect.Message
- func (x *BuildingInsights) Reset()
- func (x *BuildingInsights) String() string
- type CashPurchaseSavings
- func (*CashPurchaseSavings) Descriptor() ([]byte, []int)deprecated
- func (x *CashPurchaseSavings) GetOutOfPocketCost() *money.Money
- func (x *CashPurchaseSavings) GetPaybackYears() float32
- func (x *CashPurchaseSavings) GetRebateValue() *money.Money
- func (x *CashPurchaseSavings) GetSavings() *SavingsOverTime
- func (x *CashPurchaseSavings) GetUpfrontCost() *money.Money
- func (*CashPurchaseSavings) ProtoMessage()
- func (x *CashPurchaseSavings) ProtoReflect() protoreflect.Message
- func (x *CashPurchaseSavings) Reset()
- func (x *CashPurchaseSavings) String() string
- type DataLayerView
- func (DataLayerView) Descriptor() protoreflect.EnumDescriptor
- func (x DataLayerView) Enum() *DataLayerView
- func (DataLayerView) EnumDescriptor() ([]byte, []int)deprecated
- func (x DataLayerView) Number() protoreflect.EnumNumber
- func (x DataLayerView) String() string
- func (DataLayerView) Type() protoreflect.EnumType
- type DataLayers
- func (*DataLayers) Descriptor() ([]byte, []int)deprecated
- func (x *DataLayers) GetAnnualFluxUrl() string
- func (x *DataLayers) GetDsmUrl() string
- func (x *DataLayers) GetHourlyShadeUrls() []string
- func (x *DataLayers) GetImageryDate() *date.Date
- func (x *DataLayers) GetImageryProcessedDate() *date.Date
- func (x *DataLayers) GetImageryQuality() ImageryQuality
- func (x *DataLayers) GetMaskUrl() string
- func (x *DataLayers) GetMonthlyFluxUrl() string
- func (x *DataLayers) GetRgbUrl() string
- func (*DataLayers) ProtoMessage()
- func (x *DataLayers) ProtoReflect() protoreflect.Message
- func (x *DataLayers) Reset()
- func (x *DataLayers) String() string
- type FinancedPurchaseSavings
- func (*FinancedPurchaseSavings) Descriptor() ([]byte, []int)deprecated
- func (x *FinancedPurchaseSavings) GetAnnualLoanPayment() *money.Money
- func (x *FinancedPurchaseSavings) GetLoanInterestRate() float32
- func (x *FinancedPurchaseSavings) GetRebateValue() *money.Money
- func (x *FinancedPurchaseSavings) GetSavings() *SavingsOverTime
- func (*FinancedPurchaseSavings) ProtoMessage()
- func (x *FinancedPurchaseSavings) ProtoReflect() protoreflect.Message
- func (x *FinancedPurchaseSavings) Reset()
- func (x *FinancedPurchaseSavings) String() string
- type FinancialAnalysis
- func (*FinancialAnalysis) Descriptor() ([]byte, []int)deprecated
- func (x *FinancialAnalysis) GetAverageKwhPerMonth() float32
- func (x *FinancialAnalysis) GetCashPurchaseSavings() *CashPurchaseSavings
- func (x *FinancialAnalysis) GetDefaultBill() bool
- func (x *FinancialAnalysis) GetFinancedPurchaseSavings() *FinancedPurchaseSavings
- func (x *FinancialAnalysis) GetFinancialDetails() *FinancialDetails
- func (x *FinancialAnalysis) GetLeasingSavings() *LeasingSavings
- func (x *FinancialAnalysis) GetMonthlyBill() *money.Money
- func (x *FinancialAnalysis) GetPanelConfigIndex() int32
- func (*FinancialAnalysis) ProtoMessage()
- func (x *FinancialAnalysis) ProtoReflect() protoreflect.Message
- func (x *FinancialAnalysis) Reset()
- func (x *FinancialAnalysis) String() string
- type FinancialDetails
- func (*FinancialDetails) Descriptor() ([]byte, []int)deprecated
- func (x *FinancialDetails) GetCostOfElectricityWithoutSolar() *money.Money
- func (x *FinancialDetails) GetFederalIncentive() *money.Money
- func (x *FinancialDetails) GetInitialAcKwhPerYear() float32
- func (x *FinancialDetails) GetLifetimeSrecTotal() *money.Money
- func (x *FinancialDetails) GetNetMeteringAllowed() bool
- func (x *FinancialDetails) GetPercentageExportedToGrid() float32
- func (x *FinancialDetails) GetRemainingLifetimeUtilityBill() *money.Money
- func (x *FinancialDetails) GetSolarPercentage() float32
- func (x *FinancialDetails) GetStateIncentive() *money.Money
- func (x *FinancialDetails) GetUtilityIncentive() *money.Money
- func (*FinancialDetails) ProtoMessage()
- func (x *FinancialDetails) ProtoReflect() protoreflect.Message
- func (x *FinancialDetails) Reset()
- func (x *FinancialDetails) String() string
- type FindClosestBuildingInsightsRequest
- func (*FindClosestBuildingInsightsRequest) Descriptor() ([]byte, []int)deprecated
- func (x *FindClosestBuildingInsightsRequest) GetExactQualityRequired() bool
- func (x *FindClosestBuildingInsightsRequest) GetLocation() *latlng.LatLng
- func (x *FindClosestBuildingInsightsRequest) GetRequiredQuality() ImageryQuality
- func (*FindClosestBuildingInsightsRequest) ProtoMessage()
- func (x *FindClosestBuildingInsightsRequest) ProtoReflect() protoreflect.Message
- func (x *FindClosestBuildingInsightsRequest) Reset()
- func (x *FindClosestBuildingInsightsRequest) String() string
- type GetDataLayersRequest
- func (*GetDataLayersRequest) Descriptor() ([]byte, []int)deprecated
- func (x *GetDataLayersRequest) GetExactQualityRequired() bool
- func (x *GetDataLayersRequest) GetLocation() *latlng.LatLng
- func (x *GetDataLayersRequest) GetPixelSizeMeters() float32
- func (x *GetDataLayersRequest) GetRadiusMeters() float32
- func (x *GetDataLayersRequest) GetRequiredQuality() ImageryQuality
- func (x *GetDataLayersRequest) GetView() DataLayerView
- func (*GetDataLayersRequest) ProtoMessage()
- func (x *GetDataLayersRequest) ProtoReflect() protoreflect.Message
- func (x *GetDataLayersRequest) Reset()
- func (x *GetDataLayersRequest) String() string
- type GetGeoTiffRequest
- type ImageryQuality
- func (ImageryQuality) Descriptor() protoreflect.EnumDescriptor
- func (x ImageryQuality) Enum() *ImageryQuality
- func (ImageryQuality) EnumDescriptor() ([]byte, []int)deprecated
- func (x ImageryQuality) Number() protoreflect.EnumNumber
- func (x ImageryQuality) String() string
- func (ImageryQuality) Type() protoreflect.EnumType
- type LatLngBox
- type LeasingSavings
- func (*LeasingSavings) Descriptor() ([]byte, []int)deprecated
- func (x *LeasingSavings) GetAnnualLeasingCost() *money.Money
- func (x *LeasingSavings) GetLeasesAllowed() bool
- func (x *LeasingSavings) GetLeasesSupported() bool
- func (x *LeasingSavings) GetSavings() *SavingsOverTime
- func (*LeasingSavings) ProtoMessage()
- func (x *LeasingSavings) ProtoReflect() protoreflect.Message
- func (x *LeasingSavings) Reset()
- func (x *LeasingSavings) String() string
- type RoofSegmentSizeAndSunshineStats
- func (*RoofSegmentSizeAndSunshineStats) Descriptor() ([]byte, []int)deprecated
- func (x *RoofSegmentSizeAndSunshineStats) GetAzimuthDegrees() float32
- func (x *RoofSegmentSizeAndSunshineStats) GetBoundingBox() *LatLngBox
- func (x *RoofSegmentSizeAndSunshineStats) GetCenter() *latlng.LatLng
- func (x *RoofSegmentSizeAndSunshineStats) GetPitchDegrees() float32
- func (x *RoofSegmentSizeAndSunshineStats) GetPlaneHeightAtCenterMeters() float32
- func (x *RoofSegmentSizeAndSunshineStats) GetStats() *SizeAndSunshineStats
- func (*RoofSegmentSizeAndSunshineStats) ProtoMessage()
- func (x *RoofSegmentSizeAndSunshineStats) ProtoReflect() protoreflect.Message
- func (x *RoofSegmentSizeAndSunshineStats) Reset()
- func (x *RoofSegmentSizeAndSunshineStats) String() string
- type RoofSegmentSummary
- func (*RoofSegmentSummary) Descriptor() ([]byte, []int)deprecated
- func (x *RoofSegmentSummary) GetAzimuthDegrees() float32
- func (x *RoofSegmentSummary) GetPanelsCount() int32
- func (x *RoofSegmentSummary) GetPitchDegrees() float32
- func (x *RoofSegmentSummary) GetSegmentIndex() int32
- func (x *RoofSegmentSummary) GetYearlyEnergyDcKwh() float32
- func (*RoofSegmentSummary) ProtoMessage()
- func (x *RoofSegmentSummary) ProtoReflect() protoreflect.Message
- func (x *RoofSegmentSummary) Reset()
- func (x *RoofSegmentSummary) String() string
- type SavingsOverTime
- func (*SavingsOverTime) Descriptor() ([]byte, []int)deprecated
- func (x *SavingsOverTime) GetFinanciallyViable() bool
- func (x *SavingsOverTime) GetPresentValueOfSavingsLifetime() *money.Money
- func (x *SavingsOverTime) GetPresentValueOfSavingsYear20() *money.Money
- func (x *SavingsOverTime) GetSavingsLifetime() *money.Money
- func (x *SavingsOverTime) GetSavingsYear1() *money.Money
- func (x *SavingsOverTime) GetSavingsYear20() *money.Money
- func (*SavingsOverTime) ProtoMessage()
- func (x *SavingsOverTime) ProtoReflect() protoreflect.Message
- func (x *SavingsOverTime) Reset()
- func (x *SavingsOverTime) String() string
- type SizeAndSunshineStats
- func (*SizeAndSunshineStats) Descriptor() ([]byte, []int)deprecated
- func (x *SizeAndSunshineStats) GetAreaMeters2() float32
- func (x *SizeAndSunshineStats) GetGroundAreaMeters2() float32
- func (x *SizeAndSunshineStats) GetSunshineQuantiles() []float32
- func (*SizeAndSunshineStats) ProtoMessage()
- func (x *SizeAndSunshineStats) ProtoReflect() protoreflect.Message
- func (x *SizeAndSunshineStats) Reset()
- func (x *SizeAndSunshineStats) String() string
- type SolarClient
- type SolarPanel
- func (*SolarPanel) Descriptor() ([]byte, []int)deprecated
- func (x *SolarPanel) GetCenter() *latlng.LatLng
- func (x *SolarPanel) GetOrientation() SolarPanelOrientation
- func (x *SolarPanel) GetSegmentIndex() int32
- func (x *SolarPanel) GetYearlyEnergyDcKwh() float32
- func (*SolarPanel) ProtoMessage()
- func (x *SolarPanel) ProtoReflect() protoreflect.Message
- func (x *SolarPanel) Reset()
- func (x *SolarPanel) String() string
- type SolarPanelConfig
- func (*SolarPanelConfig) Descriptor() ([]byte, []int)deprecated
- func (x *SolarPanelConfig) GetPanelsCount() int32
- func (x *SolarPanelConfig) GetRoofSegmentSummaries() []*RoofSegmentSummary
- func (x *SolarPanelConfig) GetYearlyEnergyDcKwh() float32
- func (*SolarPanelConfig) ProtoMessage()
- func (x *SolarPanelConfig) ProtoReflect() protoreflect.Message
- func (x *SolarPanelConfig) Reset()
- func (x *SolarPanelConfig) String() string
- type SolarPanelOrientation
- func (SolarPanelOrientation) Descriptor() protoreflect.EnumDescriptor
- func (x SolarPanelOrientation) Enum() *SolarPanelOrientation
- func (SolarPanelOrientation) EnumDescriptor() ([]byte, []int)deprecated
- func (x SolarPanelOrientation) Number() protoreflect.EnumNumber
- func (x SolarPanelOrientation) String() string
- func (SolarPanelOrientation) Type() protoreflect.EnumType
- type SolarPotential
- func (*SolarPotential) Descriptor() ([]byte, []int)deprecated
- func (x *SolarPotential) GetBuildingStats() *SizeAndSunshineStats
- func (x *SolarPotential) GetCarbonOffsetFactorKgPerMwh() float32
- func (x *SolarPotential) GetFinancialAnalyses() []*FinancialAnalysis
- func (x *SolarPotential) GetMaxArrayAreaMeters2() float32
- func (x *SolarPotential) GetMaxArrayPanelsCount() int32
- func (x *SolarPotential) GetMaxSunshineHoursPerYear() float32
- func (x *SolarPotential) GetPanelCapacityWatts() float32
- func (x *SolarPotential) GetPanelHeightMeters() float32
- func (x *SolarPotential) GetPanelLifetimeYears() int32
- func (x *SolarPotential) GetPanelWidthMeters() float32
- func (x *SolarPotential) GetRoofSegmentStats() []*RoofSegmentSizeAndSunshineStats
- func (x *SolarPotential) GetSolarPanelConfigs() []*SolarPanelConfig
- func (x *SolarPotential) GetSolarPanels() []*SolarPanel
- func (x *SolarPotential) GetWholeRoofStats() *SizeAndSunshineStats
- func (*SolarPotential) ProtoMessage()
- func (x *SolarPotential) ProtoReflect() protoreflect.Message
- func (x *SolarPotential) Reset()
- func (x *SolarPotential) String() string
- type SolarServer
- type UnimplementedSolarServer
- func (*UnimplementedSolarServer) FindClosestBuildingInsights(context.Context, *FindClosestBuildingInsightsRequest) (*BuildingInsights, error)
- func (*UnimplementedSolarServer) GetDataLayers(context.Context, *GetDataLayersRequest) (*DataLayers, error)
- func (*UnimplementedSolarServer) GetGeoTiff(context.Context, *GetGeoTiffRequest) (*httpbody.HttpBody, error)
Constants ¶
This section is empty.
Variables ¶
var ( DataLayerView_name = map[int32]string{ 0: "DATA_LAYER_VIEW_UNSPECIFIED", 1: "DSM_LAYER", 2: "IMAGERY_LAYERS", 3: "IMAGERY_AND_ANNUAL_FLUX_LAYERS", 4: "IMAGERY_AND_ALL_FLUX_LAYERS", 5: "FULL_LAYERS", } DataLayerView_value = map[string]int32{ "DATA_LAYER_VIEW_UNSPECIFIED": 0, "DSM_LAYER": 1, "IMAGERY_LAYERS": 2, "IMAGERY_AND_ANNUAL_FLUX_LAYERS": 3, "IMAGERY_AND_ALL_FLUX_LAYERS": 4, "FULL_LAYERS": 5, } )
Enum value maps for DataLayerView.
var ( ImageryQuality_name = map[int32]string{ 0: "IMAGERY_QUALITY_UNSPECIFIED", 1: "HIGH", 2: "MEDIUM", 3: "LOW", } ImageryQuality_value = map[string]int32{ "IMAGERY_QUALITY_UNSPECIFIED": 0, "HIGH": 1, "MEDIUM": 2, "LOW": 3, } )
Enum value maps for ImageryQuality.
var ( SolarPanelOrientation_name = map[int32]string{ 0: "SOLAR_PANEL_ORIENTATION_UNSPECIFIED", 1: "LANDSCAPE", 2: "PORTRAIT", } SolarPanelOrientation_value = map[string]int32{ "SOLAR_PANEL_ORIENTATION_UNSPECIFIED": 0, "LANDSCAPE": 1, "PORTRAIT": 2, } )
Enum value maps for SolarPanelOrientation.
var File_google_maps_solar_v1_solar_service_proto protoreflect.FileDescriptor
Functions ¶
func RegisterSolarServer ¶
func RegisterSolarServer(s *grpc.Server, srv SolarServer)
Types ¶
type BuildingInsights ¶
type BuildingInsights struct { // The resource name for the building, of the format `building/<place ID>`. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // A point near the center of the building. Center *latlng.LatLng `protobuf:"bytes,2,opt,name=center,proto3" json:"center,omitempty"` // The bounding box of the building. BoundingBox *LatLngBox `protobuf:"bytes,9,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // Date that the underlying imagery was acquired. This is approximate. ImageryDate *date.Date `protobuf:"bytes,3,opt,name=imagery_date,json=imageryDate,proto3" json:"imagery_date,omitempty"` // When processing was completed on this imagery. ImageryProcessedDate *date.Date `protobuf:"bytes,11,opt,name=imagery_processed_date,json=imageryProcessedDate,proto3" json:"imagery_processed_date,omitempty"` // Postal code (e.g., US zip code) this building is contained by. PostalCode string `protobuf:"bytes,4,opt,name=postal_code,json=postalCode,proto3" json:"postal_code,omitempty"` // Administrative area 1 (e.g., in the US, the state) that contains this // building. For example, in the US, the abbreviation might be "MA" or "CA." AdministrativeArea string `protobuf:"bytes,5,opt,name=administrative_area,json=administrativeArea,proto3" json:"administrative_area,omitempty"` // Statistical area (e.g., US census tract) this building is in. StatisticalArea string `protobuf:"bytes,6,opt,name=statistical_area,json=statisticalArea,proto3" json:"statistical_area,omitempty"` // Region code for the country (or region) this building is in. RegionCode string `protobuf:"bytes,7,opt,name=region_code,json=regionCode,proto3" json:"region_code,omitempty"` // Solar potential of the building. SolarPotential *SolarPotential `protobuf:"bytes,8,opt,name=solar_potential,json=solarPotential,proto3" json:"solar_potential,omitempty"` // The quality of the imagery used to compute the data for this building. ImageryQuality ImageryQuality `` /* 146-byte string literal not displayed */ // contains filtered or unexported fields }
Response message for `Solar.FindClosestBuildingInsights`. Information about the location, dimensions, and solar potential of a building.
func (*BuildingInsights) Descriptor
deprecated
func (*BuildingInsights) Descriptor() ([]byte, []int)
Deprecated: Use BuildingInsights.ProtoReflect.Descriptor instead.
func (*BuildingInsights) GetAdministrativeArea ¶
func (x *BuildingInsights) GetAdministrativeArea() string
func (*BuildingInsights) GetBoundingBox ¶
func (x *BuildingInsights) GetBoundingBox() *LatLngBox
func (*BuildingInsights) GetCenter ¶
func (x *BuildingInsights) GetCenter() *latlng.LatLng
func (*BuildingInsights) GetImageryDate ¶
func (x *BuildingInsights) GetImageryDate() *date.Date
func (*BuildingInsights) GetImageryProcessedDate ¶
func (x *BuildingInsights) GetImageryProcessedDate() *date.Date
func (*BuildingInsights) GetImageryQuality ¶
func (x *BuildingInsights) GetImageryQuality() ImageryQuality
func (*BuildingInsights) GetName ¶
func (x *BuildingInsights) GetName() string
func (*BuildingInsights) GetPostalCode ¶
func (x *BuildingInsights) GetPostalCode() string
func (*BuildingInsights) GetRegionCode ¶
func (x *BuildingInsights) GetRegionCode() string
func (*BuildingInsights) GetSolarPotential ¶
func (x *BuildingInsights) GetSolarPotential() *SolarPotential
func (*BuildingInsights) GetStatisticalArea ¶
func (x *BuildingInsights) GetStatisticalArea() string
func (*BuildingInsights) ProtoMessage ¶
func (*BuildingInsights) ProtoMessage()
func (*BuildingInsights) ProtoReflect ¶
func (x *BuildingInsights) ProtoReflect() protoreflect.Message
func (*BuildingInsights) Reset ¶
func (x *BuildingInsights) Reset()
func (*BuildingInsights) String ¶
func (x *BuildingInsights) String() string
type CashPurchaseSavings ¶
type CashPurchaseSavings struct { // Initial cost before tax incentives: the amount that must be paid // out-of-pocket. Contrast with `upfront_cost`, which is after tax incentives. OutOfPocketCost *money.Money `protobuf:"bytes,1,opt,name=out_of_pocket_cost,json=outOfPocketCost,proto3" json:"out_of_pocket_cost,omitempty"` // Initial cost after tax incentives: it's the amount that must be paid // during first year. Contrast with `out_of_pocket_cost`, which is before tax // incentives. UpfrontCost *money.Money `protobuf:"bytes,2,opt,name=upfront_cost,json=upfrontCost,proto3" json:"upfront_cost,omitempty"` // The value of all tax rebates. RebateValue *money.Money `protobuf:"bytes,3,opt,name=rebate_value,json=rebateValue,proto3" json:"rebate_value,omitempty"` // Number of years until payback occurs. A negative value means payback // never occurs within the lifetime period. PaybackYears *float32 `protobuf:"fixed32,4,opt,name=payback_years,json=paybackYears,proto3,oneof" json:"payback_years,omitempty"` // How much is saved (or not) over the lifetime period. Savings *SavingsOverTime `protobuf:"bytes,5,opt,name=savings,proto3" json:"savings,omitempty"` // contains filtered or unexported fields }
Cost and benefit of an outright purchase of a particular configuration of solar panels with a particular electricity usage.
func (*CashPurchaseSavings) Descriptor
deprecated
func (*CashPurchaseSavings) Descriptor() ([]byte, []int)
Deprecated: Use CashPurchaseSavings.ProtoReflect.Descriptor instead.
func (*CashPurchaseSavings) GetOutOfPocketCost ¶
func (x *CashPurchaseSavings) GetOutOfPocketCost() *money.Money
func (*CashPurchaseSavings) GetPaybackYears ¶
func (x *CashPurchaseSavings) GetPaybackYears() float32
func (*CashPurchaseSavings) GetRebateValue ¶
func (x *CashPurchaseSavings) GetRebateValue() *money.Money
func (*CashPurchaseSavings) GetSavings ¶
func (x *CashPurchaseSavings) GetSavings() *SavingsOverTime
func (*CashPurchaseSavings) GetUpfrontCost ¶
func (x *CashPurchaseSavings) GetUpfrontCost() *money.Money
func (*CashPurchaseSavings) ProtoMessage ¶
func (*CashPurchaseSavings) ProtoMessage()
func (*CashPurchaseSavings) ProtoReflect ¶
func (x *CashPurchaseSavings) ProtoReflect() protoreflect.Message
func (*CashPurchaseSavings) Reset ¶
func (x *CashPurchaseSavings) Reset()
func (*CashPurchaseSavings) String ¶
func (x *CashPurchaseSavings) String() string
type DataLayerView ¶
type DataLayerView int32
What subset of the solar information to return.
const ( // Equivalent to FULL. DataLayerView_DATA_LAYER_VIEW_UNSPECIFIED DataLayerView = 0 // Get the DSM only. DataLayerView_DSM_LAYER DataLayerView = 1 // Get the DSM, RGB, and mask. DataLayerView_IMAGERY_LAYERS DataLayerView = 2 // Get the DSM, RGB, mask, and annual flux. DataLayerView_IMAGERY_AND_ANNUAL_FLUX_LAYERS DataLayerView = 3 // Get the DSM, RGB, mask, annual flux, and monthly flux. DataLayerView_IMAGERY_AND_ALL_FLUX_LAYERS DataLayerView = 4 // Get all data. DataLayerView_FULL_LAYERS DataLayerView = 5 )
func (DataLayerView) Descriptor ¶
func (DataLayerView) Descriptor() protoreflect.EnumDescriptor
func (DataLayerView) Enum ¶
func (x DataLayerView) Enum() *DataLayerView
func (DataLayerView) EnumDescriptor
deprecated
func (DataLayerView) EnumDescriptor() ([]byte, []int)
Deprecated: Use DataLayerView.Descriptor instead.
func (DataLayerView) Number ¶
func (x DataLayerView) Number() protoreflect.EnumNumber
func (DataLayerView) String ¶
func (x DataLayerView) String() string
func (DataLayerView) Type ¶
func (DataLayerView) Type() protoreflect.EnumType
type DataLayers ¶
type DataLayers struct { // When the source imagery (from which all the other data are derived) in this // region was taken. It is necessarily somewhat approximate, as the images may // have been taken over more than one day. ImageryDate *date.Date `protobuf:"bytes,1,opt,name=imagery_date,json=imageryDate,proto3" json:"imagery_date,omitempty"` // When processing was completed on this imagery. ImageryProcessedDate *date.Date `protobuf:"bytes,2,opt,name=imagery_processed_date,json=imageryProcessedDate,proto3" json:"imagery_processed_date,omitempty"` // The URL for an image of the DSM (Digital Surface Model) of the region. // Values are in meters above EGM96 geoid (i.e., sea level). Invalid locations // (where we don't have data) are stored as -9999. DsmUrl string `protobuf:"bytes,3,opt,name=dsm_url,json=dsmUrl,proto3" json:"dsm_url,omitempty"` // The URL for an image of RGB data (aerial photo) of the region. RgbUrl string `protobuf:"bytes,4,opt,name=rgb_url,json=rgbUrl,proto3" json:"rgb_url,omitempty"` // The URL for the building mask image: one bit per pixel saying whether that // pixel is considered to be part of a rooftop or not. MaskUrl string `protobuf:"bytes,5,opt,name=mask_url,json=maskUrl,proto3" json:"mask_url,omitempty"` // The URL for the annual flux map (annual sunlight on roofs) of the region. // Values are kWh/kW/year. This is *unmasked flux*: flux is computed for every // location, not just building rooftops. Invalid locations are stored as // -9999: locations outside our coverage area will be invalid, and a few // locations inside the coverage area, where we were unable to calculate flux, // will also be invalid. AnnualFluxUrl string `protobuf:"bytes,6,opt,name=annual_flux_url,json=annualFluxUrl,proto3" json:"annual_flux_url,omitempty"` // The URL for the monthly flux map (sunlight on roofs, broken down by month) // of the region. Values are kWh/kW/year. The GeoTIFF pointed to by this URL // will contain twelve bands, corresponding to January...December, in order. MonthlyFluxUrl string `protobuf:"bytes,7,opt,name=monthly_flux_url,json=monthlyFluxUrl,proto3" json:"monthly_flux_url,omitempty"` // Twelve URLs for hourly shade, corresponding to January...December, in // order. Each GeoTIFF will contain 24 bands, corresponding to the 24 hours of // the day. Each pixel is a 32 bit integer, corresponding to the (up to) 31 // days of that month; a 1 bit means that the corresponding location is able // to see the sun at that day, of that hour, of that month. Invalid locations // are stored as -9999 (since this is negative, it has bit 31 set, and no // valid value could have bit 31 set as that would correspond to the 32nd day // of the month). // // An example may be useful. If you want to know whether a point (at // pixel location (x, y)) saw sun at 4pm on the 22nd of June you // would: // // 1. fetch the sixth URL in this list (corresponding to June). // 1. look up the 17th channel (corresponding to 4pm). // 1. read the 32-bit value at (x, y). // 1. read bit 21 of the value (corresponding to the 22nd of the month). // 1. if that bit is a 1, then that spot saw the sun at 4pm 22 June. // // More formally: // Given `month` (1-12), `day` (1...month max; February has 28 days) // and `hour` (0-23), the shade/sun for that month/day/hour at a // position `(x, y)` is the bit // “` // (hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1)) // “` // where `(x, y)` is spatial indexing, `[month - 1]` refers to // fetching the `month - 1`st URL (indexing from zero), `[hour]` is // indexing into the channels, and a final non-zero result means // "sunny". There are no leap days, and DST doesn't exist (all days // are 24 hours long; noon is always "standard time" noon). HourlyShadeUrls []string `protobuf:"bytes,8,rep,name=hourly_shade_urls,json=hourlyShadeUrls,proto3" json:"hourly_shade_urls,omitempty"` // The quality of the result's imagery. ImageryQuality ImageryQuality `` /* 145-byte string literal not displayed */ // contains filtered or unexported fields }
Information about the solar potential of a region. The actual data are contained in a number of GeoTIFF files covering the requested region, for which this message contains URLs: Each string in the `DataLayers` message contains a URL from which the corresponding GeoTIFF can be fetched. These URLs are valid for a few hours after they've been generated. Most of the GeoTIFF files are at a resolution of 0.1m/pixel, but the monthly flux file is at 0.5m/pixel, and the hourly shade files are at 1m/pixel. If a `pixel_size_meters` value was specified in the `GetDataLayersRequest`, then the minimum resolution in the GeoTIFF files will be that value.
func (*DataLayers) Descriptor
deprecated
func (*DataLayers) Descriptor() ([]byte, []int)
Deprecated: Use DataLayers.ProtoReflect.Descriptor instead.
func (*DataLayers) GetAnnualFluxUrl ¶
func (x *DataLayers) GetAnnualFluxUrl() string
func (*DataLayers) GetDsmUrl ¶
func (x *DataLayers) GetDsmUrl() string
func (*DataLayers) GetHourlyShadeUrls ¶
func (x *DataLayers) GetHourlyShadeUrls() []string
func (*DataLayers) GetImageryDate ¶
func (x *DataLayers) GetImageryDate() *date.Date
func (*DataLayers) GetImageryProcessedDate ¶
func (x *DataLayers) GetImageryProcessedDate() *date.Date
func (*DataLayers) GetImageryQuality ¶
func (x *DataLayers) GetImageryQuality() ImageryQuality
func (*DataLayers) GetMaskUrl ¶
func (x *DataLayers) GetMaskUrl() string
func (*DataLayers) GetMonthlyFluxUrl ¶
func (x *DataLayers) GetMonthlyFluxUrl() string
func (*DataLayers) GetRgbUrl ¶
func (x *DataLayers) GetRgbUrl() string
func (*DataLayers) ProtoMessage ¶
func (*DataLayers) ProtoMessage()
func (*DataLayers) ProtoReflect ¶
func (x *DataLayers) ProtoReflect() protoreflect.Message
func (*DataLayers) Reset ¶
func (x *DataLayers) Reset()
func (*DataLayers) String ¶
func (x *DataLayers) String() string
type FinancedPurchaseSavings ¶
type FinancedPurchaseSavings struct { // Annual loan payments. AnnualLoanPayment *money.Money `protobuf:"bytes,1,opt,name=annual_loan_payment,json=annualLoanPayment,proto3" json:"annual_loan_payment,omitempty"` // The value of all tax rebates (including Federal Investment Tax Credit // (ITC)). RebateValue *money.Money `protobuf:"bytes,2,opt,name=rebate_value,json=rebateValue,proto3" json:"rebate_value,omitempty"` // The interest rate on loans assumed in this set of calculations. LoanInterestRate float32 `protobuf:"fixed32,3,opt,name=loan_interest_rate,json=loanInterestRate,proto3" json:"loan_interest_rate,omitempty"` // How much is saved (or not) over the lifetime period. Savings *SavingsOverTime `protobuf:"bytes,4,opt,name=savings,proto3" json:"savings,omitempty"` // contains filtered or unexported fields }
Cost and benefit of using a loan to buy a particular configuration of solar panels with a particular electricity usage.
func (*FinancedPurchaseSavings) Descriptor
deprecated
func (*FinancedPurchaseSavings) Descriptor() ([]byte, []int)
Deprecated: Use FinancedPurchaseSavings.ProtoReflect.Descriptor instead.
func (*FinancedPurchaseSavings) GetAnnualLoanPayment ¶
func (x *FinancedPurchaseSavings) GetAnnualLoanPayment() *money.Money
func (*FinancedPurchaseSavings) GetLoanInterestRate ¶
func (x *FinancedPurchaseSavings) GetLoanInterestRate() float32
func (*FinancedPurchaseSavings) GetRebateValue ¶
func (x *FinancedPurchaseSavings) GetRebateValue() *money.Money
func (*FinancedPurchaseSavings) GetSavings ¶
func (x *FinancedPurchaseSavings) GetSavings() *SavingsOverTime
func (*FinancedPurchaseSavings) ProtoMessage ¶
func (*FinancedPurchaseSavings) ProtoMessage()
func (*FinancedPurchaseSavings) ProtoReflect ¶
func (x *FinancedPurchaseSavings) ProtoReflect() protoreflect.Message
func (*FinancedPurchaseSavings) Reset ¶
func (x *FinancedPurchaseSavings) Reset()
func (*FinancedPurchaseSavings) String ¶
func (x *FinancedPurchaseSavings) String() string
type FinancialAnalysis ¶
type FinancialAnalysis struct { // The monthly electric bill this analysis assumes. MonthlyBill *money.Money `protobuf:"bytes,3,opt,name=monthly_bill,json=monthlyBill,proto3" json:"monthly_bill,omitempty"` // Whether this is the bill size selected to be the default bill for the // area this building is in. Exactly one `FinancialAnalysis` in // `BuildingSolarPotential` should have `default_bill` set. DefaultBill bool `protobuf:"varint,4,opt,name=default_bill,json=defaultBill,proto3" json:"default_bill,omitempty"` // How much electricity the house uses in an average month, based on the // bill size and the local electricity rates. AverageKwhPerMonth float32 `protobuf:"fixed32,5,opt,name=average_kwh_per_month,json=averageKwhPerMonth,proto3" json:"average_kwh_per_month,omitempty"` // Index in [solar_panel_configs] // [google.maps.solar.v1.SolarPotential.solar_panel_configs] // of the optimum solar layout for this bill size. This can be -1 // indicating that there is no layout. In this case, the remaining // submessages will be omitted. PanelConfigIndex *int32 `protobuf:"varint,6,opt,name=panel_config_index,json=panelConfigIndex,proto3,oneof" json:"panel_config_index,omitempty"` // Financial information that applies regardless of the financing method // used. FinancialDetails *FinancialDetails `protobuf:"bytes,7,opt,name=financial_details,json=financialDetails,proto3" json:"financial_details,omitempty"` // Cost and benefit of leasing the solar panels. LeasingSavings *LeasingSavings `protobuf:"bytes,8,opt,name=leasing_savings,json=leasingSavings,proto3" json:"leasing_savings,omitempty"` // Cost and benefit of buying the solar panels with cash. CashPurchaseSavings *CashPurchaseSavings `protobuf:"bytes,9,opt,name=cash_purchase_savings,json=cashPurchaseSavings,proto3" json:"cash_purchase_savings,omitempty"` // Cost and benefit of buying the solar panels by financing the purchase. FinancedPurchaseSavings *FinancedPurchaseSavings `` /* 133-byte string literal not displayed */ // contains filtered or unexported fields }
Analysis of the cost and benefits of the optimum solar layout for a particular electric bill size.
func (*FinancialAnalysis) Descriptor
deprecated
func (*FinancialAnalysis) Descriptor() ([]byte, []int)
Deprecated: Use FinancialAnalysis.ProtoReflect.Descriptor instead.
func (*FinancialAnalysis) GetAverageKwhPerMonth ¶
func (x *FinancialAnalysis) GetAverageKwhPerMonth() float32
func (*FinancialAnalysis) GetCashPurchaseSavings ¶
func (x *FinancialAnalysis) GetCashPurchaseSavings() *CashPurchaseSavings
func (*FinancialAnalysis) GetDefaultBill ¶
func (x *FinancialAnalysis) GetDefaultBill() bool
func (*FinancialAnalysis) GetFinancedPurchaseSavings ¶
func (x *FinancialAnalysis) GetFinancedPurchaseSavings() *FinancedPurchaseSavings
func (*FinancialAnalysis) GetFinancialDetails ¶
func (x *FinancialAnalysis) GetFinancialDetails() *FinancialDetails
func (*FinancialAnalysis) GetLeasingSavings ¶
func (x *FinancialAnalysis) GetLeasingSavings() *LeasingSavings
func (*FinancialAnalysis) GetMonthlyBill ¶
func (x *FinancialAnalysis) GetMonthlyBill() *money.Money
func (*FinancialAnalysis) GetPanelConfigIndex ¶
func (x *FinancialAnalysis) GetPanelConfigIndex() int32
func (*FinancialAnalysis) ProtoMessage ¶
func (*FinancialAnalysis) ProtoMessage()
func (*FinancialAnalysis) ProtoReflect ¶
func (x *FinancialAnalysis) ProtoReflect() protoreflect.Message
func (*FinancialAnalysis) Reset ¶
func (x *FinancialAnalysis) Reset()
func (*FinancialAnalysis) String ¶
func (x *FinancialAnalysis) String() string
type FinancialDetails ¶
type FinancialDetails struct { // How many AC kWh we think the solar panels will generate in their first // year. InitialAcKwhPerYear float32 `` /* 126-byte string literal not displayed */ // Utility bill for electricity not produced by solar, for the // lifetime of the panels. RemainingLifetimeUtilityBill *money.Money `` /* 149-byte string literal not displayed */ // Amount of money available from federal incentives; this applies if the // user buys (with or without a loan) the panels. FederalIncentive *money.Money `protobuf:"bytes,3,opt,name=federal_incentive,json=federalIncentive,proto3" json:"federal_incentive,omitempty"` // Amount of money available from state incentives; this applies if the // user buys (with or without a loan) the panels. StateIncentive *money.Money `protobuf:"bytes,4,opt,name=state_incentive,json=stateIncentive,proto3" json:"state_incentive,omitempty"` // Amount of money available from utility incentives; this applies if the // user buys (with or without a loan) the panels. UtilityIncentive *money.Money `protobuf:"bytes,5,opt,name=utility_incentive,json=utilityIncentive,proto3" json:"utility_incentive,omitempty"` // Amount of money the user will receive from Solar Renewable Energy // Credits over the panel lifetime; this applies if the user buys // (with or without a loan) the panels. LifetimeSrecTotal *money.Money `protobuf:"bytes,6,opt,name=lifetime_srec_total,json=lifetimeSrecTotal,proto3" json:"lifetime_srec_total,omitempty"` // Total cost of electricity the user would have paid over the // lifetime period if they didn't install solar. CostOfElectricityWithoutSolar *money.Money `` /* 154-byte string literal not displayed */ // Whether net metering is allowed. NetMeteringAllowed bool `protobuf:"varint,8,opt,name=net_metering_allowed,json=netMeteringAllowed,proto3" json:"net_metering_allowed,omitempty"` // Percentage (0-100) of the user's power supplied by solar. // Valid for the first year but approximately correct for future years. SolarPercentage *float32 `protobuf:"fixed32,9,opt,name=solar_percentage,json=solarPercentage,proto3,oneof" json:"solar_percentage,omitempty"` // The percentage (0-100) of solar electricity production we assumed was // exported to the grid, based on the first quarter of production. This // affects the calculations if net metering is not allowed. PercentageExportedToGrid *float32 `` /* 146-byte string literal not displayed */ // contains filtered or unexported fields }
Details of a financial analysis. Some of these details are already stored at higher levels (e.g., out of pocket cost). Total money amounts are over a lifetime period defined by the [panel_lifetime_years] [google.maps.solar.v1.SolarPotential.panel_lifetime_years] field in SolarPotential [google.maps.solar.v1.SolarPotential]. Note: The out of pocket cost of purchasing the panels is given in the [out_of_pocket_cost] [google.maps.solar.v1.CashPurchaseSavings.out_of_pocket_cost] field in CashPurchaseSavings [google.maps.solar.v1.CashPurchaseSavings].
func (*FinancialDetails) Descriptor
deprecated
func (*FinancialDetails) Descriptor() ([]byte, []int)
Deprecated: Use FinancialDetails.ProtoReflect.Descriptor instead.
func (*FinancialDetails) GetCostOfElectricityWithoutSolar ¶
func (x *FinancialDetails) GetCostOfElectricityWithoutSolar() *money.Money
func (*FinancialDetails) GetFederalIncentive ¶
func (x *FinancialDetails) GetFederalIncentive() *money.Money
func (*FinancialDetails) GetInitialAcKwhPerYear ¶
func (x *FinancialDetails) GetInitialAcKwhPerYear() float32
func (*FinancialDetails) GetLifetimeSrecTotal ¶
func (x *FinancialDetails) GetLifetimeSrecTotal() *money.Money
func (*FinancialDetails) GetNetMeteringAllowed ¶
func (x *FinancialDetails) GetNetMeteringAllowed() bool
func (*FinancialDetails) GetPercentageExportedToGrid ¶
func (x *FinancialDetails) GetPercentageExportedToGrid() float32
func (*FinancialDetails) GetRemainingLifetimeUtilityBill ¶
func (x *FinancialDetails) GetRemainingLifetimeUtilityBill() *money.Money
func (*FinancialDetails) GetSolarPercentage ¶
func (x *FinancialDetails) GetSolarPercentage() float32
func (*FinancialDetails) GetStateIncentive ¶
func (x *FinancialDetails) GetStateIncentive() *money.Money
func (*FinancialDetails) GetUtilityIncentive ¶
func (x *FinancialDetails) GetUtilityIncentive() *money.Money
func (*FinancialDetails) ProtoMessage ¶
func (*FinancialDetails) ProtoMessage()
func (*FinancialDetails) ProtoReflect ¶
func (x *FinancialDetails) ProtoReflect() protoreflect.Message
func (*FinancialDetails) Reset ¶
func (x *FinancialDetails) Reset()
func (*FinancialDetails) String ¶
func (x *FinancialDetails) String() string
type FindClosestBuildingInsightsRequest ¶
type FindClosestBuildingInsightsRequest struct { // Required. The longitude and latitude from which the API looks for the // nearest known building. Location *latlng.LatLng `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` // Optional. The minimum quality level allowed in the results. No result with // lower quality than this will be returned. Not specifying this is // equivalent to restricting to HIGH quality only. RequiredQuality ImageryQuality `` /* 148-byte string literal not displayed */ // Optional. Whether to require exact quality of the imagery. // If set to false, the `required_quality` field is interpreted as the minimum // required quality, such that HIGH quality imagery may be returned when // `required_quality` is set to MEDIUM. If set to true, `required_quality` // is interpreted as the exact required quality and only `MEDIUM` quality // imagery is returned if `required_quality` is set to `MEDIUM`. ExactQualityRequired bool `protobuf:"varint,4,opt,name=exact_quality_required,json=exactQualityRequired,proto3" json:"exact_quality_required,omitempty"` // contains filtered or unexported fields }
Request message for `Solar.FindClosestBuildingInsights`.
func (*FindClosestBuildingInsightsRequest) Descriptor
deprecated
func (*FindClosestBuildingInsightsRequest) Descriptor() ([]byte, []int)
Deprecated: Use FindClosestBuildingInsightsRequest.ProtoReflect.Descriptor instead.
func (*FindClosestBuildingInsightsRequest) GetExactQualityRequired ¶
func (x *FindClosestBuildingInsightsRequest) GetExactQualityRequired() bool
func (*FindClosestBuildingInsightsRequest) GetLocation ¶
func (x *FindClosestBuildingInsightsRequest) GetLocation() *latlng.LatLng
func (*FindClosestBuildingInsightsRequest) GetRequiredQuality ¶
func (x *FindClosestBuildingInsightsRequest) GetRequiredQuality() ImageryQuality
func (*FindClosestBuildingInsightsRequest) ProtoMessage ¶
func (*FindClosestBuildingInsightsRequest) ProtoMessage()
func (*FindClosestBuildingInsightsRequest) ProtoReflect ¶
func (x *FindClosestBuildingInsightsRequest) ProtoReflect() protoreflect.Message
func (*FindClosestBuildingInsightsRequest) Reset ¶
func (x *FindClosestBuildingInsightsRequest) Reset()
func (*FindClosestBuildingInsightsRequest) String ¶
func (x *FindClosestBuildingInsightsRequest) String() string
type GetDataLayersRequest ¶
type GetDataLayersRequest struct { // Required. The longitude and latitude for the center of the region to get // data for. Location *latlng.LatLng `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` // Required. The radius, in meters, defining the region surrounding that // centre point for which data should be returned. The limitations // on this value are: // // - Any value up to 100m can always be specified. // - Values over 100m can be specified, as long as // `radius_meters` <= `pixel_size_meters * 1000`. // - However, for values over 175m, the `DataLayerView` in the // request must not include monthly flux or hourly shade. RadiusMeters float32 `protobuf:"fixed32,2,opt,name=radius_meters,json=radiusMeters,proto3" json:"radius_meters,omitempty"` // Optional. The desired subset of the data to return. View DataLayerView `protobuf:"varint,3,opt,name=view,proto3,enum=google.maps.solar.v1.DataLayerView" json:"view,omitempty"` // Optional. The minimum quality level allowed in the results. No result with // lower quality than this will be returned. Not specifying this is // equivalent to restricting to HIGH quality only. RequiredQuality ImageryQuality `` /* 148-byte string literal not displayed */ // Optional. The minimum scale, in meters per pixel, of the data to return. // Values of 0.1 (the default, if this field is not set explicitly), // 0.25, 0.5, and 1.0 are supported. Imagery components whose normal // resolution is less than `pixel_size_meters` will be returned at // the resolution specified by `pixel_size_meters`; imagery // components whose normal resolution is equal to or greater than // `pixel_size_meters` will be returned at that normal resolution. PixelSizeMeters float32 `protobuf:"fixed32,6,opt,name=pixel_size_meters,json=pixelSizeMeters,proto3" json:"pixel_size_meters,omitempty"` // Optional. Whether to require exact quality of the imagery. // If set to false, the `required_quality` field is interpreted as the minimum // required quality, such that HIGH quality imagery may be returned when // `required_quality` is set to MEDIUM. If set to true, `required_quality` // is interpreted as the exact required quality and only `MEDIUM` quality // imagery is returned if `required_quality` is set to `MEDIUM`. ExactQualityRequired bool `protobuf:"varint,7,opt,name=exact_quality_required,json=exactQualityRequired,proto3" json:"exact_quality_required,omitempty"` // contains filtered or unexported fields }
Request message for `Solar.GetDataLayers`.
func (*GetDataLayersRequest) Descriptor
deprecated
func (*GetDataLayersRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetDataLayersRequest.ProtoReflect.Descriptor instead.
func (*GetDataLayersRequest) GetExactQualityRequired ¶
func (x *GetDataLayersRequest) GetExactQualityRequired() bool
func (*GetDataLayersRequest) GetLocation ¶
func (x *GetDataLayersRequest) GetLocation() *latlng.LatLng
func (*GetDataLayersRequest) GetPixelSizeMeters ¶
func (x *GetDataLayersRequest) GetPixelSizeMeters() float32
func (*GetDataLayersRequest) GetRadiusMeters ¶
func (x *GetDataLayersRequest) GetRadiusMeters() float32
func (*GetDataLayersRequest) GetRequiredQuality ¶
func (x *GetDataLayersRequest) GetRequiredQuality() ImageryQuality
func (*GetDataLayersRequest) GetView ¶
func (x *GetDataLayersRequest) GetView() DataLayerView
func (*GetDataLayersRequest) ProtoMessage ¶
func (*GetDataLayersRequest) ProtoMessage()
func (*GetDataLayersRequest) ProtoReflect ¶
func (x *GetDataLayersRequest) ProtoReflect() protoreflect.Message
func (*GetDataLayersRequest) Reset ¶
func (x *GetDataLayersRequest) Reset()
func (*GetDataLayersRequest) String ¶
func (x *GetDataLayersRequest) String() string
type GetGeoTiffRequest ¶
type GetGeoTiffRequest struct { // Required. The ID of the asset being requested. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // contains filtered or unexported fields }
Request message for `Solar.GetGeoTiff`.
func (*GetGeoTiffRequest) Descriptor
deprecated
func (*GetGeoTiffRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetGeoTiffRequest.ProtoReflect.Descriptor instead.
func (*GetGeoTiffRequest) GetId ¶
func (x *GetGeoTiffRequest) GetId() string
func (*GetGeoTiffRequest) ProtoMessage ¶
func (*GetGeoTiffRequest) ProtoMessage()
func (*GetGeoTiffRequest) ProtoReflect ¶
func (x *GetGeoTiffRequest) ProtoReflect() protoreflect.Message
func (*GetGeoTiffRequest) Reset ¶
func (x *GetGeoTiffRequest) Reset()
func (*GetGeoTiffRequest) String ¶
func (x *GetGeoTiffRequest) String() string
type ImageryQuality ¶
type ImageryQuality int32
The quality of the imagery used to compute some API result.
Note: Regardless of imagery quality level, DSM outputs always have a resolution of 0.1 m/pixel, monthly flux outputs always have a resolution of 0.5 m/pixel, and hourly shade outputs always have a resolution of 1 m/pixel.
const ( // No quality is known. ImageryQuality_IMAGERY_QUALITY_UNSPECIFIED ImageryQuality = 0 // The underlying imagery and DSM data were processed at 0.1 m/pixel. ImageryQuality_HIGH ImageryQuality = 1 // The underlying imagery and DSM data were processed at 0.25 m/pixel. ImageryQuality_MEDIUM ImageryQuality = 2 // The underlying imagery and DSM data were processed at 0.5 m/pixel. ImageryQuality_LOW ImageryQuality = 3 )
func (ImageryQuality) Descriptor ¶
func (ImageryQuality) Descriptor() protoreflect.EnumDescriptor
func (ImageryQuality) Enum ¶
func (x ImageryQuality) Enum() *ImageryQuality
func (ImageryQuality) EnumDescriptor
deprecated
func (ImageryQuality) EnumDescriptor() ([]byte, []int)
Deprecated: Use ImageryQuality.Descriptor instead.
func (ImageryQuality) Number ¶
func (x ImageryQuality) Number() protoreflect.EnumNumber
func (ImageryQuality) String ¶
func (x ImageryQuality) String() string
func (ImageryQuality) Type ¶
func (ImageryQuality) Type() protoreflect.EnumType
type LatLngBox ¶
type LatLngBox struct { // The southwest corner of the box. Sw *latlng.LatLng `protobuf:"bytes,1,opt,name=sw,proto3" json:"sw,omitempty"` // The northeast corner of the box. Ne *latlng.LatLng `protobuf:"bytes,2,opt,name=ne,proto3" json:"ne,omitempty"` // contains filtered or unexported fields }
A bounding box in lat/lng coordinates.
func (*LatLngBox) Descriptor
deprecated
func (*LatLngBox) ProtoMessage ¶
func (*LatLngBox) ProtoMessage()
func (*LatLngBox) ProtoReflect ¶
func (x *LatLngBox) ProtoReflect() protoreflect.Message
type LeasingSavings ¶
type LeasingSavings struct { // Whether leases are allowed in this juristiction (leases are not // allowed in some states). If this field is false, then the values in // this message should probably be ignored. LeasesAllowed bool `protobuf:"varint,1,opt,name=leases_allowed,json=leasesAllowed,proto3" json:"leases_allowed,omitempty"` // Whether leases are supported in this juristiction by the financial // calculation engine. If this field is false, then the values in this // message should probably be ignored. This is independent of // `leases_allowed`: in some areas leases are allowed, but under conditions // that aren't handled by the financial models. LeasesSupported bool `protobuf:"varint,2,opt,name=leases_supported,json=leasesSupported,proto3" json:"leases_supported,omitempty"` // Estimated annual leasing cost. AnnualLeasingCost *money.Money `protobuf:"bytes,3,opt,name=annual_leasing_cost,json=annualLeasingCost,proto3" json:"annual_leasing_cost,omitempty"` // How much is saved (or not) over the lifetime period. Savings *SavingsOverTime `protobuf:"bytes,4,opt,name=savings,proto3" json:"savings,omitempty"` // contains filtered or unexported fields }
Cost and benefit of leasing a particular configuration of solar panels with a particular electricity usage.
func (*LeasingSavings) Descriptor
deprecated
func (*LeasingSavings) Descriptor() ([]byte, []int)
Deprecated: Use LeasingSavings.ProtoReflect.Descriptor instead.
func (*LeasingSavings) GetAnnualLeasingCost ¶
func (x *LeasingSavings) GetAnnualLeasingCost() *money.Money
func (*LeasingSavings) GetLeasesAllowed ¶
func (x *LeasingSavings) GetLeasesAllowed() bool
func (*LeasingSavings) GetLeasesSupported ¶
func (x *LeasingSavings) GetLeasesSupported() bool
func (*LeasingSavings) GetSavings ¶
func (x *LeasingSavings) GetSavings() *SavingsOverTime
func (*LeasingSavings) ProtoMessage ¶
func (*LeasingSavings) ProtoMessage()
func (*LeasingSavings) ProtoReflect ¶
func (x *LeasingSavings) ProtoReflect() protoreflect.Message
func (*LeasingSavings) Reset ¶
func (x *LeasingSavings) Reset()
func (*LeasingSavings) String ¶
func (x *LeasingSavings) String() string
type RoofSegmentSizeAndSunshineStats ¶
type RoofSegmentSizeAndSunshineStats struct { // Angle of the roof segment relative to the theoretical ground plane. // 0 = parallel to the ground, 90 = perpendicular to the ground. PitchDegrees *float32 `protobuf:"fixed32,1,opt,name=pitch_degrees,json=pitchDegrees,proto3,oneof" json:"pitch_degrees,omitempty"` // Compass direction the roof segment is pointing in. 0 = North, 90 = // East, 180 = South. For a "flat" roof segment (`pitch_degrees` very // near 0), azimuth is not well defined, so for consistency, we define it // arbitrarily to be 0 (North). AzimuthDegrees *float32 `protobuf:"fixed32,2,opt,name=azimuth_degrees,json=azimuthDegrees,proto3,oneof" json:"azimuth_degrees,omitempty"` // Total size and sunlight quantiles for the roof segment. Stats *SizeAndSunshineStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"` // A point near the center of the roof segment. Center *latlng.LatLng `protobuf:"bytes,4,opt,name=center,proto3" json:"center,omitempty"` // The bounding box of the roof segment. BoundingBox *LatLngBox `protobuf:"bytes,5,opt,name=bounding_box,json=boundingBox,proto3" json:"bounding_box,omitempty"` // The height of the roof segment plane, in meters above sea level, // at the point designated by `center`. Together with the pitch, // azimuth, and center location, this fully defines the roof segment // plane. PlaneHeightAtCenterMeters *float32 `` /* 150-byte string literal not displayed */ // contains filtered or unexported fields }
Information about the size and sunniness quantiles of a roof segment.
func (*RoofSegmentSizeAndSunshineStats) Descriptor
deprecated
func (*RoofSegmentSizeAndSunshineStats) Descriptor() ([]byte, []int)
Deprecated: Use RoofSegmentSizeAndSunshineStats.ProtoReflect.Descriptor instead.
func (*RoofSegmentSizeAndSunshineStats) GetAzimuthDegrees ¶
func (x *RoofSegmentSizeAndSunshineStats) GetAzimuthDegrees() float32
func (*RoofSegmentSizeAndSunshineStats) GetBoundingBox ¶
func (x *RoofSegmentSizeAndSunshineStats) GetBoundingBox() *LatLngBox
func (*RoofSegmentSizeAndSunshineStats) GetCenter ¶
func (x *RoofSegmentSizeAndSunshineStats) GetCenter() *latlng.LatLng
func (*RoofSegmentSizeAndSunshineStats) GetPitchDegrees ¶
func (x *RoofSegmentSizeAndSunshineStats) GetPitchDegrees() float32
func (*RoofSegmentSizeAndSunshineStats) GetPlaneHeightAtCenterMeters ¶
func (x *RoofSegmentSizeAndSunshineStats) GetPlaneHeightAtCenterMeters() float32
func (*RoofSegmentSizeAndSunshineStats) GetStats ¶
func (x *RoofSegmentSizeAndSunshineStats) GetStats() *SizeAndSunshineStats
func (*RoofSegmentSizeAndSunshineStats) ProtoMessage ¶
func (*RoofSegmentSizeAndSunshineStats) ProtoMessage()
func (*RoofSegmentSizeAndSunshineStats) ProtoReflect ¶
func (x *RoofSegmentSizeAndSunshineStats) ProtoReflect() protoreflect.Message
func (*RoofSegmentSizeAndSunshineStats) Reset ¶
func (x *RoofSegmentSizeAndSunshineStats) Reset()
func (*RoofSegmentSizeAndSunshineStats) String ¶
func (x *RoofSegmentSizeAndSunshineStats) String() string
type RoofSegmentSummary ¶
type RoofSegmentSummary struct { // Angle of the roof segment relative to the theoretical ground plane. // 0 = parallel to the ground, 90 = perpendicular to the ground. PitchDegrees *float32 `protobuf:"fixed32,2,opt,name=pitch_degrees,json=pitchDegrees,proto3,oneof" json:"pitch_degrees,omitempty"` // Compass direction the roof segment is pointing in. 0 = North, 90 = // East, 180 = South. For a "flat" roof segment (`pitch_degrees` very // near 0), azimuth is not well defined, so for consistency, we define it // arbitrarily to be 0 (North). AzimuthDegrees *float32 `protobuf:"fixed32,3,opt,name=azimuth_degrees,json=azimuthDegrees,proto3,oneof" json:"azimuth_degrees,omitempty"` // The total number of panels on this segment. PanelsCount int32 `protobuf:"varint,7,opt,name=panels_count,json=panelsCount,proto3" json:"panels_count,omitempty"` // How much sunlight energy this part of the layout captures over the // course of a year, in DC kWh, assuming the panels described above. YearlyEnergyDcKwh float32 `protobuf:"fixed32,8,opt,name=yearly_energy_dc_kwh,json=yearlyEnergyDcKwh,proto3" json:"yearly_energy_dc_kwh,omitempty"` // Index in [roof_segment_stats] // [google.maps.solar.v1.SolarPotential.roof_segment_stats] // of the corresponding `RoofSegmentSizeAndSunshineStats`. SegmentIndex *int32 `protobuf:"varint,9,opt,name=segment_index,json=segmentIndex,proto3,oneof" json:"segment_index,omitempty"` // contains filtered or unexported fields }
Information about a roof segment on the building, with some number of panels placed on it.
func (*RoofSegmentSummary) Descriptor
deprecated
func (*RoofSegmentSummary) Descriptor() ([]byte, []int)
Deprecated: Use RoofSegmentSummary.ProtoReflect.Descriptor instead.
func (*RoofSegmentSummary) GetAzimuthDegrees ¶
func (x *RoofSegmentSummary) GetAzimuthDegrees() float32
func (*RoofSegmentSummary) GetPanelsCount ¶
func (x *RoofSegmentSummary) GetPanelsCount() int32
func (*RoofSegmentSummary) GetPitchDegrees ¶
func (x *RoofSegmentSummary) GetPitchDegrees() float32
func (*RoofSegmentSummary) GetSegmentIndex ¶
func (x *RoofSegmentSummary) GetSegmentIndex() int32
func (*RoofSegmentSummary) GetYearlyEnergyDcKwh ¶
func (x *RoofSegmentSummary) GetYearlyEnergyDcKwh() float32
func (*RoofSegmentSummary) ProtoMessage ¶
func (*RoofSegmentSummary) ProtoMessage()
func (*RoofSegmentSummary) ProtoReflect ¶
func (x *RoofSegmentSummary) ProtoReflect() protoreflect.Message
func (*RoofSegmentSummary) Reset ¶
func (x *RoofSegmentSummary) Reset()
func (*RoofSegmentSummary) String ¶
func (x *RoofSegmentSummary) String() string
type SavingsOverTime ¶
type SavingsOverTime struct { // Savings in the first year after panel installation. SavingsYear1 *money.Money `protobuf:"bytes,1,opt,name=savings_year1,json=savingsYear1,proto3" json:"savings_year1,omitempty"` // Savings in the first twenty years after panel installation. SavingsYear20 *money.Money `protobuf:"bytes,2,opt,name=savings_year20,json=savingsYear20,proto3" json:"savings_year20,omitempty"` // Using the assumed discount rate, what is the present value of the // cumulative 20-year savings? PresentValueOfSavingsYear20 *money.Money `` /* 148-byte string literal not displayed */ // Savings in the entire panel lifetime. SavingsLifetime *money.Money `protobuf:"bytes,5,opt,name=savings_lifetime,json=savingsLifetime,proto3" json:"savings_lifetime,omitempty"` // Using the assumed discount rate, what is the present value of the // cumulative lifetime savings? PresentValueOfSavingsLifetime *money.Money `` /* 154-byte string literal not displayed */ // Indicates whether this scenario is financially viable. Will be false for // scenarios with poor financial viability (e.g., money-losing). FinanciallyViable bool `protobuf:"varint,4,opt,name=financially_viable,json=financiallyViable,proto3" json:"financially_viable,omitempty"` // contains filtered or unexported fields }
Financial information that's shared between different financing methods.
func (*SavingsOverTime) Descriptor
deprecated
func (*SavingsOverTime) Descriptor() ([]byte, []int)
Deprecated: Use SavingsOverTime.ProtoReflect.Descriptor instead.
func (*SavingsOverTime) GetFinanciallyViable ¶
func (x *SavingsOverTime) GetFinanciallyViable() bool
func (*SavingsOverTime) GetPresentValueOfSavingsLifetime ¶
func (x *SavingsOverTime) GetPresentValueOfSavingsLifetime() *money.Money
func (*SavingsOverTime) GetPresentValueOfSavingsYear20 ¶
func (x *SavingsOverTime) GetPresentValueOfSavingsYear20() *money.Money
func (*SavingsOverTime) GetSavingsLifetime ¶
func (x *SavingsOverTime) GetSavingsLifetime() *money.Money
func (*SavingsOverTime) GetSavingsYear1 ¶
func (x *SavingsOverTime) GetSavingsYear1() *money.Money
func (*SavingsOverTime) GetSavingsYear20 ¶
func (x *SavingsOverTime) GetSavingsYear20() *money.Money
func (*SavingsOverTime) ProtoMessage ¶
func (*SavingsOverTime) ProtoMessage()
func (*SavingsOverTime) ProtoReflect ¶
func (x *SavingsOverTime) ProtoReflect() protoreflect.Message
func (*SavingsOverTime) Reset ¶
func (x *SavingsOverTime) Reset()
func (*SavingsOverTime) String ¶
func (x *SavingsOverTime) String() string
type SizeAndSunshineStats ¶
type SizeAndSunshineStats struct { // The area of the roof or roof segment, in m^2. This is the roof area // (accounting for tilt), not the ground footprint area. AreaMeters2 float32 `protobuf:"fixed32,1,opt,name=area_meters2,json=areaMeters2,proto3" json:"area_meters2,omitempty"` // Quantiles of the pointwise sunniness across the area. If there // are N values here, this represents the (N-1)-iles. For example, // if there are 5 values, then they would be the quartiles (min, // 25%, 50%, 75%, max). Values are in annual kWh/kW like // [max_sunshine_hours_per_year] // [google.maps.solar.v1.SolarPotential.max_sunshine_hours_per_year]. SunshineQuantiles []float32 `protobuf:"fixed32,2,rep,packed,name=sunshine_quantiles,json=sunshineQuantiles,proto3" json:"sunshine_quantiles,omitempty"` // The ground footprint area covered by the roof or roof segment, in m^2. GroundAreaMeters2 float32 `protobuf:"fixed32,3,opt,name=ground_area_meters2,json=groundAreaMeters2,proto3" json:"ground_area_meters2,omitempty"` // contains filtered or unexported fields }
Size and sunniness quantiles of a roof, or part of a roof.
func (*SizeAndSunshineStats) Descriptor
deprecated
func (*SizeAndSunshineStats) Descriptor() ([]byte, []int)
Deprecated: Use SizeAndSunshineStats.ProtoReflect.Descriptor instead.
func (*SizeAndSunshineStats) GetAreaMeters2 ¶
func (x *SizeAndSunshineStats) GetAreaMeters2() float32
func (*SizeAndSunshineStats) GetGroundAreaMeters2 ¶
func (x *SizeAndSunshineStats) GetGroundAreaMeters2() float32
func (*SizeAndSunshineStats) GetSunshineQuantiles ¶
func (x *SizeAndSunshineStats) GetSunshineQuantiles() []float32
func (*SizeAndSunshineStats) ProtoMessage ¶
func (*SizeAndSunshineStats) ProtoMessage()
func (*SizeAndSunshineStats) ProtoReflect ¶
func (x *SizeAndSunshineStats) ProtoReflect() protoreflect.Message
func (*SizeAndSunshineStats) Reset ¶
func (x *SizeAndSunshineStats) Reset()
func (*SizeAndSunshineStats) String ¶
func (x *SizeAndSunshineStats) String() string
type SolarClient ¶
type SolarClient interface { // Locates the closest building to a query point. Returns an error with // code `NOT_FOUND` if there are no buildings within approximately 50m of the // query point. FindClosestBuildingInsights(ctx context.Context, in *FindClosestBuildingInsightsRequest, opts ...grpc.CallOption) (*BuildingInsights, error) // Gets solar information for a region surrounding a location. // Returns an error with code `NOT_FOUND` if the location is outside // the coverage area. GetDataLayers(ctx context.Context, in *GetDataLayersRequest, opts ...grpc.CallOption) (*DataLayers, error) // Returns an image by its ID. GetGeoTiff(ctx context.Context, in *GetGeoTiffRequest, opts ...grpc.CallOption) (*httpbody.HttpBody, error) }
SolarClient is the client API for Solar service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewSolarClient ¶
func NewSolarClient(cc grpc.ClientConnInterface) SolarClient
type SolarPanel ¶
type SolarPanel struct { // The centre of the panel. Center *latlng.LatLng `protobuf:"bytes,1,opt,name=center,proto3" json:"center,omitempty"` // The orientation of the panel. Orientation SolarPanelOrientation `protobuf:"varint,2,opt,name=orientation,proto3,enum=google.maps.solar.v1.SolarPanelOrientation" json:"orientation,omitempty"` // How much sunlight energy this layout captures over the course of a // year, in DC kWh. YearlyEnergyDcKwh float32 `protobuf:"fixed32,3,opt,name=yearly_energy_dc_kwh,json=yearlyEnergyDcKwh,proto3" json:"yearly_energy_dc_kwh,omitempty"` // Index in [roof_segment_stats] // [google.maps.solar.v1.SolarPotential.roof_segment_stats] // of the `RoofSegmentSizeAndSunshineStats` which corresponds to the // roof segment that this panel is placed on. SegmentIndex *int32 `protobuf:"varint,4,opt,name=segment_index,json=segmentIndex,proto3,oneof" json:"segment_index,omitempty"` // contains filtered or unexported fields }
SolarPanel describes the position, orientation, and production of a single solar panel. See the [panel_height_meters] [google.maps.solar.v1.SolarPotential.panel_height_meters], [panel_width_meters] [google.maps.solar.v1.SolarPotential.panel_width_meters], and [panel_capacity_watts] [google.maps.solar.v1.SolarPotential.panel_capacity_watts] fields in SolarPotential [google.maps.solar.v1.SolarPotential] for information on the parameters of the panel.
func (*SolarPanel) Descriptor
deprecated
func (*SolarPanel) Descriptor() ([]byte, []int)
Deprecated: Use SolarPanel.ProtoReflect.Descriptor instead.
func (*SolarPanel) GetCenter ¶
func (x *SolarPanel) GetCenter() *latlng.LatLng
func (*SolarPanel) GetOrientation ¶
func (x *SolarPanel) GetOrientation() SolarPanelOrientation
func (*SolarPanel) GetSegmentIndex ¶
func (x *SolarPanel) GetSegmentIndex() int32
func (*SolarPanel) GetYearlyEnergyDcKwh ¶
func (x *SolarPanel) GetYearlyEnergyDcKwh() float32
func (*SolarPanel) ProtoMessage ¶
func (*SolarPanel) ProtoMessage()
func (*SolarPanel) ProtoReflect ¶
func (x *SolarPanel) ProtoReflect() protoreflect.Message
func (*SolarPanel) Reset ¶
func (x *SolarPanel) Reset()
func (*SolarPanel) String ¶
func (x *SolarPanel) String() string
type SolarPanelConfig ¶
type SolarPanelConfig struct { // Total number of panels. Note that this is redundant to (the sum // of) the corresponding fields in [roof_segment_summaries] // [google.maps.solar.v1.SolarPanelConfig.roof_segment_summaries]. PanelsCount int32 `protobuf:"varint,1,opt,name=panels_count,json=panelsCount,proto3" json:"panels_count,omitempty"` // How much sunlight energy this layout captures over the course of a // year, in DC kWh, assuming the panels described above. YearlyEnergyDcKwh float32 `protobuf:"fixed32,2,opt,name=yearly_energy_dc_kwh,json=yearlyEnergyDcKwh,proto3" json:"yearly_energy_dc_kwh,omitempty"` // Information about the production of each roof segment that is carrying // at least one panel in this layout. `roof_segment_summaries[i]` describes // the i-th roof segment, including its size, expected production and // orientation. RoofSegmentSummaries []*RoofSegmentSummary `protobuf:"bytes,4,rep,name=roof_segment_summaries,json=roofSegmentSummaries,proto3" json:"roof_segment_summaries,omitempty"` // contains filtered or unexported fields }
SolarPanelConfig describes a particular placement of solar panels on the roof.
func (*SolarPanelConfig) Descriptor
deprecated
func (*SolarPanelConfig) Descriptor() ([]byte, []int)
Deprecated: Use SolarPanelConfig.ProtoReflect.Descriptor instead.
func (*SolarPanelConfig) GetPanelsCount ¶
func (x *SolarPanelConfig) GetPanelsCount() int32
func (*SolarPanelConfig) GetRoofSegmentSummaries ¶
func (x *SolarPanelConfig) GetRoofSegmentSummaries() []*RoofSegmentSummary
func (*SolarPanelConfig) GetYearlyEnergyDcKwh ¶
func (x *SolarPanelConfig) GetYearlyEnergyDcKwh() float32
func (*SolarPanelConfig) ProtoMessage ¶
func (*SolarPanelConfig) ProtoMessage()
func (*SolarPanelConfig) ProtoReflect ¶
func (x *SolarPanelConfig) ProtoReflect() protoreflect.Message
func (*SolarPanelConfig) Reset ¶
func (x *SolarPanelConfig) Reset()
func (*SolarPanelConfig) String ¶
func (x *SolarPanelConfig) String() string
type SolarPanelOrientation ¶
type SolarPanelOrientation int32
The orientation of a solar panel. This must be interpreted relative to the azimuth of the roof segment that the panel is placed on.
const ( // No panel orientation is known. SolarPanelOrientation_SOLAR_PANEL_ORIENTATION_UNSPECIFIED SolarPanelOrientation = 0 // A `LANDSCAPE` panel has its long edge perpendicular to the // azimuth direction of the roof segment that it is placed on. SolarPanelOrientation_LANDSCAPE SolarPanelOrientation = 1 // A `PORTRAIT` panel has its long edge parallel to the azimuth // direction of the roof segment that it is placed on. SolarPanelOrientation_PORTRAIT SolarPanelOrientation = 2 )
func (SolarPanelOrientation) Descriptor ¶
func (SolarPanelOrientation) Descriptor() protoreflect.EnumDescriptor
func (SolarPanelOrientation) Enum ¶
func (x SolarPanelOrientation) Enum() *SolarPanelOrientation
func (SolarPanelOrientation) EnumDescriptor
deprecated
func (SolarPanelOrientation) EnumDescriptor() ([]byte, []int)
Deprecated: Use SolarPanelOrientation.Descriptor instead.
func (SolarPanelOrientation) Number ¶
func (x SolarPanelOrientation) Number() protoreflect.EnumNumber
func (SolarPanelOrientation) String ¶
func (x SolarPanelOrientation) String() string
func (SolarPanelOrientation) Type ¶
func (SolarPanelOrientation) Type() protoreflect.EnumType
type SolarPotential ¶
type SolarPotential struct { // Size of the maximum array - that is, the maximum number of panels that // can fit on the roof. MaxArrayPanelsCount int32 `protobuf:"varint,1,opt,name=max_array_panels_count,json=maxArrayPanelsCount,proto3" json:"max_array_panels_count,omitempty"` // Capacity, in watts, of the panel used in the calculations. PanelCapacityWatts float32 `protobuf:"fixed32,9,opt,name=panel_capacity_watts,json=panelCapacityWatts,proto3" json:"panel_capacity_watts,omitempty"` // Height, in meters in portrait orientation, of the panel used in // the calculations. PanelHeightMeters float32 `protobuf:"fixed32,10,opt,name=panel_height_meters,json=panelHeightMeters,proto3" json:"panel_height_meters,omitempty"` // Width, in meters in portrait orientation, of the panel used in // the calculations. PanelWidthMeters float32 `protobuf:"fixed32,11,opt,name=panel_width_meters,json=panelWidthMeters,proto3" json:"panel_width_meters,omitempty"` // The expected lifetime, in years, of the solar panels. This is // used in the financial calculations. PanelLifetimeYears int32 `protobuf:"varint,12,opt,name=panel_lifetime_years,json=panelLifetimeYears,proto3" json:"panel_lifetime_years,omitempty"` // Size, in square meters, of the maximum array. MaxArrayAreaMeters2 float32 `protobuf:"fixed32,2,opt,name=max_array_area_meters2,json=maxArrayAreaMeters2,proto3" json:"max_array_area_meters2,omitempty"` // 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). MaxSunshineHoursPerYear float32 `` /* 138-byte string literal not displayed */ // 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. CarbonOffsetFactorKgPerMwh float32 `` /* 149-byte string literal not displayed */ // Total size and sunlight quantiles for the part of the roof that // was assigned to some roof segment. Despite the name, this may not // include the entire building. See [building_stats] // [google.maps.solar.v1.SolarPotential.building_stats]. WholeRoofStats *SizeAndSunshineStats `protobuf:"bytes,5,opt,name=whole_roof_stats,json=wholeRoofStats,proto3" json:"whole_roof_stats,omitempty"` // Size and sunlight quantiles for the entire building, including // parts of the roof that were not assigned to some roof segment. // Because the orientations of these parts are not well // characterised, the roof area estimate is unreliable, but the // ground area estimate is reliable. It may be that a more reliable // whole building roof area can be obtained by scaling the roof area // from [whole_roof_stats] // [google.maps.solar.v1.SolarPotential.whole_roof_stats] by // the ratio of the ground areas of `building_stats` and // `whole_roof_stats`. BuildingStats *SizeAndSunshineStats `protobuf:"bytes,13,opt,name=building_stats,json=buildingStats,proto3" json:"building_stats,omitempty"` // Size and sunlight quantiles for each roof segment. RoofSegmentStats []*RoofSegmentSizeAndSunshineStats `protobuf:"bytes,6,rep,name=roof_segment_stats,json=roofSegmentStats,proto3" json:"roof_segment_stats,omitempty"` // Each [SolarPanel] [google.maps.solar.v1.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. SolarPanels []*SolarPanel `protobuf:"bytes,14,rep,name=solar_panels,json=solarPanels,proto3" json:"solar_panels,omitempty"` // Each [SolarPanelConfig] // [google.maps.solar.v1.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] // [google.maps.solar.v1.SolarPanelConfig.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. SolarPanelConfigs []*SolarPanelConfig `protobuf:"bytes,7,rep,name=solar_panel_configs,json=solarPanelConfigs,proto3" json:"solar_panel_configs,omitempty"` // A [FinancialAnalysis] // [google.maps.solar.v1.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. FinancialAnalyses []*FinancialAnalysis `protobuf:"bytes,8,rep,name=financial_analyses,json=financialAnalyses,proto3" json:"financial_analyses,omitempty"` // contains filtered or unexported fields }
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] [google.maps.solar.v1.SolarPotential.panel_capacity_watts], [panel_height_meters] [google.maps.solar.v1.SolarPotential.panel_height_meters], and [panel_width_meters] [google.maps.solar.v1.SolarPotential.panel_width_meters] describe the parameters of the model of panel used in these calculations.
func (*SolarPotential) Descriptor
deprecated
func (*SolarPotential) Descriptor() ([]byte, []int)
Deprecated: Use SolarPotential.ProtoReflect.Descriptor instead.
func (*SolarPotential) GetBuildingStats ¶
func (x *SolarPotential) GetBuildingStats() *SizeAndSunshineStats
func (*SolarPotential) GetCarbonOffsetFactorKgPerMwh ¶
func (x *SolarPotential) GetCarbonOffsetFactorKgPerMwh() float32
func (*SolarPotential) GetFinancialAnalyses ¶
func (x *SolarPotential) GetFinancialAnalyses() []*FinancialAnalysis
func (*SolarPotential) GetMaxArrayAreaMeters2 ¶
func (x *SolarPotential) GetMaxArrayAreaMeters2() float32
func (*SolarPotential) GetMaxArrayPanelsCount ¶
func (x *SolarPotential) GetMaxArrayPanelsCount() int32
func (*SolarPotential) GetMaxSunshineHoursPerYear ¶
func (x *SolarPotential) GetMaxSunshineHoursPerYear() float32
func (*SolarPotential) GetPanelCapacityWatts ¶
func (x *SolarPotential) GetPanelCapacityWatts() float32
func (*SolarPotential) GetPanelHeightMeters ¶
func (x *SolarPotential) GetPanelHeightMeters() float32
func (*SolarPotential) GetPanelLifetimeYears ¶
func (x *SolarPotential) GetPanelLifetimeYears() int32
func (*SolarPotential) GetPanelWidthMeters ¶
func (x *SolarPotential) GetPanelWidthMeters() float32
func (*SolarPotential) GetRoofSegmentStats ¶
func (x *SolarPotential) GetRoofSegmentStats() []*RoofSegmentSizeAndSunshineStats
func (*SolarPotential) GetSolarPanelConfigs ¶
func (x *SolarPotential) GetSolarPanelConfigs() []*SolarPanelConfig
func (*SolarPotential) GetSolarPanels ¶
func (x *SolarPotential) GetSolarPanels() []*SolarPanel
func (*SolarPotential) GetWholeRoofStats ¶
func (x *SolarPotential) GetWholeRoofStats() *SizeAndSunshineStats
func (*SolarPotential) ProtoMessage ¶
func (*SolarPotential) ProtoMessage()
func (*SolarPotential) ProtoReflect ¶
func (x *SolarPotential) ProtoReflect() protoreflect.Message
func (*SolarPotential) Reset ¶
func (x *SolarPotential) Reset()
func (*SolarPotential) String ¶
func (x *SolarPotential) String() string
type SolarServer ¶
type SolarServer interface { // Locates the closest building to a query point. Returns an error with // code `NOT_FOUND` if there are no buildings within approximately 50m of the // query point. FindClosestBuildingInsights(context.Context, *FindClosestBuildingInsightsRequest) (*BuildingInsights, error) // Gets solar information for a region surrounding a location. // Returns an error with code `NOT_FOUND` if the location is outside // the coverage area. GetDataLayers(context.Context, *GetDataLayersRequest) (*DataLayers, error) // Returns an image by its ID. GetGeoTiff(context.Context, *GetGeoTiffRequest) (*httpbody.HttpBody, error) }
SolarServer is the server API for Solar service.
type UnimplementedSolarServer ¶
type UnimplementedSolarServer struct { }
UnimplementedSolarServer can be embedded to have forward compatible implementations.
func (*UnimplementedSolarServer) FindClosestBuildingInsights ¶
func (*UnimplementedSolarServer) FindClosestBuildingInsights(context.Context, *FindClosestBuildingInsightsRequest) (*BuildingInsights, error)
func (*UnimplementedSolarServer) GetDataLayers ¶
func (*UnimplementedSolarServer) GetDataLayers(context.Context, *GetDataLayersRequest) (*DataLayers, error)
func (*UnimplementedSolarServer) GetGeoTiff ¶
func (*UnimplementedSolarServer) GetGeoTiff(context.Context, *GetGeoTiffRequest) (*httpbody.HttpBody, error)