本節說明如何進行計算,以便為美國以外地區的住家找出最佳太陽能配置。如要計算建議,您需要使用 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)。如果面板功率額定值為 200 瓦,請將 yearlyEnergyDcKwh
乘以 200/400 或 0.5。
產生過多能量
太陽能裝置可能產生的過剩能源不在 Solar API 的計算範圍內。事實上,如果 Solar API 為特定住戶傳回多個可能的 SolarPanelConfig
執行個體,Solar API 就不會考慮產生電力超過 FinancialAnalysis
中假設的美國家庭平均用電量的結果或設定。
不過,您可能基於某些原因,希望在建議中納入發電量過多的裝置。舉例來說,您可能想在安裝作業的初期允許超額生產,藉此抵銷面板效率的逐漸下降 (efficiencyDepreciationFactor)。詳情請參閱「財務分析的必要值」。
無論原因為何,如果您在計算中納入產生過剩電力的太陽能裝置,請注意,本文說明的計算方式不適用於這種情況。
非美國地區的財務分析必要值
在 API 回應中,您需要從每個 SolarPanelConfig
執行個體取得兩個值,才能對該執行個體執行財務分析:
panelsCount
:裝置中的太陽能板數量。您會在計算installationSize
時使用這個值。yearlyEnergyDcKwh
:在特定panelsCount
的情況下,版面配置一年可擷取的太陽能,以直流電千瓦時為單位。 您可以在計算住家可用的太陽能交流電 (initialAcKwhPerYear
) 時使用這個值,並考量從直流電轉換為交流電時的能源損耗。installationSize
此外,您還需要收集下列變數的特定位置值,以用於計算:
- 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)
- 計算 annualKWhEnergyConsumption,方法是將 monthlyKWhEnergyConsumption 乘以 12:
annualKWhEnergyConsumption = monthlyKWhEnergyConsumption x 12
取得目標住家的 API 回應:
https://solar.googleapis.com/v1/buildingInsights:findClosest?location.latitude=lat-number&location.longitude=long-number&key=yourAPIKey
回覆內容包括可用的日照量、屋頂空間,以及一或多種可能的太陽能板配置。
計算 API 建議的每個
installationSize
yearlyEnergyDcKwh
SolarPanelConfig
執行個體每年產生的太陽能交流電,方法是將 API 提供的每個SolarPanelConfig
執行個體值乘以當地dcToAcDerate:initialAcKwhPerYear =
yearlyEnergyDcKwh
x dcToAcDerate視需要從考量範圍中移除任何
SolarPanelConfig
發電量超過家庭年耗電量的執行個體 (initialAcKwhPerYear > annualKWhEnergyConsumption)。計算每個傳回 installationSize 的生命週期太陽能發電量 (LifetimeProductionAcKwh):
- 針對太陽能裝置的每年使用壽命,計算裝置每年產生的電量,並在第一年後,每年以指數方式套用efficiencyDepreciationFactor。
- 加總所有年度的金額。
下表提供計算生命週期能源產量的範例,假設installationLifeSpan為 20 年。每一列代表一年的產量。第一年過後,效率會呈指數下降。最後,所有列的總和就是太陽能裝置的生命週期發電量。
年 每年太陽能發電量 (kWh) 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
欄位。 - 住家每月平均電費。