About
EDDV – Hannover
EDVE – Braunschweig
EDVK – Kassel
EDLP – Paderborn
VVNB – Hà Nội
VVTS – Sài Gòn
ZSAM – 厦门 Xiamen

METAR – Aviation Weather

This is a demonstration of what one can do with LuaTeX. LuaTeX is an extension of Donald Knuth’s typesetting system with a Lua engine built-in.

Supported Airports

As said above, this is only a demo. The airports were chosen more or less randomly.

EDDV: Hannover-Langenhagen International Airport, Germany

EDVE: Braunschweig-Wolfsburg Airport, Germany

EDVK: Kassel Calden Airport, Germany

EDLP: Paderborn Lippstadt Airport, Germany

VVNB: Sân bay quốc tế Nội Bài, Hà Nội, Việt Nam

VVTS: Sân bay quốc tế Tân Sơn Nhất, Sài Gòn, Việt Nam

ZSAM: 厦门高崎国际机场, Xiamen Gaoqi International Airport, China

TeXnical Details

Data is collected by a texlua script from

https://tgftp.nws.noaa.gov/data/observations/metar/stations

Messages are downloaded, decoded, and stored as Lua data structures by a texlua script. There is one file per day and station. Since these files contain pure Lua code no parsing is needed before processing them. It’s necessary to download messages at least twice an hour because NOOA only provides the latest messages.

Typesetting is done with plain LuaTeX, a dedicated format file, and a custom Lua graphics library. The library provides functions with PostScript-like keywords and injects PDF code directly into the PDF file. This is by far the fastest way to insert complex data to a PDF file.

LuaTeX is amazingly fast. With x86_64 GNU/Linux and an Intel i7-7700K CPU a PDF file can be created within 70 ms. On a Raspberry 3 it takes 650 ms.

SVG files are derived from the PDF files. Conversion from PDF to SVG is done with pdf2svg.


Date: 2020-11-27 18:12:07 UTC reinhard.kotucha@gmx.de