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 nach Bedarf gewährt. Wenn Sie die Möglichkeit benötigen, benutzerdefinierte Ephemeridendaten hochzuladen, öffnen Sie bitte ein Ticket über die. AWS Support AWS 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 Ephemeriden-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-Track Standard-Ephemeridendaten

AWS Ground Station behandelt Ephemeriden als individualisierte Nutzungsdaten. https://aws.amazon.com/service-terms Wenn Sie diese optionale Funktion verwenden, verwendet AWS Ihre Ephemeridendaten, um Unterstützung bei der Fehlerbehebung bereitzustellen.

Durch das Hochladen benutzerdefinierter TLE-Ephemeriden kann die Qualität der Nachverfolgung verbessert, frühe Operationen, für die keine Space-Track Ephemeriden verfügbar sind, durchgeführt und Manöver berücksichtigt werden. AWS Ground Station Die TLE-Genauigkeit ist jedoch durch das Ausbreitungsmodell begrenzt und verschlechtert sich im Laufe der Zeit außerhalb der Epoche. Für Ephemeridendaten mit höherer Genauigkeit über längere Zeiträume sollten Sie die Verwendung des OEM-Formats in Betracht ziehen (siehe). Stellen Sie OEM-Ephemeridendaten bereit

Anmerkung

Wenn Sie benutzerdefinierte Ephemeriden angeben, bevor Ihrem Satelliten eine Satellitenkatalognummer zugewiesen wird, können Sie 00000 für das Satelliten-Katalognummernfeld der TLE und 000 für die Startnummer den Teil des internationalen Bezeichnerfeldes der 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 Satelliten-Katalognummern in TLEs

Two-Line Elementgruppen (TLE) 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 Maximalwert von 99.999 unterstützt. Um Satellitenkatalognummern darzustellen, die über diese Grenze hinausgehen, hat die United States Space Force das Kodierungsschema entwickelt. Alpha-5 Alpha-5 ersetzt die erste Ziffer des Felds für die 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 Anzeigekodierung 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 über die CreateEphemeris Aktion ein TLE hochladen, werden die Alpha-5 codierten Satellitennummern AWS Ground Station korrekt analysiert und intern in die entsprechenden ganzzahligen Satellitenkatalognummern aufgelöst. Satelliten mit Satelliten-Katalognummern 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 CreateEphemeris Aktion in der API erstellt werden. AWS Ground Station Diese Aktion lädt eine Ephemeride mithilfe von Daten entweder im Anforderungstext oder aus einem angegebenen S3-Bucket hoch.

Es ist wichtig zu beachten, dass beim Hochladen einer Ephemeride die Ephemeride auf einen asynchronen Workflow gesetzt VALIDATING und gestartet wird, der potenzielle Kontakte aus Ihrer Ephemeride validiert und generiert. Erst wenn eine Ephemeride diesen Workflow bestanden hat und zu ihr geworden ist, wird sie für Kontakte verwendet. ENABLED Sie sollten den Status der Ephemeride DescribeEphemeris abfragen oder CloudWatch Ereignisse verwenden, um die Statusänderungen der Ephemeride zu verfolgen.

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

Beispiel: Erstellen Sie eine Ephemeridengruppe mit zwei Zeilen (TLE) per API

Die AWS SDKs und die CLI können verwendet werden, um ein zweizeiliges Element (TLE) hochzuladen, auf das die Ephemeriden über den Aufruf gesetzt sind. AWS Ground Station CreateEphemeris Diese Ephemeride wird anstelle der Standard-Ephemeridendaten für einen Satelliten verwendet (siehe). Standard-Ephemeridendaten Dieses Beispiel zeigt, wie das AWS SDK für Python (Boto3) verwendet wird.

Ein TLE-Set ist ein JSON-formatiertes Objekt, das eine oder mehrere TLEs aneinanderreiht, um eine kontinuierliche Trajektorie zu konstruieren. Die TLEs im TLE-Satz 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-Satz). Ein Beispiel für einen TLE-Satz 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, um eine gültige, kontinuierliche Trajektorie zu erhalten.

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, die verwendet werden kann, um in Zukunft auf die Ephemeride zu verweisen. 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']}")

Ein Beispiel für eine Antwort auf die Aktion finden Sie unten 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 DescribeEphemeris Route abzufragen oder CloudWatch Ereignisse zu verwenden, um den Status der hochgeladenen Ephemeride zu verfolgen, da sie einen asynchronen Validierungsworkflow durchlaufen muss, bevor sie auf „Kontakte“ 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 (25994in den obigen Beispielen) mit der NORAD-ID übereinstimmen muss, die Ihrem Satelliten in der Datenbank zugewiesen wurde. Space-Track

Beispiel: TLE-Ephemeridendaten aus einem S3-Bucket hochladen

Es ist auch möglich, eine TLE-Ephemeridendatei 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 von Daten im AWS Ground Station Ruhezustand finden Sie unter:Datenverschlüsselung im Ruhezustand für AWS Ground Station.

Unten finden Sie ein Beispiel für das Hochladen einer TLE-Ephemeridendatei 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']}")