Daten beziehen

Alles, was Tally transportiert, ist offen. Es gibt zwei Wege, es zu lesen: ein Relay für die Streams abonnieren oder die öffentliche API nach aktuellen Flugzeugen und Stationszahlen fragen.

Über ein Relay

Ein Abonnent verbindet sich mit einem Relay wie ein Feeder, über denselben verschlüsselten Transport, und sendet Subscribe, um seine Streams und Regionen zu wählen. Eine Region ist eine H3-Zelle beliebiger Auflösung, abgeglichen mit dem Ort, den jeder Empfänger für sich angibt. Vor dem ersten Subscribe erhält er die Roh-Batches aller Empfänger.

  • Roh: die signierten Batches jedes Empfängers, nach Region, für das MLAT der Relays und für Forschung. Eine Region ist der Ort, an dem der Empfänger nach eigener Angabe steht, nie der Ort eines Flugzeugs.
  • Dedupliziert: eine Kopie jeder Mode-S-Nachricht, vom Relay als eigene Aussage signiert. Das ist der Stream, den die meisten Clients wollen, etwa 30 Mbit/s für die ganze Welt bei 20.000 Empfängern.
  • Positionen: Flugzeuge, die das MLAT der Relays geortet hat, jeweils signiert von dem Relay, das sie berechnet hat.

Um sie mit gewöhnlichen Werkzeugen zu lesen, betreibe dein eigenes Relay mit --beast-out und richte readsb darauf. Jeder Empfang kommt als reines BEAST an, und readsb dekodiert die Welt für dich.

Über die API

tally-api stellt neben einem Relay JSON zum reinen Lesen bereit:

GET /v1/aircraft?west=&south=&east=&north=

Flugzeuge in einem Rechteck aus Breiten- und Längengraden, höchstens 60 Grad je Seite.

GET /v1/network

Die Gesamtzahlen des Netzwerks.

GET /v1/stations/KEY

Die Zahlen eines Empfängers, sein Schlüssel als base64url ohne Padding.

Jeder Client hat ein Ratenlimit. Die öffentliche API startet mit dem öffentlichen Relay; bis dahin kannst du deine eigene neben deinem eigenen Relay betreiben.

Lizenzen

  • Feeder geben ihre Empfangsdaten unter CC0 in die Gemeinfreiheit.
  • Was Relays weitergeben, steht unter der Open Database License (ODbL). Nutze es für alles, auch kommerziell: Nenne die Quelle und stelle jede Datenbank, die du daraus veröffentlichst, ebenfalls unter die ODbL. Das verhindert, dass jemand die Daten für sich allein beansprucht.
  • Der Code steht nach deiner Wahl unter MIT oder Apache-2.0.

Empfängerstandorte

Der Standort eines Empfängers wird so veröffentlicht, wie der Betreiber ihn eingegeben hat, oder gerundet, wenn er das so gewählt hat. Wenn du etwas betreibst, das Tally-Daten archiviert oder daraus Positionen berechnet, bist du womöglich Verantwortlicher im Sinne der DSGVO: Biete einen einfachen Weg an, um darum zu bitten, ausgenommen zu werden.