GNU/Linux 航空指南

使用 GNU/Linux 进行飞行

Nicolas Dufour

John Petterson

本文档旨在为飞行员(私人、商业或军用)、航空公司、机场或航空领域的任何参与者提供在 GNU/Linux 下运行的有用软件包的指南。我希望鼓励大家为本文档做出贡献,无论是提供现有软件的指南,还是为 GNU/Linux 编写新的应用程序。


目录
引言
1. 受众
2. 修订历史
3. 贡献
4. 反馈
5. 版权信息
1. 飞行
1.1. 计划
1.2. GPS
1.3. 滑翔
1.4. 分析和飞行日志
1.5. 天气
2. 航空公司
3. 机场
3.1. SMS
4. 模拟
4.1. 飞行模拟器
4.2. 导航辅助
4.3. 其他
5. 培训
5.1. PilotPal
5.2. NeoKit
6. 数据来源
6.1. 环境
6.2. 动态流
6.3. 地理来源
7. 网站和目录
7.1. Open-Aero.org
A. 关于作者
B. 使用的缩写
术语表

引言

航空业务和运动与任何人类努力一样,都是至关重要的。飞行员对其飞机的设计精良、符合人体工程学、可预测、可靠和操作安全抱有内在的期望。经认证的飞机的设计和制造符合工程和质量标准,这些标准远远超过任何其他消费品。在我看来,任何用于航空相关应用的计算环境都应达到类似的高标准。我也相信开放软件开发模式和 GNU/Linux 操作系统是满足如此高标准的计算环境,具有最大的潜力。

本文档旨在为飞行员(私人、商业或军用)、航空公司、机场或航空领域的任何参与者提供在 GNU/Linux 下运行的有用软件包的指南。本版本中提到的大多数软件包都是可自由分发的,并附带源代码。但是,我将很乐意收录来自任何 GNU/Linux 友好供应商的商业产品的条目。

我个人的兴趣中心是空中交通流量管理,因为我曾在欧洲航空安全组织工作近 4 年,提供模拟以提高欧洲天空的安全性和效率。我曾经想成为一名飞行员,但由于色盲,我不得不放弃了这个想法。我现在在美国和欧洲的交通管理领域工作,看到两者之间的差异以及创造这些差异的历史,这令人兴奋。

本文档中每个软件指南都包含对软件的简要描述、作者信息、查找位置以及在某些情况下用户评论。为了简洁起见,当源代码或二进制文件可以通过软件主页上相当明显的链接获得时,我没有包含指向源代码或二进制文件的明确链接。


1. 受众

本文档是为航空领域的所有参与者编写的:飞行员(私人或专业人士)、航空公司、机场、ATC 实体等。


2. 修订历史

修订历史
修订版 2.22006-09-27修订者:nd
更新和添加了新的应用程序。
修订版 2.12006-03-13修订者:nd
更新和添加了新的应用程序。
修订版 2.02005-05-21修订者:nd
新版本和整个文档的重写。
修订版 1.52005-01-15修订者:jp
为 Gpsdrive、GPLIGC、JFlight 和 KFlog 软件包添加了新的条目。更新之间间隔五年实在是太荒谬了,是时候将本指南交给更有时间的人了!
修订版 1.42000-10-14修订者:jp
为 AirLog 飞行日志软件包添加了一个新条目。在嵌入式硬件部分添加了一些额外的参考资料,以及关于 iPaq 手持设备上 GNU/Linux 可用性的简短介绍。更新了作者的联系信息(新的电子邮件地址)。
修订版 1.3修订者:jp
添加了一个关于硬件的小节,主要是指向其他资源的链接。我还为几个新发现的软件包添加了条目;Gpsd、GPSMan 和 JEEPS。
修订版 1.2修订者:jp
我添加了一些新的和更集中的应用程序类别。对于其中一些类别,我添加了指向其他信息资源的链接,这些资源从更通用和非 Linux 特定的角度解决了与该特定应用程序领域相关的问题。还为几个新发现的软件包添加了条目。我删除了对 Linux 文档项目的引用,维护人员始终没有以任何方式回复我将本文档添加到存档的请求?
修订版 1.1修订者:jp
添加了关于 linux-aviation 邮件列表的信息。语法上的一些小改动,以及一大堆对我一直以来滥用标点符号的更正。感谢我的好朋友 David Moore 提出的这些更正。
修订版 1.0修订者:jp
首次公开发布。


3. 贡献

感谢本文档的原始作者 John C. Peterson 及其支持。


4. 反馈

缺少信息、缺少链接、缺少字符?请发送邮件至本文档的维护者


5. 版权信息

本文档,GNU/Linux 航空指南,版权归 Nicolas Dufour 所有 (c) 2005-2006。

根据自由软件基金会发布的 GNU 自由文档许可证 1.1 版或任何后续版本的条款,允许复制、分发和/或修改本文档;不包含不变章节,不包含封面文本,也不包含封底文本。许可证副本可在 https://gnu.ac.cn/copyleft/fdl.html 获取。

Linux 是 Linus Torvalds 的注册商标。

Java 是 Sun Microsystems Inc. 的注册商标。


第 1 章. 飞行

1.1. 计划

1.1.1. fplan

fplan 应用程序旨在协助通用航空飞行员为动力飞机的越野飞行创建飞行计划。它读取一个包含飞行描述的计划文件:起飞和目的地机场、导航辅助设备、中间航路点、高空风、燃油消耗率,并生成一个飞行计划,包括风修正磁航向、距离、每段航线的预计时间和燃油消耗量、纬度、经度和每个检查点的 VOR 定位等。在具有 X11 Windows 和 XView 工具包的系统上,可以进行飞行的图形预览。


1.1.2. 飞行导航计划器

飞行导航计划器允许您根据已知的机场、导航辅助设备、定位点或城市制定飞行计划。您可以使用区域图、WAC 或矢量/地形规划图。它可以计算航向、风、时间和燃油。它具有基于航线的自动路由、爬升和下降计算(基于飞机类型)、燃油停留计划、绕 MOAS 和限制空域自动路由、高分辨率天气雷达叠加、查看当前区域图、WAC 和 IFR 图、查看 TFR 上方的航线的能力、航线上详细的 NEXRAD 雷达叠加、带有云底高度的地形剖面,以及将飞行计划上传到 GPS 的能力。


1.1.3. FlyWay

Flyway 允许用户查找和输入美国航路点(机场、导航辅助设备和定位点),然后计算航线、风修正和飞行时间。提供有关航路点的信息(包括频率、海拔、燃油可用性和跑道描述)。航线数据也可以用于填写可编辑的 FAA 飞行计划表格,从互联网获取基本天气信息,并显示非常粗略的地图。


1.1.4. OpenFlyers

OpenFlyers 是一个飞机(飞机、滑翔机、超轻型飞机等)在线预订系统,为飞行俱乐部以及更广泛地为需要共享一架或多架飞机计划的每个人开源。

此预订系统基于 PHP 语言和 MySQL 数据库。它是开源的(在 GPL 许可下),可以免费下载。


1.2. GPS

1.2.1. ChartPlotter

ChartPlotter 是一个基于 Java 的移动地图程序,用于支持 NMEA 通信协议(GPGLL 语句)的 GPS 设备。ChartPlotter 可以与用户扫描并以 JPEG 格式保存的图表一起使用。该程序借助 2-4 个已知的参考点,将纬度、经度值转换为栅格图像上的位置。

待办事项清单上的第一项是一个转换器程序,以便我们可以使用 BSB 格式的图表。据我所知,周围有这样的程序,但我需要修改 chartplotter 程序,使其能够读取转换程序的输出。

