View a markdown version of this page

Stellen Sie TLE-Ephemeridendaten bereit - AWS Ground Station

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Stellen Sie TLE-Ephemeridendaten bereit

Wichtig

Die Ephemeriden-API befindet sich derzeit im Vorschaustatus

Der Zugriff auf die Ephemeris-API wird nur bei Bedarf gewährt. Wenn Sie die Möglichkeit benötigen, benutzerdefinierte Ephemeridendaten hochzuladen, öffnen Sie bitte ein Ticket über.AWS SupportAWS Support Center Console Unser Team wird mit Ihnen zusammenarbeiten, um diese Funktion für Ihre spezifischen Anforderungen zu aktivieren.

-Übersicht

Two-line Elementsätze (TLE) sind ein standardisiertes Format zur Beschreibung von Satellitenbahnen. Die Ephemeris-API ermöglicht das Hochladen von TLE-Ephemeriden zur Verwendung mit einem Satelliten.AWS Ground Station Diese Ephemeriden überschreiben die Standard-Ephemeriden von (siehe:). Space-TrackStandard-Ephemeridendaten

AWS Ground Stationbehandelt Ephemeriden als individualisierte Nutzungsdaten. Wenn Sie diese optionale Funktion verwenden, verwendet AWS Ihre Ephemeridendaten, um Unterstützung bei der Fehlerbehebung bereitzustellen.

Das Hochladen benutzerdefinierter TLE-Ephemeriden kann die Qualität der Nachverfolgung verbessern, frühe Operationen abwickeln, für die keine Space-TrackEphemeriden verfügbar sind, und Manöver berücksichtigen.AWS Ground Station Die Genauigkeit von TLE ist jedoch durch das Ausbreitungsmodell begrenzt und nimmt mit der Zeit ab, unabhängig von der Epoche. Für Ephemeridendaten mit höherer Genauigkeit über längere Zeiträume sollten Sie das OEM-Format verwenden (siehe). Stellen Sie OEM-Ephemeridendaten bereit

Anmerkung

Wenn Sie benutzerdefinierte Ephemeriden angeben, bevor Ihrem Satelliten eine Satellitenkatalognummer zugewiesen wird, können Sie das Feld 00000 für die Satellitenkatalognummer des TLE und 000 für die Startnummer den Teil des internationalen Kennzeichnungsfeldes des TLE verwenden (z. B. für ein Fahrzeug, das 2024 auf den Markt gebracht wurde). 24000A

Weitere Informationen zum Format von TLEs finden Sie unter Elementsatz. Two-line

Alpha-5 Satellitenkatalognummern in TLEs

Two-Line Elementsätze (TELEs) verwenden ein Format mit fester Breite, in dem das Feld für die Satellitenkatalognummer (Spalten 3—7 der Zeilen 1 und 2) auf 5 Ziffern begrenzt ist und einen Höchstwert von 99.999 unterstützt. Um Satellitenkatalognummern darzustellen, die über diese Grenze hinausgehen, hat die Vereinigte Staaten Space Force das Alpha-5Kodierungsschema entwickelt. Alpha-5 ersetzt die erste Ziffer des Felds mit der Satellitenkatalognummer durch ein alphabetisches Zeichen (A—Z, ohne I und O, um Verwechslungen mit den Ziffern 1 und 0 zu vermeiden). Dadurch wird der Bereich der darstellbaren Satellitenkatalognummern innerhalb des bestehenden TLE-Formats mit fester Breite von 100.000 auf 339.999 erweitert.

Alpha-5 ist eine reine Displaycodierung für das TLE-Textformat. Die zugrunde liegende numerische Satellitenkatalognummer ändert sich nicht. Das noradSatelliteID Feld in der AWS Ground Station API bleibt eine Ganzzahl — API-Antworten wie ListSatellites und geben GetSatellite weiterhin die numerische Satellitenkatalognummer zurück, nicht die Alpha-5 kodierte Form. Alpha-5 Die Kodierung ist nur innerhalb der TLE-Textzeilen selbst relevant.

AWS Ground Station unterstützt TLE-Ephemeriden, die Alpha-5 kodierte Satellitennummern enthalten. Wenn Sie einen TLE über die CreateEphemerisAktion hochladen, analysiert die Alpha-5 codierten Satellitennummern AWS Ground Station korrekt und löst sie intern in die entsprechenden ganzzahligen Satellitenkatalognummern auf. Satelliten mit Satellitenkatalognummern im Alpha-5 Bereich (100.000—339.999) werden vollständig unterstützt.

Im Folgenden finden Sie ein Beispiel für ein TLE-Set für einen Satelliten mit der Satellitenkatalognummer 100.000. Die Alpha-5 Kodierung stellt dies wie A0000 in den Spalten 3—7 jeder TLE-Zeile dar:

[ { "tleLine1": "1 A0000U 26001A 26120.50000000 .00000072 00000-0 24500-4 0 9991", "tleLine2": "2 A0000 97.4500 85.2300 0012345 45.6789 314.5678 15.20000000 10013", "validTimeRange": { "startTime": 1777680000, "endTime": 1778284800 } } ]

