航班二氧化碳计算器
此插件提供了一组类,可用于
- 从 OpenFlights.org 数据集 加载机场列表。
- 根据整个机场数据集查找匹配搜索查询的机场。
- 计算航班的距离和二氧化碳排放量。
你可以用它来做什么
构建一个类似这样的航班二氧化碳计算器应用程序

如何使用它
加载数据
List<Airport> airports = await AirportDataReader.load('data/airports.dat');
创建一个 `AirportLookup` 服务
final airportLookup = AirportLookup(airports: airports);
搜索匹配查询的机场
List<Airport> results = airportLookup.searchString(query);
计算距离和二氧化碳排放量
class FlightCalculationData {
FlightCalculationData({this.distanceKm, this.co2e});
final double distanceKm;
final double co2e;
}
FlightCalculationData _calculate(FlightDetails flightDetails) {
double distanceKm;
double co2e;
Airport departure = flightDetails.departure;
Airport arrival = flightDetails.arrival;
if (departure != null && arrival != null) {
double multiplier =
flightDetails.flightType == FlightType.oneWay ? 1.0 : 2.0;
distanceKm = DistanceCalculator.distanceInKmBetween(
departure.location, arrival.location);
distanceKm = CO2Calculator.correctedDistanceKm(distanceKm);
co2e =
CO2Calculator.calculateCO2e(distanceKm, flightDetails.flightClass) *
multiplier;
}
return FlightCalculationData(distanceKm: distanceKm, co2e: co2e);
}
示例
查看项目中捆绑的示例航班二氧化碳计算器应用程序,位于 `example` 文件夹中。