待办事项清单上的第二项是读取 GSHHS(全球自洽分层高分辨率海岸线),可在 www.ngdc.noaa.gov 上找到。

  • 作者:Rikard 和 Henrik Bjorkman

  • 最新版本:0.46,2005 年 9 月

  • 版权GPL

  • 主页http://www.eit.se/chartplotter/

  • 路线图:

    待办事项清单上的第一项是一个转换器程序,以便我们可以使用 BSB 格式的图表。据我所知,周围有这样的程序,但我需要修改 chartplotter 程序,使其能够读取转换程序的输出。

    待办事项清单上的第二项是读取 GSHHS(全球自洽分层高分辨率海岸线),可在 www.ngdc.noaa.gov 上找到。


1.2.2. GPSd

gpsd 是一个服务守护进程,用于监视连接到主机并通过串行或 USB 端口连接的 GPS,使其关于传感器位置/航向/速度的数据可以通过主机计算机的 TCP 端口 2947 进行查询。借助 gpsd,多个 GPS 客户端应用程序(例如导航和无线网络入侵软件)可以共享对 GPS 的访问,而不会发生争用或数据丢失。此外,gpsd 的响应查询格式比大多数 GPS 发出的 NMEA 0183 更容易解析。gpsd 发行版包含一个可链接的 C 服务库和一个 Python 模块,gpsd 感知应用程序的开发人员可以使用它们来封装与 gpsd 的所有通信。


1.2.3. GpsDrive

GpsDrive 是一个汽车(自行车、轮船、飞机)导航系统。GpsDrive 在可缩放地图上显示您的位置(由支持 NMEA 的 GPS 接收器提供),地图文件根据位置和首选比例自动选择。如果 "festival" 软件正在运行,则支持语音输出。地图根据您的位置自动选择最佳分辨率,并且可以从互联网下载。所有带有串行输出的 Garmin GPS 接收器都应该可用,其他支持 NMEA 协议的 GPS 接收器也应该可用。

GpsDrive 使用 GTK+ 图形工具包以 C 语言编写,并在 Linux 和 FreeBSD 上运行。


1.2.4. GPSMan

GPS Manager (GPSMan) 是一个图形地理数据管理器,它为 GPS 接收器中使用的航路点、航线和航迹数据的准备、检查和编辑提供了一个用户友好的图形环境。GPSMan 支持各种派生计算,例如从一个航路点到另一个航路点的距离和方位角、航迹中航路点之间的航向和距离等。GPSMan 可以使用多种投影中的一种绘制比例制图地图,并在地图上绘制航路点、航线和航迹数据。地图可以以 Postscript 格式保存以进行打印。GPSMan 是一个独立的 Tcl/Tk 程序,专为家庭使用而设计(与实时使用相反)。GPSMan 当前支持与 Garmin 和 Lowrance 接收器的通信。


1.2.5. Elgaard 定位系统

Elgaard 定位系统是一个基于 Java 的应用程序,专为与 GPS 接收器配合使用而设计。它提供了一个接口功能:可以从具有 NMEA 格式输出的设备保存航迹。对于支持专有 Garmin 协议的设备,EPS 可以上传和下载航路点、航线和航迹。它还可以显示用户扫描的图表,具有交互式缩放、滚动、航迹叠加功能,并且可以计算距离和速度。EPS 在任何与 Java API 1.1 版本兼容的 JVM 平台上运行。


1.3. 滑翔

1.3.1. GPLIGC

GPLIGC 是一个根据 GNU 通用公共许可证许可的应用程序,用于分析 IGC 数据文件,例如 GNSS 飞行数据记录器生成的文件。(从记录器设备下载数据和/或转换为 IGC 格式必须使用其他软件完成)。GPLIGC 可以计算各种统计数据,例如热气流爬升率和滑翔比率。原始数据或派生统计数据的绘图通过 Gnuplot 应用程序完成。

发行版中还包括 openGLIGCexplorer,这是一个 openGL 应用程序,用于在阴影地形图上以 3 维方式可视化飞行轨迹(假设数字高程数据可用)。