Weitere Informationen zum Alpha-5 Kodierungsschema finden Sie in der Space-Track Alpha-5 Dokumentation.

Eine TLE-Ephemeride erstellen

Eine TLE-Ephemeride kann mithilfe der CreateEphemerisAktion in der API erstellt werden.AWS Ground Station Diese Aktion lädt eine Ephemeride hoch, wobei Daten entweder im Anforderungstext oder aus einem bestimmten S3-Bucket verwendet werden.

Es ist wichtig zu beachten, dass durch das Hochladen einer Ephemeride die Ephemeride in einen asynchronen Workflow umgewandelt VALIDATING und gestartet wird, der potenzielle Kontakte anhand Ihrer Ephemeride validiert und generiert. Erst wenn eine Ephemeride diesen Workflow bestanden hat und geworden ist, wird sie für Kontakte verwendet. ENABLED Sie sollten den Status der Ephemeriden DescribeEphemerisabfragen oder CloudWatch Ereignisse verwenden, um die Statusänderungen der Ephemeriden nachzuverfolgen.

Informationen zur Fehlerbehebung bei einer ungültigen Ephemeride finden Sie unter: Fehlerbehebung bei ungültigen Ephemeriden

Beispiel: Erstellen Sie eine Ephemeride mit zweizeiligen Elementen (TLE) über die API

Die AWS SDKs und die CLI können verwendet werden, um eine TLE-Ephemeride (TWO Line Element)AWS Ground Stationüber den Aufruf hochzuladen. CreateEphemeris Diese Ephemeride wird anstelle der standardmäßigen Ephemeridendaten für einen Satelliten verwendet (siehe). Standard-Ephemeridendaten Dieses Beispiel zeigt, wie das mit dem AWS SDK for Python (Boto3) gemacht wird.

Ein TLE-Set ist ein Objekt im JSON-Format, das eine oder mehrere TLEs aneinanderreiht, um eine kontinuierliche Trajektorie zu erstellen. Die TLEs im TLE-Set müssen einen kontinuierlichen Satz bilden, den wir verwenden können, um eine Trajektorie zu konstruieren (d. h. keine Zeitlücken zwischen den TLEs in einem TLE-Set). Ein Beispiel für ein TLE-Set ist unten dargestellt:

[ { "tleLine1": "1 25994U 99068A 20318.54719794 .00000075 00000-0 26688-4 0 9997", "tleLine2": "2 25994 98.2007 30.6589 0001234 89.2782 18.9934 14.57114995111906", "validTimeRange": { "startTime": 12345, "endTime": 12346 } }, { "tleLine1": "1 25994U 99068A 20318.54719794 .00000075 00000-0 26688-4 0 9997", "tleLine2": "2 25994 98.2007 30.6589 0001234 89.2782 18.9934 14.57114995111906", "validTimeRange": { "startTime": 12346, "endTime": 12347 } } ]
Anmerkung

Die Zeitbereiche der TLEs in einem TLE-Set müssen exakt übereinstimmen, damit es sich um eine gültige, kontinuierliche Trajektorie handelt.

Ein TLE-Set kann wie folgt über den AWS Ground Station boto3-Client hochgeladen werden:

import boto3 from datetime import datetime, timedelta, timezone # Create AWS Ground Station client ground_station_client = boto3.client("groundstation") # Create TLE ephemeris tle_ephemeris = ground_station_client.create_ephemeris( name="Example Ephemeris", satelliteId="2e925701-9485-4644-b031-EXAMPLE01", enabled=True, expirationTime=datetime.now(timezone.utc) + timedelta(days=3), priority=2, ephemeris={ "tle": { "tleData": [ { "tleLine1": "1 25994U 99068A 20318.54719794 .00000075 00000-0 26688-4 0 9997", "tleLine2": "2 25994 98.2007 30.6589 0001234 89.2782 18.9934 14.57114995111906", "validTimeRange": { "startTime": datetime.now(timezone.utc), "endTime": datetime.now(timezone.utc) + timedelta(days=7), }, } ] } }, ) print(f"Created TLE ephemeris with ID: {tle_ephemeris['ephemerisId']}")

Dieser Aufruf gibt eine EphemerisId zurück, mit der in future auf die Ephemeride verwiesen werden kann. Zum Beispiel können wir die bereitgestellte EphemerisID aus dem obigen Aufruf verwenden, um den Status der Ephemeride abzufragen:

