ProcedureQueryHandler.LoadStar
| Eigenschaft |
Wert |
| Modul |
NavDb |
| Klasse |
ProcedureQueryHandler |
| Typ |
Function |
| Sichtbarkeit |
Public |
| Datei |
NavDb/ProcedureQueryHandler.vb |
Beschreibung
Laedt alle STAR-Prozeduren (Standard Terminal Arrival Route, ProcedureType=1) fuer den angegebenen Flughafen und die Runway. Gemeinsame Transitionen (RunwayId=-1) werden immer mit eingeschlossen. Beim ersten Aufruf fuer einen Flughafen werden alle Prozedurdaten aus der Datenbank geladen und gecacht; weitere Aufrufe verwenden den Cache.
Signatur
Public Function LoadStar(icao As String, runwayDesignator As String) As ProcedureResult
Parameter
| Name |
Typ |
Beschreibung |
Standard |
| icao |
String |
ICAO-Code des Flughafens (z.B. "EDDF", "EGLL") |
— |
| runwayDesignator |
String |
Runway-Bezeichnung (z.B. "27L", "09R"); leer fuer alle Runways |
— |
Rückgabewert
| Typ |
Beschreibung |
| ProcedureResult |
Ergebnisobjekt mit passenden TerminalRecords und zugehoerigen ProcedureLegs |
Ablaufdiagramm
flowchart TD
A[Start] --> B["EnsureCached(icao)"]
B --> C{Cache vorhanden?}
C -- Ja --> D[Cache verwenden]
C -- Nein --> E[LoadAirportProcedures aus DB]
E --> D
D --> F["FindRunwayId(cache, runwayDesignator)"]
F --> G["FilterProcedures(cache, 1, runwayId, leer)"]
G --> H[Return ProcedureResult]
Aufgerufen von
| Modul |
Sub/Function |
Kontext |
| NavDb |
NavDbActor.Receive(Of LoadStar) |
Beantwortet STAR-Abfragen vom Akka-Nachrichtensystem |
| Mcdu |
McduActor |
MCDU-Seitenaufbau: Laden der STAR-Liste fuer Arrival-Auswahl |
| Tests |
ProcedureQueryHandlerTests |
Testaufrufe fuer STAR-Ladeverifikation |
Ruft auf
| Modul |
Sub/Function |
Kontext |
| NavDb |
ProcedureQueryHandler.EnsureCached (Private) |
Stellt sicher, dass der Prozedur-Cache fuer den Flughafen geladen ist |
| NavDb |
ProcedureQueryHandler.FindRunwayId (Private) |
Ermittelt die Datenbank-ID der angegebenen Runway |
| NavDb |
ProcedureQueryHandler.FilterProcedures (Friend) |
Filtert Terminals nach ProcedureType=1 und RunwayId |
Beispiel
Dim handler As New ProcedureQueryHandler("C:\NavData\ASTNAV.mdb",
AddressOf navaidHandler.LookupWaypointById)
' Alle STARs fuer EGLL Runway 27L laden
Dim result As ProcedureResult = handler.LoadStar("EGLL", "27L")
For Each terminal As TerminalRecord In result.Terminals
Console.WriteLine($"STAR: {terminal.Name}")
Next
Änderungshistorie
| Version |
Datum |
Änderung |
| 1.0 |
2026-04-16 |
Erstdokumentation |