本部分介绍如何进行计算,以便确定非美国地区家庭的最佳太阳能配置。为了计算建议,您需要使用 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
字段中的功率额定值(目前为 400W)。
如果您需要在计算中使用不同的太阳能板功率额定值,并且太阳能板的尺寸与 panelHeightMeters
和 panelWidthMeters
字段中的值大致相当,则可以通过以下方式调整计算:将 API 在 yearlyEnergyDcKwh
字段中返回的值乘以您的功率额定值与 panelCapacityWatts
中的值之比。
例如,如果太阳能板的功率额定值为 500W,而 panelCapacityWatts
为 400W,则将 API 使用 panelCapacityWatts
计算出的 yearlyEnergyDcKwh
值乘以 500/400(即 1.25)。如果您的太阳能板功率额定值为 200W,请将 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%)。请根据您所在区域的需要调整此值。
- 补贴:包括您所在区域的政府实体提供的任何安装太阳能板的金钱补贴。
- 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计算每个返回的 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 的值。对于第一年之后的每一年,将效率折旧系数、成本增加系数和贴现率应用于相应值。
- 将所有年份的总数相加。
下表展示了如何计算电力生命周期成本的示例。每一行都表示太阳能装置使用寿命期间一年的电费。第一年之后,电费的增加和折扣率都会以指数方式应用。最后,所有行的总和是安装太阳能装置后的终身电费。
年 以当前本地货币价值(美元)表示的年度水电费账单 (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
针对每种安装规模,计算安装太阳能带来的总节省:
节省的费用 = 不安装太阳能时的电费 - 安装太阳能后的总费用
选择可节省最多空间的安装大小。
计算完成后
根据您提供的信息、Solar API 返回的信息以及上述计算结果,您应该能够建议太阳能安装尺寸,从而为您所在地区的家庭提供最大的成本节省。
在您向最终用户提供的建议中,还可以包含以下信息,这些信息由 API 在 solarPotential
字段的 SolarPotential
对象中返回:
- 住宅每年接收的可利用日照量,以
SolarPotential
对象的maxSunshineHoursPerYear
字段返回。 - 可用于安装太阳能设备的屋顶面积(平方英尺),该值在
SolarPotential
对象的wholeRoofStats
字段中返回。 - 家庭的平均每月电费。