1.3.2. IGCview

IGCview 是一个 Java 应用程序,专为想要显示和分析 FAI IGC 或 Gardown 格式的 GPS 日志文件的滑翔飞行员而设计。两种格式都包含带时间戳的纬度和经度值的简单 ASCII 记录。IGC 格式还包含高度信息(压力和/或 GPS)和任务(航线)。IGCview 还可以导入 Gardown 格式文件并将其导出为 IGC 格式。

该程序完全面向查看滑翔飞行产生的 GPS 日志轨迹。您可以检查其他轨迹,但分析不会特别有用。它可以计算诸如以下量:起点到终点、平均任务和单段航线速度、爬升率、升阻比等。它还可以读取和详细比较多次飞行,使其成为越野和竞赛型滑翔飞行员非常有用的学习工具。


1.3.3. JFlight

JFlight 是一个基于 Java 的应用程序,专为悬挂式滑翔机和滑翔伞飞行员开发,以协助飞行前任务计划和飞行后 GPS、气压高度表、变异仪数据的分析。(它也应该对全尺寸滑翔机飞行员有用)。飞行日志功能提供了一种航路点和航线管理机制。飞行轨迹可以在简单的显示器上查看。


1.3.4. KFLog

KFLog 是一个面向滑翔飞行员的开源程序。它为您提供了一个强大的工具来计划您的飞行任务并在之后分析您的飞行。

KFLog 是唯一可用于 GNU/Linux 的飞行分析程序,并获得 FAI IGC 的认可。

KFLog 将飞行投影到数字矢量地图上,该地图不仅包含机场和空域,还包含完整的海拔地图、道路、城市、河流和许多其他有趣的物体。


1.4. 分析和飞行日志

1.4.1. Airlog

Airlog 是一个飞行日志系统,旨在满足滑翔飞行员和学生的独特需求。基于 Java 的客户端允许多个用户访问公共数据库(为 Instant DB、PostgreSQL 和 Oracle 数据库系统提供了接口驱动程序)。参考完整性用于确保数据的有效性。启用多用户功能后,用户对公共数据库的访问将通过启动时呈现的登录名、密码表单进行身份验证。

Airlog 还支持公共数据库的搜索,以及报告生成功能。“培训晴雨表”和“速度输入”报告旨在帮助教员和学生进行培训过程。“适合飞行,指导”报告计划在未来的版本中发布。

Airlog 在丹麦开发,重点关注丹麦法规,但从一开始就进行了本地化。只需为所需的语言提供“消息文本目录”即可支持其他语言(为丹麦语和英语提供了目录)。


1.5. 天气

1.5.1. pyRadar

pyRadar 从 NOAA 的 NEXRAD 雷达站检索并显示雷达图像,这些雷达站位于美国及其领土周围。这些图像代表美国公众发布到公共领域。


1.5.2. WeatherCheck

WeatherCheck 是一个使用 Java Swing 的程序,用于提示输入美国邮政编码并显示来自国家气象局的当地预报。它还提供扩展预报和 dBZ 雷达信息。


第 2 章. 航空公司

待完成。


第 3 章. 机场

3.1. SMS

地面管理系统 (SMS) 提高了机场地面运行的共享态势感知能力,在空中交通管制塔台 (ATCT)、停机坪塔台、在机场运营的航空公司以及各种机场管理机构和其他 ATC 设施之间。通过提高态势感知能力并为机场地面交通管理提供工具,SMS 提高了机场地面运行的效率和灵活性。


第 4 章. 模拟

4.1. 飞行模拟器

4.1.1. FlightGear

FlightGear 飞行模拟器项目是一个开源、多平台、合作的飞行模拟器开发项目。整个项目的源代码均可用,并根据 GNU 通用公共许可证获得许可。