import boto3 from datetime import datetime, timedelta, timezone import time # Create AWS Ground Station client ground_station_client = boto3.client("groundstation") # First, create a TLE ephemeris print("Creating TLE ephemeris...") tle_ephemeris = ground_station_client.create_ephemeris( name="Example TLE Ephemeris for Description", satelliteId="2e925701-9485-4644-b031-EXAMPLE01", enabled=True, expirationTime=datetime.now(timezone.utc) + timedelta(days=3), priority=2, ephemeris={ "tle": { "tleData": [ { "tleLine1": "1 25994U 99068A 20318.54719794 .00000075 00000-0 26688-4 0 9997", "tleLine2": "2 25994 98.2007 30.6589 0001234 89.2782 18.9934 14.57114995111906", "validTimeRange": { "startTime": datetime.now(timezone.utc), "endTime": datetime.now(timezone.utc) + timedelta(days=7), }, } ] } }, ) ephemeris_id = tle_ephemeris["ephemerisId"] print(f"Created TLE ephemeris with ID: {ephemeris_id}") # Describe the ephemeris immediately to check initial status print("Describing ephemeris...") response = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id) print(f"Ephemeris ID: {response['ephemerisId']}") print(f"Name: {response['name']}") print(f"Status: {response['status']}")

Im Folgenden finden Sie ein Beispiel für eine Antwort aus der Aktion DescribeEphemeris

{ "creationTime": 1620254718.765, "enabled": true, "name": "Example Ephemeris", "ephemerisId": "fde41049-14f7-413e-bd7b-EXAMPLE01", "priority": 2, "status": "VALIDATING", "suppliedData": { "tle": { "ephemerisData": "[{\"tleLine1\": \"1 25994U 99068A 20318.54719794 .00000075 00000-0 26688-4 0 9997\",\"tleLine2\": \"2 25994 98.2007 30.6589 0001234 89.2782 18.9934 14.57114995111906\",\"validTimeRange\": {\"startTime\": 1620254712000,\"endTime\": 1620859512000}}]" } } }

Es wird empfohlen, die DescribeEphemerisRoute abzufragen oder CloudWatch Ereignisse zu verwenden, um den Status der hochgeladenen Ephemeriden zu verfolgen, da sie einen asynchronen Validierungsworkflow durchlaufen muss, bevor sie auf gesetzt wird ENABLED und für die Planung und Ausführung von Kontakten verwendet werden kann.

Beachten Sie, dass die NORAD-ID in allen TLEs im TLE-Set 25994 in den obigen Beispielen mit der NORAD-ID übereinstimmen muss, die Ihrem Satelliten in der Datenbank zugewiesen wurde. Space-Track

Beispiel: Hochladen von TLE-Ephemeridendaten aus einem S3-Bucket

Es ist auch möglich, eine TLE-Ephemeriden-Datei direkt aus einem S3-Bucket hochzuladen, indem Sie auf den Bucket und den Objektschlüssel zeigen.AWS Ground Station ruft das Objekt in Ihrem Namen ab. Informationen zur Verschlüsselung ruhender Daten in AWS Ground Station finden Sie in:Datenverschlüsselung im Ruhezustand für AWS Ground Station.

Im Folgenden finden Sie ein Beispiel für das Hochladen einer TLE-Ephemeriden-Datei aus einem S3-Bucket

import boto3 from datetime import datetime, timedelta, timezone import json # Create AWS clients s3_client = boto3.client("s3") ground_station_client = boto3.client("groundstation") # Define S3 bucket and key bucket_name = "ephemeris-bucket" object_key = "test_data.tle" # Create sample TLE set data # Note: For actual satellites, use real TLE data from sources like Space-Track tle_set_data = [ { "tleLine1": "1 25994U 99068A 20318.54719794 .00000075 00000-0 26688-4 0 9997", "tleLine2": "2 25994 98.2007 30.6589 0001234 89.2782 18.9934 14.57114995111906", "validTimeRange": { "startTime": datetime.now(timezone.utc), "endTime": datetime.now(timezone.utc) + timedelta(days=3), }, }, { "tleLine1": "1 25994U 99068A 20321.54719794 .00000075 00000-0 26688-4 0 9998", "tleLine2": "2 25994 98.2007 33.6589 0001234 89.2782 18.9934 14.57114995112342", "validTimeRange": { "startTime": datetime.now(timezone.utc) + timedelta(days=3), "endTime": datetime.now(timezone.utc) + timedelta(days=7), }, }, ] # Convert to JSON string for upload tle_json = json.dumps(tle_set_data, indent=2) # Upload sample TLE data to S3 print(f"Uploading TLE set data to s3://{bucket_name}/{object_key}") s3_client.put_object( Bucket=bucket_name, Key=object_key, Body=tle_json, ContentType="application/json" ) print("TLE set data uploaded successfully to S3") print(f"Uploaded {len(tle_set_data)} TLE entries covering 7 days") # Create TLE ephemeris from S3 print("Creating TLE ephemeris from S3...") s3_tle_ephemeris = ground_station_client.create_ephemeris( name="2022-11-05 S3 TLE Upload", satelliteId="fde41049-14f7-413e-bd7b-EXAMPLE01", enabled=True, expirationTime=datetime.now(timezone.utc) + timedelta(days=5), priority=2, ephemeris={"tle": {"s3Object": {"bucket": bucket_name, "key": object_key}}}, ) print(f"Created TLE ephemeris with ID: {s3_tle_ephemeris['ephemerisId']}")