Method: flights.computeScope3FlightEmissions

用于检索一组飞行段的温室气体排放量估计值以进行范围 3 报告的无状态方法。

响应将包含与输入 Scope3FlightSegment 航班段匹配的所有条目,并按提供的顺序排列。系统将使用以下级联逻辑(使用第一个可用的逻辑)计算估计值:

  1. 基于 TIM 的排放量(给定 origindestinationcarrierflightNumberdepartureDatecabinClass)。
  2. 给定 origindestination、年份(departureDate)和 cabinClass 的典型航班排放量。
  3. 使用 distanceKmdepartureDate 中的年份和 cabinClass 计算的基于距离的排放量。

如果此日历年内有未来航班请求,我们不支持 Tier 1 排放,并将回退到 Tier 2 或 3 排放。如果所请求的未来航班不在当前日历年内,我们将返回空响应。我们建议在未来的航班中使用 computeFlightEmissions API。

如果无法通过任何一种方法估算特定航班的碳排放量,响应将返回一个包含空排放量字段的 Scope3FlightEmissions 对象。相应请求仍会被视为成功。一般来说,如果服务器不知道相应航班(例如,不存在特定航班,或者没有所请求的配对的典型航班排放量),则会缺少排放量估算值。

如果出现以下情况,请求将失败并显示 INVALID_ARGUMENT 错误:

  • 相应请求包含的航班段超过 1,000 个。
  • 输入的航班段缺少一个或多个标识符。例如,缺少起点/终点,且没有有效的距离(对于 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)

必需。匹配请求中的实验标识符。

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 基于行驶距离和年份的排放量。