NavaidQueryHandler.LookupWaypoint
| Eigenschaft |
Wert |
| Modul |
NavDb |
| Klasse |
NavaidQueryHandler |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
NavDb/NavaidQueryHandler.vb |
Beschreibung
Sucht alle Waypoints anhand eines Identifiers (case-insensitive) im vorgeladenen Speicher-Dictionary. Mehrere Waypoints koennen denselben Identifier teilen (verschiedene geographische Positionen). Das Ergebnis ist ein WaypointResult mit Found=True und einer schreibgeschuetzten Liste der Treffer, oder Found=False mit einer leeren Liste.
Signatur
Public Function LookupWaypoint(identifier As String) As WaypointResult
Parameter
| Name |
Typ |
Beschreibung |
Standard |
| identifier |
String |
Waypoint-Kennung (z.B. "LOGAN", "ANEKI"), case-insensitive |
— |
Rückgabewert
| Typ |
Beschreibung |
| WaypointResult |
Ergebnisobjekt mit Found-Flag und schreibgeschuetzter Liste aller passenden WaypointRecords |
Ablaufdiagramm
flowchart TD
A[Start] --> B[identifier trimmen und ToUpperInvariant]
B --> C{_WaypointByIdent.TryGetValue?}
C -- Ja --> D["Return WaypointResult(True, list.AsReadOnly)"]
C -- Nein --> E["Return WaypointResult(False, leere Liste)"]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| NavDb |
NavDbActor.Receive(Of LookupWaypoint) |
Beantwortet Waypoint-Abfragen vom Akka-Nachrichtensystem |
| NavDb |
NavDbActor (Kombi-Lookup) |
Waypoint-Suche im Rahmen einer kombinierten Navaid/Waypoint-Abfrage |
| Mcdu |
McduActor |
Waypoint-Suche bei MCDU-Seiteneingaben (z.B. Lateral Revision) |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| System.Collections.Generic |
Dictionary.TryGetValue |
O(1)-Lookup im vorgeladenen _WaypointByIdent-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 WaypointResult = handler.LookupWaypoint("LOGAN")
If result.Found Then
For Each wp As WaypointRecord In result.Waypoints
Console.WriteLine($"{wp.Identifier}: Lat={wp.Latitude:F6}, Lon={wp.Longitude:F6}")
Next
End If
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |