Method: flights.computeScope3FlightEmissions

無狀態方法,可擷取一組航班航段的溫室氣體排放量估計值,用於範疇 3 報告。

回應會包含與輸入的Scope3FlightSegment航段相符的所有項目,順序與輸入時相同。系統會使用下列層疊邏輯計算預估值 (使用第一個可用的值):

  1. 根據 origindestinationcarrierflightNumberdepartureDatecabinClass 提供的 TIM 預估排放量。
  2. origindestinationdepartureDate 年和 cabinClass 的一般航班碳排放量。
  3. 使用 distanceKmdepartureDatecabinClass 計算的距離相關排放量。

如果今年度有未來的航班要求,我們不支援第 1 級排放量,將改用第 2 級或第 3 級排放量。如果要求的未來航班不在今年,我們會傳回空白的回應。建議您在日後的測試中使用 computeFlightEmissions API。

如果使用上述三種方法都無法預估特定航班的排放量,回應會傳回 Scope3FlightEmissions 物件,但排放量欄位會留空。但系統仍會將要求視為成功。一般來說,如果伺服器無法辨識航班 (例如沒有特定航班,或所選配對沒有一般航班排放量),就會發生預估排放量遺失的情況。

如有下列情況,要求會失敗並顯示 INVALID_ARGUMENT 錯誤:

  • 要求包含超過 1,000 個航班航段。
  • 輸入的航班航段缺少一或多個 ID。舉例來說,缺少來源/目的地,但沒有 TIM_EMISSIONSTYPICAL_FLIGHT_EMISSIONS 類型相符的有效距離,或是缺少 DISTANCE_BASED_EMISSIONS 類型相符的距離 (如要根據距離計算排放量或估算排放量,就必須指定距離)。
  • 航班日期在 2019 年之前 (範圍 3 資料僅適用於 2019 年和之後)。
  • 飛行距離為 0 或更短。
  • 缺少艙等。

由於系統會使用備用邏輯處理要求,因此設定錯誤的要求可能會使用備用方法傳回有效的排放量估計值。舉例來說,如果要求中的航班號碼有誤,但指定了起點和目的地,要求仍會成功,但系統只會根據一般航班的碳排放量傳回結果。同樣地,如果一般航班碳排放量要求缺少來源,但指定了有效距離,則要求可能會僅根據距離碳排放量成功。因此,請檢查回傳排放量的來源 (source),確認結果符合預期。

HTTP 要求

POST https://travelimpactmodel.googleapis.com/v1/flights:computeScope3FlightEmissions

這個網址使用 gRPC 轉碼語法。

要求主體

要求主體會包含結構如下的資料:

JSON 表示法
{
  "flights": [
    {
      object (Scope3FlightSegment)
    }
  ],
  "modelVersion": {
    object (ModelVersion)
  }
}
欄位
flights[]

object (Scope3FlightSegment)

必要欄位。要傳回預估排放量的航班。

modelVersion

object (ModelVersion)

(選用步驟) 計算這項要求中所有航班預估排放量時使用的模型版本。

回應主體

內含第 3 類排放量估計值的航班清單。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "flightEmissions": [
    {
      object (Scope3FlightEmissions)
    }
  ],
  "modelVersion": {
    object (ModelVersion)
  }
}
欄位
flightEmissions[]

object (Scope3FlightEmissions)

列出各個航段的預估排放量。

modelVersion

object (ModelVersion)

計算這項回應中所有航班預估排放量時所用的模型版本。

Scope3FlightSegment

用來擷取第 3 範疇排放量的航班參數。

JSON 表示法
{
  "departureDate": {
    object (Date)
  },
  "cabinClass": enum (CabinClass),
  "origin": string,
  "destination": string,
  "carrierCode": string,
  "flightNumber": integer,
  "distanceKm": string
}
欄位
departureDate

object (Date)

