本部分介绍了如何进行计算,以便为美国境外地区的家庭确定最佳太阳能配置。如需计算建议,您需要使用 Solar API 响应中的数据来模拟安装太阳能板的费用和节省的费用。
对于美国境内的地理位置,Solar API 会针对输入地理位置的每个电费金额返回一个 FinancialAnalysis 对象实例。您可以使用这些示例中的信息来确定与每个太阳能安装规模相关的账单、能耗,以及最终的节省金额。
对于非美国境内的地理位置,API 响应不包含 FinancialAnalysis 实例,因此您必须自行计算每种太阳能配置的费用和节省金额,然后才能推荐最佳配置。如需执行计算,您需要收集特定于地理位置的数据,并遵循本文档中的指南。
您可以根据 Solar API 针对美国境内地理位置所做的计算来构建计算模型。如需了解这些计算方式,请参阅计算节省费用(美国)。
太阳能板配置
对于非美国境内的位置,SolarPanelConfig
字段中提供了您进行财务分析所需的每个太阳能板配置的相关信息。返回的 SolarPanelConfig
实例数量取决于输入位置的屋顶大小。在计算时,您需要使用以下两个字段中的值:
panelsCount
:此配置中使用的面板数量。yearlyEnergyDcKwh
:在SolarPotential
对象中的以下字段定义的面板尺寸下,此配置一年内产生的太阳能量(以直流电量千瓦时为单位):panelHeightMeters
:面板高度(以米为单位)。panelWidthMeters
:面板宽度(以米为单位)。panelCapacityWatts
:面板功率额定值(以瓦为单位)。
以下示例展示了请求响应中 solarPanelConfigs
字段中的 SolarPanelConfig
对象的一个实例:
"solarPanelConfigs": [ { "panelsCount": 4, "yearlyEnergyDcKwh": 1709.2424, "roofSegmentSummaries": [ { "pitchDegrees": 16.253168, "azimuthDegrees": 169.41516, "panelsCount": 4, "yearlyEnergyDcKwh": 1709.2424 } ] } ]
对于太阳能装置,installationSize
是指 kW 输出,而不是面积或电池板数量,并定义为:
installationSize = panelsCount * panelCapacityWatts/1000 kW
根据不同的面板评分调整能量产出估算值
如需计算 yearlyEnergyDcKwh
值,Solar API 会使用 panelCapacityWatts
字段中的功率额定值,该值目前为 250W。
如果您需要在计算中使用其他面板功率额定值,并且面板的尺寸与 panelHeightMeters
和 panelWidthMeters
字段中的值大致相当,则可以通过将 API 在 yearlyEnergyDcKwh
字段中返回的值乘以功率额定值与 panelCapacityWatts
中的值的比率来调整计算结果。
例如,如果板块的额定功率为 400W,panelCapacityWatts
为 250W,请将 API 使用 panelCapacityWatts
计算得出的 yearlyEnergyDcKwh
值乘以 400/250 的系数,即 1.6。如果您的面板额定功率为 200W,请将 yearlyEnergyDcKwh
乘以 200/250,即 0.8。
过剩的能量生产
计算太阳能装置可能产生的多余能量超出了 Solar API 计算范围。事实上,如果 Solar API 为给定家庭返回多个可能的 SolarPanelConfig
实例,则 Solar API 不会考虑产生的电量超过 FinancialAnalysis
中假设的美国平均家庭用电量的结果或配置。
不过,您可能有理由在推荐中纳入会产生过剩电力的安装。例如,您可能希望通过在安装生命周期的前半部分允许过量发电来抵消面板效率的逐渐下降(efficiencyDepreciationFactor)。如需了解详情,请参阅财务分析所需的值。
无论出于何种原因,如果您在计算中纳入了会产生过剩电量的太阳能装置,请注意,此处介绍的计算方法不适用于这种情况。
非美国地区的财务分析所需的值
在 API 响应的每个 SolarPanelConfig
实例中,您需要两个值才能对该实例执行财务分析:
panelsCount
:安装的太阳能板数量。您可以在计算installationSize
时使用此值。yearlyEnergyDcKwh
:在给定特定panelsCount
的情况下,布局在一年中捕获的太阳能量(以直流电的千瓦时为单位)。您可以在计算每个installationSize
的住宅中可用作交流电的太阳能 (initialAcKwhPerYear
) 时使用此值,同时考虑从直流转换为交流电过程中的任何能量损失。
此外,您还需要收集将在计算中使用的以下变量的特定于位置的值:
- billCostModel():用于确定家庭因使用给定数量的千瓦时而支付的费用(以本地货币为单位)的模型。公用事业公司收取的电费可能会因天或因小时而异,具体取决于需求、时段和家庭用电量等因素。您可能需要估算平均费用。
- costIncreaseFactor:电费每年增长的系数。Solar API 针对美国境内的位置使用 1.022(每年增长 2.2%)。根据您所在地区的需要调整此值。
- dcToAcDerate:逆变器将太阳能板产生的直流电转换为家庭使用的交流电的效率。Solar API 针对美国境内的地理位置使用 85% 的比例。根据您所在地区的需要调整此值。
- discountRate:Solar API 针对美国境内的位置使用 1.04(每年增长 4%)。根据您所在地区的需要调整此值。
- efficiencyDepreciationFactor:太阳能板每年的效率下降幅度。Solar API 针对美国境内的地理位置使用 0.995(每年减少 0.5%)。根据您所在地区的需要调整此值。
- 奖励:请列出您所在地区政府实体为安装太阳能板提供的所有金钱奖励。
- installationCostModel():您用于估算给定
installationSize
的本地货币安装太阳能系统费用的方法。成本模型通常会考虑给定installationSize
的当地劳动力和材料费用。 - installationLifeSpan:太阳能装置的预期使用寿命。 Solar API 使用 20 年。根据您所在地区的需要调整此值。
- kWhConsumptionModel():您用于根据每月账单确定家庭用电量的模型。最简单的方法是,将账单金额除以住宅所在位置的每千瓦时平均费用。
- monthlyBill:被调查家庭的平均每月电费。
- monthlyKWhEnergyConsumption:给定地点的家庭在一个月内消耗的电量的估算值,以千瓦时为单位。
有了这些值和 API 响应提供的信息,您就可以执行必要的计算,为 Solar API 未涵盖的位置推荐最佳 installationSize
。
计算步骤
以下步骤基于 Solar API 的方法。您可能需要根据您所在位置的可用信息调整方法。
计算输入地点的家庭年能耗:
- 估算或请求查看该家庭的每月账单。
- 根据月度账单计算 monthlyKWhEnergyConsumption。(如果您知道 monthlyKWhEnergyConsumption,则可以跳过此步骤。)例如:
monthlyKWhEnergyConsumption = kWhConsumptionModel(monthlyBill)
- 将 monthlyKWhEnergyConsumption 乘以 12,即可计算出 annualKWhEnergyConsumption:
annualKWhEnergyConsumption = monthlyKWhEnergyConsumption x 12
获取目标家庭的 API 响应:
https://solar.googleapis.com/v1/buildingInsights:findClosest?location.latitude=lat-number&location.longitude=long-number&key=yourAPIKey
响应中包含可用的阳光、可用的屋顶空间以及一个或多个可能的太阳能电池板配置。
计算 API 建议的每个
installationSize
的全年太阳能交流电量产量:将 API 在每个SolarPanelConfig
实例中提供的yearlyEnergyDcKwh
值乘以本地 dcToAcDerate:initialAcKwhPerYear =
yearlyEnergyDcKwh
x dcToAcDerate(可选)从考虑范围中移除任何产生的电量超过家庭每年用电量的
SolarPanelConfig
实例(initialAcKwhPerYear > annualKWhEnergyConsumption)。计算每个返回的 installationSize 的生命周期太阳能发电量 (LifetimeProductionAcKwh):
- 对于太阳能装置的使用寿命中的每一年,计算装置每年将产生的电量,将 efficiencyDepreciationFactor 以指数方式应用于第一年之后的每一年。
- 添加所有年份的总和。
下表展示了如何计算使用寿命能耗的示例,假设 installationLifeSpan 为 20 年。每一行代表一年的生产数据。第一年后,效率下降率会呈指数级下降。最后,所有行的总和就是太阳能装置的使用寿命内发电量。
年 每年太阳能发电量(千瓦时) 1 initialAcKwhPerYear 2 + initialAcKwhPerYear x efficiencyDepreciationFactor : : 20 + initialAcKwhPerYear x efficiencyDepreciationFactor19 总计 LifetimeProductionAcKwh
由于太阳能板的效率会以恒定的速率衰减,因此本质上是一个几何级数,其中 a = initialAcKwhPerYear 且 r = efficiencyDepreciationFactor。我们可以使用几何级数来计算 LifetimeProductionAcKwh
:
LifetimeProductionAcKwh = (dcToAcDerate * initialAcKwhPerYear * (1 - pow(efficiencyDepreciationFactor, installationLifeSpan)) / (1 - efficiencyDepreciationFactor))
以下 Python 代码会计算上述几何级数和:
def LifetimeProductionAcKwh( dcToAcDerate, yearlyEnergyDcKwh, efficiencyDepreciationFactor, installationLifeSpan): return ( dcToAcDerate * yearlyEnergyDcKwh * (1 - pow( efficiencyDepreciationFactor, installationLifeSpan)) / (1 - efficiencyDepreciationFactor))
对于每个返回的
installationSize
,计算安装installationSize
的生命周期能耗费用:- 对于太阳能装置生命周期中的每一年,计算家庭每年需要购买的电费,以覆盖太阳能无法满足的能耗。使用您之前计算的 annualKWhEnergyConsumption 和 initialAcKwhPerYear 的值。对于第一年之后的每一年,请将 efficiencyDepreciationFactor、costIncreaseFactor 和 discountRate 应用于相应值。
- 添加所有年份的总和。
下表展示了如何计算电费的生命周期成本的示例。每一行都代表太阳能装置在其生命周期内一年的电费。在第一年之后,电费上调幅度和折扣率都会以指数方式应用。最后,所有行的总和就是安装太阳能装置后的电费生命周期成本。
年 当前本地货币价值的年度公共事业缴费单金额(美元)(annualUtilityBillEstimate) 1 annualUtilityBillEstimateYear1 = billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear) 2 annualUtilityBillEstimateYear2 = billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear x efficiencyDepreciationFactor) x costIncreaseFactor / discountRate : : 20 annualUtilityBillEstimateYear20 = billCostModel (yearlyKWhEnergyConsumption - initialAcKwhPerYear x efficiencyDepreciationFactor19) x costIncreaseFactor19 / discountRate19 总计 remainingLifetimeUtilityBill
以下 Python 代码会针对 installationLifeSpan
的每个年份返回一个 annualUtilityBillEstimate
数组:
def annualUtilityBillEstimate( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, year, costIncreaseFactor, discountRate): return ( billCostModel( yearlyKWhEnergyConsumption - annualProduction( initialAcKwhPerYear, efficiencyDepreciationFactor, year)) * pow(costIncreaseFactor, year) / pow(discountRate, year)) def lifetimeUtilityBill( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, installationLifeSpan, costIncreaseFactor, discountRate): bill = [0] * installationLifeSpan for year in range(installationLifeSpan): bill[year] = annualUtilityBillEstimate( yearlyKWhEnergyConsumption, initialAcKwhPerYear, efficiencyDepreciationFactor, year, costIncreaseFactor, discountRate) return bill
计算未安装太阳能装置时的电费生命周期成本:
- 对于太阳能装置的整个生命周期中的每一年,计算如果不安装太阳能装置,该家庭每年需要购买的电费。使用 monthlyBill 的值。对于第一年之后的每一年,请将 costIncreaseFactor 和 discountRate 值应用于 monthlyBill。
- 添加所有年份的总和。
下表展示了如何计算不使用太阳能时电力的使用寿命费用。每行代表在太阳能装置的使用寿命内,每年的电费。在第一年之后,电费上调幅度和折扣率都会以指数方式应用。最后,所有行的总和就是不安装太阳能装置的电费使用寿命成本。
年 年度公共事业缴费金额(以当前本地货币价值表示) 1 annualBill = monthlyBill x 12 2 annualBill = monthlyBill x 12 x costIncreaseFactor / discountRate : : 20 annualBill = monthlyBill x 12 x costIncreaseFactor19 / discountRate19 总计 costOfElectricityWithoutSolar
以下代码会执行上述计算:
lifetimeBill = ( monthlyBill * 12 * (1 - pow(costIncreaseFactor / discountRate, installationLifeSpan)) / (1 - costIncreaseFactor / discountRate))
针对每种安装尺寸计算安装费用:
installationCost = localInstallationCostModel(
installationSize
)将住宅所在位置提供的所有现金奖励加起来。
对于每种安装规模,计算与安装太阳能相关的总费用:
totalCostWithSolar = installationCost + remainingLifetimeUtilityBill - incentives
针对每种安装规模,计算安装太阳能发电系统的总节省金额:
savings = costOfElectricityWithoutSolar - totalCostWithSolar
选择可带来最大节省的安装大小。
计算完成后
利用您提供的信息、Solar API 返回的信息以及上述计算结果,您应该能够推荐可为您所在地区的家庭最大限度节省费用的太阳能安装规模。
在向最终用户提供的建议中,您还可以添加 API 在 solarPotential
字段的 SolarPotential
对象中返回的以下信息:
- 住宅每年可获得的可利用日照时间,该值会在
SolarPotential
对象的maxSunshineHoursPerYear
字段中返回。 - 可用于安装太阳能设备的屋顶面积(以平方英尺为单位),该值会返回在
SolarPotential
对象的wholeRoofStats
字段中。 - 家庭每月平均电费。