kylianmallet/openflights
收藏Hugging Face2025-12-09 更新2025-12-20 收录
下载链接:
https://hf-mirror.com/datasets/kylianmallet/openflights
下载链接
链接失效反馈官方服务:
资源简介:
---
language: en
license: odbl
pretty_name: OpenFlights - Complete Dataset
tags:
- aviation
- airports
- routes
- airlines
configs:
- config_name: airlines
data_files:
- split: default
path: "airlines/data.parquet"
- config_name: airports
data_files:
- split: default
path: "airports/data.parquet"
- config_name: airports_extended
data_files:
- split: default
path: "airports_extended/data.parquet"
- config_name: countries
data_files:
- split: default
path: "countries/data.parquet"
- config_name: planes
data_files:
- split: default
path: "planes/data.parquet"
- config_name: routes
data_files:
- split: default
path: "routes/data.parquet"
---
<a name="readme-top"></a>
<!-- PROJECT LOGO -->
<br />
<div align="center">
<a href="https://openflights.org/data">
<img src="https://openflights.org/img/icon_favicon.png" alt="OpenFlights Logo" width="90" height="90">
</a>
<h1 align="center">OpenFlights - Complete Dataset</h1>
<p align="center">
A fully structured and Parquet-optimized version of the OpenFlights open aviation database.
<br />
<i>This dataset is redistributed for convenience. I am not the owner of the data. All source data is originally provided by OpenFlights.</i>
<br />
<a href="https://openflights.org/data">OpenFlights (Website)</a>
⸱
<a href="mailto:kylian.mallet@sklav.group">Contact Me</a>
</p>
</p>
</div>
---
<details>
<summary>Table of Contents</summary>
<ol>
<li><a href="#about-the-dataset">About the Dataset</a></li>
<li><a href="#datasets-structure">Datasets Structure</a></li>
<li><a href="#schema">Schema</a></li>
<li><a href="#usage">Usage</a></li>
<li><a href="#licensing--attribution">Licensing & Attribution</a></li>
<li><a href="#source">Source</a></li>
</ol>
</details>
## About the Dataset
This repository provides the OpenFlights database exported into **columnar Parquet format**, enabling efficient analysis, filtering, joins, and machine learning workflows.
It is designed as a multi-configuration dataset, where each table is stored as its own configuration with a single split named `default`.
Included data:
- Airports (basic + extended metadata)
- Airlines
- Routes between airports
- Aircraft models (planes)
- Countries with ISO codes
All Null/OpenFlights `\N` placeholders were converted to standard `NaN` values for clean schema typing.
<p align="right">(<a href="#readme-top">back to top</a>)</p>
## Datasets Structure
This dataset contains **6 subsets** :
| Configurations | Description |
|-----------|-------------|
| `airports` | All known airport infrastructure worldwide |
| `airports_extended` | Enhanced airport metadata (time zones, DST, categories, etc.) |
| `airlines` | Commercial & private airlines with active status |
| `routes` | Direct flight connections (airline + equipment info) |
| `planes` | Aircraft types and codes |
| `countries` | Country reference table (ISO 3166-1) |
Note : Each configuration has a single split: `default`.
Designed for relational joins using identifiers:
- `airlines.AirlineID` ↔ `routes.AirlineID`
- `airports.AirportID` ↔ `routes.SourceAirportID / DestinationAirportID`
<p align="right">(<a href="#readme-top">back to top</a>)</p>
## Schema
### Airports
- AirportID (int)
- Name (string)
- City (string)
- Country (string)
- IATA (string, nullable)
- ICAO (string, nullable)
- Latitude (float)
- Longitude (float)
- Altitude (int)
- Timezone (float)
- DST (string)
- TzDBTimezone (string)
### Airports Extended
> Same columns as `airports`, but typically higher data completeness and accuracy
- AirportID (int)
- Name (string)
- City (string)
- Country (string)
- IATA (string, nullable)
- ICAO (string, nullable)
- Latitude (float)
- Longitude (float)
- Altitude (int)
- Timezone (float)
- DST (string)
- TzDBTimezone (string)
### Airlines
- AirlineID (int)
- Name (string)
- Alias (string, nullable)
- IATA (string, nullable)
- ICAO (string, nullable)
- Callsign (string, nullable)
- Country (string, nullable)
- Active (string: "Y" / "N")
### Routes
- Airline (string)
- AirlineID (int, nullable)
- SourceAirport (string)
- SourceAirportID (int, nullable)
- DestinationAirport (string)
- DestinationAirportID (int, nullable)
- Codeshare (string, nullable)
- Stops (int)
- Equipment (string)
### Planes
> Referenced in routes using Equipment codes.
- PlaneID (int)
- IATA (string, nullable)
- ICAO (string, nullable)
- Name (string)
Notes:
- Some aircraft may only have IATA or ICAO codes
- PlaneID is an OpenFlights internal identifier
### Countries
> Used as reference for airports and airlines
- Name (string)
- CountryCode (string, nullable - ISO 3166-1 format)
Notes:
- Not all countries have official codes available
- Used for international standard alignment
<p align="right">(<a href="#readme-top">back to top</a>)</p>
## Usage
Load directly with 🤗 Datasets:
```python
from datasets import load_dataset
airports = load_dataset("kylianmallet/openflights", name="airports").get("default")
routes = load_dataset("kylianmallet/openflights", name="routes").get("default")
print(airports.head())
```
Efficient joins using pandas / Polars / Apache Arrow:
```python
import polars as pl
from datasets import load_dataset
d_airlines = load_dataset("kylianmallet/openflights", name="airlines").get("default")
d_routes = load_dataset("kylianmallet/openflights", name="routes").get("default")
airlines = pl.from_arrow(d_airlines.data.table)
routes = pl.from_arrow(d_routes.data.table)
joined = routes.join(
airlines,
left_on="AirlineID",
right_on="AirlineID",
how="left"
)
print(joined.head())
```
## Licensing & Attribution
This dataset is distributed under the **Open Database License (ODbL 1.0)**.
> I do not own or claim ownership of this data.
> Full copyright and database rights remain with **OpenFlights**.
If using this dataset in research or products, attribution to OpenFlights is required.
See: [https://opendatacommons.org/licenses/odbl/1-0/](https://opendatacommons.org/licenses/odbl/1-0/)
## Source
Original raw data collected and maintained by:
**OpenFlights**
[https://openflights.org/data](https://openflights.org/data)
Many thanks to the contributors who keep the dataset updated.
提供机构:
kylianmallet搜集汇总
数据集介绍

构建方式
在航空数据研究领域,OpenFlights数据库以其全面覆盖全球航班、机场及航空公司信息而著称。kylianmallet/openflights数据集对该数据库进行了系统性重构,将其原始数据转换为高效的列式Parquet格式,并按照逻辑主题划分为六个独立配置子集:airports、airports_extended、airlines、routes、planes及countries。每个子集均包含一个名为default的单一数据分片,便于按需加载。数据清洗过程中,所有原始占位符\N已被统一转换为标准的NaN值,确保了字段类型的整洁与一致性。该设计支持通过AirlineID、AirportID等关键标识符进行关系型连接操作。
使用方法
用户可通过HuggingFace的datasets库便捷地加载该数据集,例如使用load_dataset函数并指定配置名称(如airports)即可获取对应子集。加载后,数据可以无缝转换为Polars或Pandas DataFrame进行复杂分析。典型工作流包括:先加载airlines与routes子集,再通过AirlineID字段执行左连接操作,从而整合航班航线与对应航空公司的详细信息。此外,利用Apache Arrow的零拷贝特性,用户可在不同计算框架间高效传递数据,实现从数据加载到分析建模的端到端流水线。
背景与挑战
背景概述
OpenFlights数据集由开源航空数据平台OpenFlights于2005年左右发起并持续维护,旨在构建一个全面、开放的全球航空信息知识库。该数据集汇集了全球机场、航空公司、航线、飞机型号及国家代码等核心航空要素,为航空网络分析、路径规划、交通流量预测及地理信息系统研究提供了基础数据支撑。其影响力广泛,不仅服务于学术研究中的复杂网络与运筹学建模,还广泛应用于商业航空应用与数据可视化领域。kylianmallet/openflights版本进一步将原始数据转化为列式Parquet格式,优化了存储与查询效率,降低了大数据分析的门槛,推动了航空数据科学的发展。
当前挑战
该数据集面临的核心挑战在于数据质量与时效性的平衡。首先,航空领域数据更新频繁——航空公司合并、航线调整、机场代码变更等动态事件要求数据集必须具备持续同步机制,而OpenFlights依赖社区贡献,更新周期不固定,可能导致数据滞后或缺失。其次,构建过程中需处理原始数据中大量的占位符(如\N)与不一致的编码标准(如IATA与ICAO代码的互映射),这要求开发者设计鲁棒的清洗与标准化流程,以避免分析结果偏差。此外,跨表关联(如航线与机场、航空公司间的外键连接)时,空值或重复记录会引入复杂的数据完整性挑战,对机器学习模型的训练与推理构成潜在干扰。
常用场景
经典使用场景
在航空科学与交通地理学领域,OpenFlights数据集作为全球航空网络的标准化快照,被广泛用于构建航线拓扑、分析机场枢纽地位及航空公司运营模式。研究者常利用其多表关联结构(如机场、航线、航空公司),通过图论方法建模航班连通性,揭示全球航空流的空间分布规律与层级结构。该数据集尤以Parquet列式存储优化了大规模查询与特征工程,成为航空网络韧性评估、航班延误传播模拟及航线优化研究的经典基准数据源。
解决学术问题
该数据集有效解决了航空数据碎片化与异构性问题,为全球航线网络的结构特征刻画提供了统一、可复现的数据基础。学术研究中,它常被用于验证小世界网络与无标度网络理论在航空系统中的适用性,量化枢纽节点的中心性与脆弱性,并支撑航空气候影响评估(如碳排放路径追踪)。其跨表关联能力(如通过AirlineID连接航空公司与航线)使研究者能深入分析联盟效应、代码共享对网络效率的影响,推动了交通地理学与复杂系统科学的交叉进展。
实际应用
在实际应用中,OpenFlights数据集为航空物流规划、航线收益管理及应急响应系统提供了关键支撑。物流企业可基于机场坐标与航线数据优化货运路径,降低运输成本;航空公司利用活跃状态标记与机型信息,辅助运力调配与机队更新决策;旅行科技公司则通过其丰富的机场元数据(如时区、海拔)完善航班查询系统的地理定位精度。此外,该数据集还被整合至开源飞行模拟器与空中交通管理原型系统中,用于测试冲突检测算法与空域容量规划方案。
数据集最近研究
最新研究方向
基于OpenFlights数据集,当前航空领域的前沿研究方向聚焦于全球航线网络的动态演化建模与智能优化。随着后疫情时代航空业的复苏,该数据集凭借其涵盖全球机场、航线、航空公司及机型的多维度结构化信息,成为分析航线韧性、枢纽城市影响力变迁以及碳排放路径模拟的关键数据源。研究者通过将Parquet格式优化的数据与图神经网络、时空序列模型相结合,探索航班延误传播机制、应急航线重规划策略,并利用其丰富的元数据(如时区、DST)进行跨区域调度效率评估。此外,该数据集在开放数据库许可下的可用性,推动了开源航空情报研究,为预测新兴航线需求、评估航空公司联盟效应及优化低空经济下的无人机航线规划提供了标准化基准,其影响已延伸至交通运输政策分析与可持续航空燃料路线图的实证研究。
以上内容由遇见数据集搜集并总结生成



