Wohin fliegen wir? Aber was heißt eigentlich „wohin“?
Veröffentlicht: 2026-08-13
„Wohin fliegst du?“ ist die einfachste Frage, die man Reisenden stellen kann. Menschen antworten ohne nachzudenken: nach Sardinien, in die Alpen, nach Kreta, nach Masuren. Eine Flugsuche antwortet anders – sie kennt ausschließlich Flughafencodes und Städtenamen. Tippt man dort „Sardinien“ ein, kommt meistens gar nichts zurück, obwohl vier Flughäfen die Insel bedienen. Diese Lücke zwischen der Art, wie Menschen über ein Reiseziel sprechen, und dem, was Buchungssysteme verstehen, war eines der spannendsten Probleme, die wir bei MeetInPlane lösen mussten. Hier steht, wie unser Feld „Wohin?“ tatsächlich funktioniert – ohne Diagramme und Formeln, aber auch ohne Ausflüchte.
„Wohin“ ist kein Name. Es ist eine Menge von Flughäfen
Die zentrale Entwurfsentscheidung lautet: Ein Reiseziel ist keine Zeichenkette, sondern die Menge der Flughäfen, über die man dorthin kommt. Wenn du „Sardinien“ auswählst, speichert das System nicht das Wort „Sardinien“ – es speichert die Liste der IATA-Codes, die die Insel bedienen. Wählt jemand anderes „Cagliari“, enthält dessen Menge einen dieser Codes. Und genau deshalb finden sich eure Reisen, obwohl keiner von euch dasselbe Wort getippt hat.
Das klingt nach einer Kleinigkeit und ist das Fundament. Solange ein Reiseziel Text ist, sind „Kreta“, „Crete“, „Kriti“ und „Heraklion“ vier verschiedene Orte. Sobald ein Reiseziel eine Menge von Flughäfen ist, sind alle vier dasselbe Ziel – und können einander finden. In unserem System ist die Flughafenmenge die Währung des Matchings: Sie ist das, was wir vergleichen, wenn wir zählen, wie viele Reisende dorthin unterwegs sind, wohin auch du willst.
Orte, die in keinem Flugplan vorkommen
Menschen planen ihren Urlaub nicht an Flughäfen. Sie planen ihn auf Inseln, in Regionen, in den Bergen und an Seen. Touristische Regionen sind aber Gebilde, die die Welt der Flugbuchung praktisch nicht kennt. Um sie kennenzulernen, haben wir zu einer offenen geografischen Ortsdatenbank gegriffen – und da wurde es interessant, denn die Welt ist deutlich unordentlicher, als sie aussieht.
Kreta existiert dreimal
In der geografischen Datenbank hat Kreta drei getrennte Datensätze: als Insel, als Region und als Verwaltungseinheit. Sardinien ist als Insel erfasst, Sizilien dagegen als Verwaltungsregion. Dieselbe Art von Sache, drei verschiedene Klassifikationen. Übernähme man die Daten eins zu eins, stünde „Kreta“ dreimal hintereinander in den Vorschlägen – ohne jeden Hinweis darauf, welches davon zu wählen wäre. Deshalb kanonisiert der Import Duplikate: Er bestimmt einen Sieger, die übrigen Datensätze verweisen nur noch auf ihn. In die Suche gelangt ausschließlich der Sieger.
Die Alpen haben kein Land
Der Datensatz der Alpen hat eine leere Spalte „Land“ und daneben acht Ländercodes: Österreich, Schweiz, Deutschland, Frankreich, Italien, Liechtenstein, Monaco, Slowenien. Für eine Datenbank, in der ein Reiseziel mit der Frage „welches Land?“ begann, ist so ein Ort schlicht nicht speicherbar. Das war der zweite Grund für den Wechsel zu Flughafenmengen: Die Alpen brauchen kein Land, eine Liste von Flughäfen genügt. Innsbruck, Grenoble, Zürich, Mailand. Die Länder zeigen wir hinterher an – hergeleitet aus den Flughäfen, nicht aus dem Ort selbst.
Masuren, Masuria, Mazury – ein Ort, drei Schreibweisen
Die Hauptspalte mit dem Namen enthält genau eine Fassung, und es ist nie die einzige, die man braucht. Masuren steht dort als Mazury, Warschau als Warsaw, Kreta als Crete. Alles Übrige – Masuren, Masuria, Warschau, Warszawa, Krakau – liegt in einer separaten Datei mit alternativen Namen: 742 MB und weit über zehn Millionen Zeilen. Ohne sie findet eine deutsche Suche Masuren nie und eine polnische nie Warszawa. Hinzu kommt, dass viele dieser Schreibweisen überhaupt keine Sprachkennung tragen; deshalb halten wir neben der deutschen, englischen und polnischen Fassung auch die Schreibweise „ohne Sprache“ vor – sonst fiele Masuren selbst aus dem Index. Nebenbei: Die gesamte Kategorie der touristischen Regionen – Toskana, Provence, Masuren – umfasst ganze 2.580 Zeilen für den gesamten Planeten. Der wertvollste Posten der Datei ist zugleich der billigste.
Wie aus dreizehn Millionen Zeilen acht Vorschläge werden
Die Quelldatei hat 1,7 GB und 13.455.020 Zeilen. Deine Vorschlagsliste hat acht Einträge. Die ganze Arbeit besteht darin, unterwegs die richtigen dreizehn Millionen wegzuwerfen.
Das Rauschen sitzt in den Dörfern, nicht in den Regionen
Namen wie „Crete“, „Sardinia“ oder „Alps“ tauchen dutzendfach in der Datenbank auf – als unbewohnte Weiler in den USA und in Indien. Allein Dörfer unter 200 Einwohnern gibt es knapp fünf Millionen, mehr als ein Drittel der Datei. Deshalb wendet der Import eine Einwohnerschwelle an (standardmäßig 500), lässt Hauptstädte und Verwaltungssitze aber bedingungslos durch und nimmt Berggipfel erst ab 1.500 m auf – oder wenn sie Namen in mehreren Sprachen haben, was ein gutes Zeichen dafür ist, dass überhaupt jemand von ihnen gehört hat.
Woher wir wissen, welche Flughäfen am nächsten liegen
Dieselbe Datenbank, aus der die Namen stammen, liefert auch geografische Koordinaten – Breite und Länge – und zwar für jeden einzelnen Datensatz: für Masuren, für Zakopane und für alle 3.274 Flughäfen. Liegen zwei Koordinatenpaare vor, wird der Abstand entlang einer Orthodrome gemessen, also über den kürzesten Bogen auf der Kugel, und nicht als gerade Linie auf einer flachen Karte. Das klassische Werkzeug dafür ist die Haversine-Formel – eine Handvoll trigonometrischer Funktionen, die eine Koordinatendifferenz in Kilometer verwandeln und, anders als der naive Satz des Pythagoras, weder über große Distanzen noch in Polnähe auseinanderfallen.
Das Problem: Jedes Paar einzeln zu rechnen bedeutet eine Million Orte mal 3.274 Flughäfen, also 3,3 Milliarden Operationen. Deshalb landen die Flughäfen zunächst in einem Raster aus Zellen von einem Grad Kantenlänge, und jede Abfrage sucht in Ringen nach außen – von der Zelle aus, in der der Ort liegt – und bricht ab, sobald nichts außerhalb des durchsuchten Blocks noch näher liegen kann als der bisher beste Kandidat. Das Ergebnis ist exakt dasselbe wie beim Durchrechnen aller Paare, nur messen wir statt 3.274 Abständen meist ein gutes Dutzend, und das gesamte Raster wiegt rund 350 kB.
Eine Falle steckt darin, in die man leicht tappt: Ein Breitengrad misst immer etwa 111 km, ein Längengrad dagegen 111 km am Äquator, 55 km auf 60° Nord und 31 km auf der Höhe von Tromsø. Wer Zellen in beide Richtungen gleich zählt, bekommt für Spitzbergen einen Flughafen genannt, der gar nicht der nächste ist. Daher der Kosinus der Breite an mehreren Stellen im Code – und ein eigener Test für Longyearbyen.
Jede Art von Ort hat ihre eigene Reichweite
Ein Ort bekommt Flughäfen in einem Radius, der davon abhängt, was er ist: Regionen, Inseln und Gebirgszüge reichen 150 km weit, eine Stadt 60 km, ein Dorf oder ein See 30 km. Diese Zahlen sind keine Kosmetik. Bei 60 km nimmt Warschau Chopin und Modlin mit, aber nicht Łódź – und genau deshalb meinen zwei Reisen „nach Warschau“ wirklich dieselbe Stadt. Wäre der Radius großzügiger, gäbe es mehr Treffer, und alle wären nutzlos.
Zakopané, Zakopane, zakopane
Was du eintippst und was in der Datenbank liegt, durchlaufen exakt dieselbe Normalisierung – ohne Großschreibung, ohne Akzente, ohne Sonderzeichen. Sonst fände das französische „Zakopané“ nie das polnische Zakopane. Gesucht wird über den Namensanfang, Vorschläge erscheinen also schon nach zwei Zeichen, und ein exakter Treffer auf den ganzen Namen bekommt einen Bonus im Ranking – aber einen begrenzten. Das hat uns „Krak“ beigebracht: ein echter polnischer Name für den Landkreis um Krakau, der eine Zeit lang die 800.000-Einwohner-Stadt schlug, die offensichtlich gemeint war.
Warschau zweimal in einer Liste ist ein Fehler
Die Vorschläge entstehen aus zwei Indizes gleichzeitig: dem älteren, aus Flughäfen gebauten, und dem neuen geografischen. Sie überschneiden sich zwangsläufig. Wir führen sie zusammen und entfernen Duplikate über die Flughafenmenge: Zwei Vorschläge, die genau dieselben Flughäfen abdecken, sind dasselbe Ziel, wie unterschiedlich sie auch geschrieben sein mögen – übrig bleibt der besser bewertete. Zusätzlich darf ein Name einmal pro Land vorkommen, damit die Liste nicht zweimal „Warschau“ sagt. Kreta in Griechenland und Crete in Nebraska behalten getrennte Einträge, denn das sind tatsächlich zwei verschiedene Orte.
Was sich dadurch für deine Reiseplanung ändert
Praktisch dies: Du kannst eintippen, was du im Kopf hast, statt dessen, was eine Fluggesellschaft in ihrer Datenbank führt. Du tippst „Masuren“ und siehst, wie viele Reisende in deinem Zeitfenster dorthin unterwegs sind. Du tippst „Alpen“, und das System versteht, dass Innsbruck und Grenoble derselbe Winter sind. Du tippst „Sardinien“, und deine Reise passt zu jemandem, der „Cagliari“ eingetippt hat – und genau für diesen Moment haben wir MeetInPlane gebaut.
Der Rest passiert außerhalb der Suche: Treffer zeigen wir mit einer lesbaren Begründung („derselbe Flug“, „dieselbe Stadt in derselben Woche“), nie als Prozentwert ohne Substanz. Und wenn in deiner Richtung und deinem Zeitraum noch niemand unterwegs ist, kannst du eine einzelne Benachrichtigung hinterlassen – wir schreiben einmal, sobald sich jemand auf den Weg macht.
Woher diese Daten stammen
Die Ortsdatenbank stammt von GeoNames – einer offenen, von der Community aufgebauten geografischen Datenbank unter der Lizenz CC BY 4.0. Die Lizenz verlangt eine Quellenangabe, und das zu Recht: Dahinter steckt über ein Jahrzehnt Arbeit von Tausenden Menschen, und ihr verdanken wir überhaupt das Wissen, dass Masuren auch Mazury heißt und die Alpen in acht Ländern liegen. Der Hinweis steht bei uns dauerhaft in der Fußzeile jeder Seite; hier fügen wir unseren Dank hinzu. Die Flughafenschicht, die Radien, die Gewichte und die gesamte Matching-Logik sind unsere.
Häufige Fragen
Kann ich nach einer Region statt nach einer Stadt suchen?
Ja. Inseln, Regionen, Gebirgszüge, Parks, Seen und Ortschaften funktionieren genauso wie Länder, Städte und Flughäfen. Probier „Sardinien“, „Masuren“, „Toskana“ oder „Alpen“.
Woher weiß das System, dass zwei Personen „an denselben Ort“ fliegen?
Aus der Schnittmenge der Flughafenmengen beider Reisen. Überschneiden sie sich, ist es dasselbe Ziel – ganz gleich, wie jede Person es genannt hat.
Funktioniert die Suche auf Deutsch, Englisch und Polnisch?
Ja. Der Index hält die Namen in allen drei Sprachen neben der Originalschreibweise ohne Sprachkennung, sodass „Masuren“, „Masuria“ und „Mazury“ zum selben Ort führen.
Brauche ich bereits ein Ticket?
Nein. Ein Reiseziel und ein ungefährer Zeitraum genügen – den genauen Flug kannst du später ergänzen.
Wenn dich das nächste Mal jemand fragt, wohin du fliegst, antworte wie immer. Um den Rest – darum, dass „dorthin“ in Wahrheit acht Flughafencodes, drei Datensätze für Kreta und ein Gebirgszug ohne Land ist – kümmern wir uns. Kostenloses MeetInPlane-Konto anlegen und sieh, wer dorthin unterwegs ist, wohin auch du willst.