必要欄位。航班日期,以出發地機場的時區為準。一般航班和距離的碳排放量模型只需要年份 (系統會忽略月份和日期值,因此可以省略、設為 0 或設為有效日期)。因此,如果未提供特定日期的 TIM 排放量,我們會改用一般航班 (或以距離為準) 的排放量。

cabinClass

enum (CabinClass)

必要欄位。航班的艙等。

origin

string

(選用步驟) 航班出發地機場的 IATA 代碼,例如 YVR。如果同時提供目的地、航空公司和航班編號,系統就會使用這項資訊比對特定航班。如果沒有相符的航班,系統會先嘗試比對提供的出發地和目的地機場之間的一般航班。否則,如果提供航班距離,我們會使用以距離為準的排放量模型。

destination

string

(選用步驟) 航班目的地的 IATA 機場代碼,例如 ICN。如果一併提供出發地、航空公司和航班號碼,系統就會使用這項資訊比對特定航班。如果沒有相符的航班,系統會先嘗試比對提供的出發地和目的地機場之間的一般航班。否則,如果提供航班距離,我們會使用以距離為準的排放量模型。

carrierCode

string

(選用步驟) IATA 航空公司代碼,例如 KE。如要比對特定航班,就必須提供這項資訊。否則,這項資料不會用於一般航班和距離的排放量模型。這可以是承運和銷售航空公司代碼 (即涵蓋代碼共用)。

flightNumber

integer

(選用步驟) 航班編號,例如 71。如果指定出發地、目的地和航空公司,系統會先使用這項資訊比對特定航班。如果未指定航班號碼,系統會先嘗試比對航班與所提供出發地和目的地機場之間的典型航班。如果失敗,且/或未提供起點和目的地,我們會根據提供的飛行距離,使用以距離為準的排放量模式。

distanceKm

string (int64 format)

(選用步驟) 以公里為單位的距離,例如 2423。如果未提供出發地和目的地,或沒有相符的典型航班,系統就會使用這項資料,根據距離計算航班的排放量。這個欄位支援的值介於 0 到 2.5e16 公里之間。

CabinClass

航班的艙等。

列舉
CABIN_CLASS_UNSPECIFIED 未指定艙等。
ECONOMY 經濟艙。
PREMIUM_ECONOMY 豪華經濟艙。
BUSINESS 商務艙。
FIRST 頭等艙。

Scope3FlightEmissions

範圍 3 航班的預估排放量。

JSON 表示法
{
  "flight": {
    object (Scope3FlightSegment)
  },
  "wtwEmissionsGramsPerPax": string,
  "ttwEmissionsGramsPerPax": string,
  "wttEmissionsGramsPerPax": string,
  "source": enum (Scope3DataType)
}
欄位
flight

object (Scope3FlightSegment)

必要欄位。與要求中的航班 ID 相符。

wtwEmissionsGramsPerPax

string (int64 format)

(選用步驟) 根據要求提供的資訊,每位乘客的航班排放總量 (油井到油箱和油箱到尾流的排放量總和)。這是排放總量,除非有使用 TTW 或 WTT 排放量的具體原因,否則應使用這個數字。

ttwEmissionsGramsPerPax

string (int64 format)

(選用步驟) 根據要求資訊,計算每位乘客的油箱到尾流飛行排放量。

wttEmissionsGramsPerPax

string (int64 format)

(選用步驟) 根據要求資訊,計算每位乘客的「油井到油箱」航班排放量。

source

enum (Scope3DataType)

(選用步驟) 排放量資料的來源。

Scope3DataType

用於計算範疇 3 排放量的比對類型。用於範圍 3 回應,標示用於計算排放量的方法。

列舉
SCOPE3_DATA_TYPE_UNSPECIFIED 未指定資料類型。
TIM_EMISSIONS 根據出發地、目的地、航空公司、航班號碼、出發日期和年份,計算出以 TIM 為單位的排放量。
TYPICAL_FLIGHT_EMISSIONS 根據出發地、目的地和年份計算的一般航班碳排放量。
DISTANCE_BASED_EMISSIONS 根據行駛距離和年份計算的排放量。