AirportQueryHandler.Lookup
| Eigenschaft |
Wert |
| Modul |
NavDb |
| Klasse |
AirportQueryHandler |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
NavDb/AirportQueryHandler.vb |
Beschreibung
Sucht einen Flughafen anhand seines ICAO-Codes (case-insensitive) im vorgeladenen Speicher-Dictionary. Der uebergebene ICAO-Code wird getrimmt und in Grossbuchstaben konvertiert. Das Ergebnis ist ein AirportResult mit Found=True und dem zugehoerigen AirportRecord, oder Found=False mit Airport=Nothing wenn kein Eintrag vorhanden ist.
Signatur
Public Function Lookup(icaoCode As String) As AirportResult
Parameter
| Name |
Typ |
Beschreibung |
Standard |
| icaoCode |
String |
ICAO-Code des Flughafens (z.B. "EDDF", "EGLL"), case-insensitive |
— |
Rückgabewert
| Typ |
Beschreibung |
| AirportResult |
Ergebnisobjekt mit Found-Flag und dem AirportRecord (inkl. Runways und ILS-Daten) |
Ablaufdiagramm
flowchart TD
A[Start] --> B[icaoCode trimmen und ToUpperInvariant]
B --> C{_ByIcao.TryGetValue?}
C -- Ja --> D["Return AirportResult(True, airport)"]
C -- Nein --> E["Return AirportResult(False, Nothing)"]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| NavDb |
NavDbActor.Receive(Of LookupAirport) |
Beantwortet Flughafen-Abfragen vom Akka-Nachrichtensystem |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| System.Collections.Generic |
Dictionary.TryGetValue |
O(1)-Lookup im vorgeladenen _ByIcao-Dictionary |
Beispiel
Dim handler As New AirportQueryHandler("C:\NavData\ASTNAV.mdb")
handler.PreloadAll()
Dim result As AirportResult = handler.Lookup("EDDF")
If result.Found Then
Console.WriteLine($"Flughafen: {result.Airport.Name}, Elevation: {result.Airport.Elevation} ft")
Console.WriteLine($"Runways: {result.Airport.Runways.Count}")
Else
Console.WriteLine("Flughafen nicht gefunden")
End If
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |