NavaidQueryHandler.Lookup
| Eigenschaft |
Wert |
| Modul |
NavDb |
| Klasse |
NavaidQueryHandler |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
NavDb/NavaidQueryHandler.vb |
Beschreibung
Sucht alle Navaids (VOR, NDB, etc.) anhand eines Identifiers (case-insensitive) im vorgeladenen Speicher-Dictionary. Mehrere Navaids koennen denselben Identifier teilen (z.B. kolokiertes VOR und NDB). Das Ergebnis ist ein NavaidResult mit Found=True und einer schreibgeschuetzten Liste der Treffer, oder Found=False mit einer leeren Liste.
Signatur
Public Function Lookup(identifier As String) As NavaidResult
Parameter
| Name |
Typ |
Beschreibung |
Standard |
| identifier |
String |
Navaid-Kennung (z.B. "MUN", "FFM"), case-insensitive |
— |
Rückgabewert
| Typ |
Beschreibung |
| NavaidResult |
Ergebnisobjekt mit Found-Flag und schreibgeschuetzter Liste aller passenden NavaidRecords |
Ablaufdiagramm
flowchart TD
A[Start] --> B[identifier trimmen und ToUpperInvariant]
B --> C{_NavaidByIdent.TryGetValue?}
C -- Ja --> D["Return NavaidResult(True, list.AsReadOnly)"]
C -- Nein --> E["Return NavaidResult(False, leere Liste)"]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| NavDb |
NavDbActor.Receive(Of LookupNavaid) |
Beantwortet Navaid-Abfragen vom Akka-Nachrichtensystem |
| NavDb |
NavDbActor (Kombi-Lookup) |
Navaid-Suche im Rahmen einer kombinierten Navaid/Waypoint-Abfrage |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| System.Collections.Generic |
Dictionary.TryGetValue |
O(1)-Lookup im vorgeladenen _NavaidByIdent-Dictionary |
| System.Collections.Generic |
List.AsReadOnly |
Erzeugt schreibgeschuetzte Kopie der Trefferliste |
Beispiel
Dim handler As New NavaidQueryHandler("C:\NavData\ASTNAV.mdb", "C:\NavData\Userdata.mdb")
handler.PreloadAll()
Dim result As NavaidResult = handler.Lookup("MUN")
If result.Found Then
For Each nav As NavaidRecord In result.Navaids
Console.WriteLine($"{nav.Identifier}: Type={nav.NavaidType}, Freq={nav.Frequency}")
Next
End If
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |