Zeichnen von Abdeckungskreisen für Bodenstationen

Ich versuche, eine kleine Anwendung zu erstellen, um Kreise zur Abdeckung von Bodenstationen zu zeichnen (bevor jemand vorschlägt, andere Software zu verwenden, ich genieße es, solche Dinge selbst zu machen!)

Ich habe bereits Code, der die Lat- und Long-Koordinaten eines Punktes auf der Oberfläche in Punkte auf einer Mercator-Projektionskarte umwandelt, also zeichne ich jetzt die "Kreise" um diese herum.

Ich habe auch die Gleichung zur Berechnung der Schrägreichweite (maximaler Abstand zwischen dem Satelliten und der Bodenstation bei minimaler Höhe).

Hier ist, was ich derzeit mache:

  1. Konvertieren Sie Lat, Long und Re von Bodenstationen (Kugelkoordinaten) in x1, y1, z1 (kartesische Koordinaten)

  2. Konvertieren Sie Elevation, Azimut und Slant-Bereich (Kugelkoordinaten) in x2, y2, z2 (kartesische Koordinaten) im zentrierten Bezugsrahmen der Bodenstation

  3. Übersetze x2,y2,z2 aus Teil 2 in erdzentriert (x2+x1, y2+y1, z2+z1) nennen wir diese x3, y3, z3

  4. Drehen Sie x3, y3, z3, um sie mit dem erdzentrierten Referenzrahmen auszurichten, sagen wir x4, y4, z4

  5. Wandeln Sie x4, y4, z4 in sphärische Koordinaten um und zeichnen Sie dann die Lat und Long, die ich gefunden habe.

Meiner Meinung nach sollte mir das obige die richtigen Punkte zum Plotten geben, aber irgendwo ist ein Fehler. Ich weiß, dass Schritt 1 richtig ist (die Größe des Vektors ist Re). Ich weiß, dass Schritt 2 richtig ist, da die Größe des Vektors der Neigungsbereich ist. Aber hier bin ich auf ein Problem gestoßen.... Keine Ahnung, wo das Problem liegt.

Warum verwendest du Mercator?
Nur die Kartenprojektion, die ich ausgewählt habe. Kein Grund außer Laune.
Was genau sind die Fehler, die Sie bekommen? Rechnen Sie mit der Klumpigkeit der Erde?

Antworten (1)

So würde ich es lösen:

Erstens ist die Mathematik einfacher, wenn die richtigen sphärischen Koordinaten verwendet werden ( r , θ , ϕ ) anstelle von Längengrad und Breitengrad verwendet werden. Der Breitengradunterschied ist der Winkel vom Äquator, wohingegen ϕ ist der Winkel vom Nordpol. Finden θ und ϕ aus dem Längen- und Breitengrad,

θ = Lang
ϕ = 90 Lat
Alle Winkel sind in Grad angegeben.

  1. Wandeln Sie Elevation und Azimut des Satelliten in absolute Winkel um θ und ϕ . Dies hängt sowohl von der Position des Satelliten am Himmel als auch von der Position der Bodenstation ab.
    ϕ Satellit = ϕ Bahnhof ( 90 Elev ) cos ( 2 π 360 Azim )
    θ Satellit = θ Bahnhof + ( 90 Elev ) Sünde ( 2 π 360 Azim )
  2. Konvertieren Sie den Vektor zwischen dem Erdmittelpunkt und der Bodenstation sowie den Vektor zwischen der Station und dem Satelliten in kartesische Koordinaten
    x = Bereich cos ( 2 π 360 θ ) Sünde ( 2 π 360 ϕ )
    j = Bereich Sünde ( 2 π 360 θ ) Sünde ( 2 π 360 ϕ )
    z = Bereich cos ( 2 π 360 ϕ )
    Für den Vektor vom Erdmittelpunkt zur Bodenstation gilt: Bereich ist der Radius der Erde.
  3. Addieren Sie die beiden Vektoren, wandeln Sie sie wieder in sphärische Koordinaten um und zeichnen Sie sie.
    r = x 2 + j 2 + z 2
    θ = 360 2 π bräunen 1 ( j / x )
    ϕ = 360 2 π cos 1 ( z / r )

Genießen!

Bitte kommentieren Sie, wenn ich Fehler gemacht habe
Danke für die Antwort. Ich denke, da sind ein paar Fehler (unter Punkt 1 hast du zwei Gleichungen für Phi, eine sollte für Theta sein); Selbst wenn ich dies korrigiere, funktionieren meine Bodenspuren nicht ganz!
@SamHallerman Wie zeichnet man die Abdeckung auf einer flachen Karte, da es nicht immer ein Kreis ist?