FlightGear 项目的目标是创建一个复杂的飞行模拟器框架,用于研究或学术环境,用于开发和追求其他有趣的飞行模拟想法,并作为最终用户应用程序。


4.1.2. X-Plane

X-Plane 是一款飞行模拟器,它可以读取任何飞机的几何形状,然后计算出该飞机将如何飞行。它通过称为“叶片元素理论”的工程过程来实现这一点,该过程涉及将飞机分解为许多小元素,然后每秒多次查找每个小元素上的力。然后将这些力转换为加速度,然后将加速度积分到速度和位置。这使得 X-Plane 成为个人计算机上可用的最真实的飞行模型。


4.1.3. JSBSim 飞行动力学模型

JSBSim 是一个面向对象 (C++)、多平台、6 自由度、飞行动力学模型 (FDM)。它可以作为独立的批处理模式飞行模拟器(没有图形显示)运行,也可以与 FlightGear 或其他飞行模拟器集成。


4.1.4. IFT

IFT 是一个为训练没有仪表飞行经验的飞行员而编写的小型飞行模拟器。它包括几个 VOR 和 NDB 站和显示器。这些可用于练习基本的无线电导航技能。

它是在 GNU/Linux 上制作和测试的,但它应该在所有 Unix 系统上工作,因为它只使用了 X11 库。


4.2. 导航辅助

4.2.1. Atlas

Atlas 旨在为开源飞行模拟器 FlightGear 的用户生成和显示高质量的世界地图。这通过两个主要部分来实现:地图创建器(简称为 Map)和 Atlas 查看器。


4.2.2. OpenGC

OpenGC 是一个多平台、多模拟器、开源 C++ 工具,用于为模拟驾驶舱开发和实施高质量的玻璃驾驶舱显示器。我们的目标很简单:支持所有广泛可用的飞行模拟器、所有广泛可用的操作系统,并提供一系列仪表,反映飞行模拟社区内多样化的兴趣。我希望您喜欢 OpenGC,并鼓励您以任何可能的方式做出贡献!


4.2.3. A340GC

玻璃驾驶舱库 (libGC) 是为空中客车 A340 玻璃驾驶舱 (a340gc) 创建的,a340gc 是一个开源项目。a340gc 项目是 IRADIS 基金会的空中客车 A340 模拟器项目的一部分。libGC 和 a340gc 的目标是创建一个免费框架,可用于构建玻璃驾驶舱。

这只是 Iradis 开展的更大项目的一部分,旨在创建一个具有完整视野的逼真 A340 驾驶舱。有关更多详细信息,请参阅此网站


4.3. 其他

4.3.1. Tim 的空中导航模拟器

这是一个 Java 小程序,模拟 ADFVOR 仪器的操作。画布显示了假设飞机的位置和两个地面导航辅助设备(可以使用鼠标拖动到任意位置)。仪器显示器显示飞行员在相应情况下会看到的内容。如果您想将其安装在自己的机器上,可以下载小程序代码。


第 5 章. 培训

5.1. PilotPal

PilotPal 是一个 Java 小程序,旨在帮助(学生)飞行员准备美国 FAA 笔试。最新版本为私人飞行员和仪表考试提供了学习问题。如果您没有到互联网的高带宽连接,您可能需要下载该小程序并将其安装在自己的机器上。


5.2. NeoKit

描述

  • NeoKit © 是一个计算机辅助培训环境,专门用于空中交通管制和管理软件的初始培训。

  • NeoKit © 工具涵盖整个培训周期:场景准备、动态和交互式培训(具有录制和回放功能)以及用于分析和汇报的可自定义报告工具。

  • NeoKit © 是在 Java 平台环境下开发的,因此在任何操作系统(GNU/Linux、Windows 等)上都具有完全的互操作性。

  • 通过 NeoKit © 的整套 Java API,可以轻松开发专用于其他业务领域(例如,海事、军事)的特定插件。

