本部分介绍如何进行计算,以便您确定非美国地区家庭的最佳太阳能配置。如需计算建议,您需要使用 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 是指千瓦输出,而不是面积或太阳能板数量,其定义如下:
installationSize = panelsCount * panelCapacityWatts/1000 kW
针对不同的太阳能板额定功率调整发电量估算值
如需计算 yearlyEnergyDcKwh 值,Solar API 会使用功率
额定值(位于 panelCapacityWatts 字段中),该字段目前为 400 瓦。
如果您需要在计算中使用不同的太阳能板额定功率,并且太阳能板的尺寸与 panelHeightMeters 和 panelWidthMeters 字段中的值大致相当,则可以通过将 API 在 yearlyEnergyDcKwh 字段中返回的值乘以您的额定功率与 panelCapacityWatts 中的值的比率来调整计算。
例如,如果您的太阳能板的额定功率为 500 瓦,而 panelCapacityWatts 为 400 瓦,则将 API 使用
panelCapacityWatts 计算出的 yearlyEnergyDcKwh 值乘以 500/400(即 1.25)。如果您的太阳能板额定功率为
200 瓦,则将 yearlyEnergyDcKwh 乘以 200/400(即 0.5)。
过剩发电量
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%)。根据需要为您的地区调整此值。
- incentives:包含您所在地区政府实体提供的任何安装太阳能板的货币激励 。
- 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 =
yearlyEnergyDcKwhx 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 对象中返回的以下信息:
- 房屋每年接收的可用日照量,该信息在
maxSunshineHoursPerYear字段的SolarPotential对象中返回。 - 屋顶可用于安装太阳能装置的平方英尺数,该信息
在
wholeRoofStats字段的SolarPotential对象中返回。 - 家庭的平均每月电费。