功能

  • 计算机辅助培训工具。

  • 轻量级 ATCATM 模拟平台。

  • 分布式基于事件的离散模拟引擎。

  • MCQ-SQC 对话引擎。

  • 用于学员进度跟踪的自定义报告。

  • 基于 Java。

  • XML 数据输入和输出。


第 6 章. 数据来源

数据来源当然比您可以使用的工具更重要。特别是这些数据的质量。

我们可以在这里将数据分为两大类

通常,第二种类型是在第一种类型的帮助下计算出来的,因此非常重要的是要注意环境数据的准确性:正确的地理位置(纬度、经度)、根据活动更新的半静态数据(机场的当前容量),甚至新飞机的新的性能数据。


6.1. 环境

6.1.1. DAFIF

数字航空飞行信息文件(或 DAFIF)是一组文件,其中包含有关机场、导航辅助设备、航路点、特殊用途空域以及与全球飞行相关的其他事实的数据。这些数据由美国军方通过 国家地理空间情报局 (NGA) 提供,主要为军事航空作战的利益而开发,但也向公众开放。

除了美国(也由 FAA 提供的数据覆盖)之外,它通常是飞行员可用的唯一全面的数字数据。其他国家要么根本不提供数字数据,要么通过专有的 Web 界面或不可重用的格式(例如纸质文档扫描的 PDF 文件)来提供。即使在美国境内,DAFIF 中也提供了一些 FAA 数据中没有的数据。例如,navaid.com 数据库生成器使用 DAFIF 数据来查找阿拉斯加、夏威夷、波多黎各和其他地方的机场的 ICAO 标识符,在这些地方,3 个字母的 FAA id 不足以生成 ICAO id。

注意! 由于多种原因,此来源将于 2006 年 10 月从公共访问中删除。请查看 此处 了解更多详情并支持 DAFIF 的存在。您也可以帮助创建替代解决方案 此处


6.2. 动态流

6.2.1. LiveATC

该网站旨在为那些喜欢收听实时空中交通管制 (ATC) 的人提供资源……航空爱好者、学生飞行员、学生空中交通管制员、飞行模拟爱好者、FBO 运营商、航空公司运营商以及任何对航空通信感兴趣的人。

一个聆听、发现,或许还可以学习语言的好网站。他们提供美国、加拿大、墨西哥、欧洲、澳大利亚、哥伦比亚,甚至荷属加勒比地区的多个直播源!


6.3. 地理来源

待完成。


第 7 章. 网站和目录

7.1. Open-Aero.org

这个新网站旨在维护航空领域的开源项目的最新列表,并帮助维护当前的指南。


附录 A. 关于作者

我于 1973 年出生在 蒙圣艾南 小镇,靠近 鲁昂,位于 诺曼底 (法国)。我在法兰西岛南部(巴黎附近的地区)长大,周围是小麦和玉米田 :-) 和一家糖厂,我过去常常在那里散步,闻着和吃着糖。

我一直对科学,特别是地质学很感兴趣,获得了地球物理/地球化学学士学位 (BA),并尝试获得下一个学位,但转到了另一个方向:计算机科学。1998 年,我在巴黎获得了应用于地球科学的计算机科学硕士学位。

我的第一份工作是在 欧洲控制,这极大地改变了我的生活。即使我曾在斯伦贝谢(一家大型石油服务公司)工作过 6 个月,我现在也在一家法国小公司(尼奥梅特西斯)工作了 6 年,从事航空领域的工作。


附录 B. 已用缩略语

当前文档中使用的缩略语及解释。

词汇表

A

ADF

自动定向仪

接收和解释 NDB 信号的导航仪器。

ATC

空中交通管制

ATM

空中交通管理

B

BSD

BSD 许可证

详情请见此处

F

FAA

美国联邦航空管理局

详情请见此处

G

GPL

GNU 通用公共许可证

详情请见此处

N

NDB

无方向信标

V

VOR

甚高频全向信标

对导航非常有用的信标。