Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Fournir des données sur les éphémérides TLE
Important
L'API des éphémérides est actuellement en état de prévisualisation
L'accès à l'API Ephemeris est fourni uniquement en fonction des besoins. Si vous souhaitez pouvoir télécharger des données d'éphémérides personnalisées, veuillez ouvrir un AWS Support ticket via le. AWS Support Center Console
Vue d’ensemble
Two-line les ensembles d'éléments (TLE) constituent un format normalisé pour décrire les orbites des satellites. L'API Ephemeris permet de télécharger des éphémérides TLE pour les utiliser avec un satellite AWS Ground Station . Ces éphémérides remplacent les éphémérides par défaut de (voir :). Space-Track
AWS Ground Station traite les éphémérides comme des données d'utilisation individualisées.
Le téléchargement d'éphémérides TLE personnalisées peut améliorer la qualité du suivi, gérer les premières opérations lorsqu'aucune Space-Track
Note
Lorsque vous fournissez des éphémérides personnalisées avant qu'un numéro de catalogue satellite ne soit attribué à votre satellite, vous pouvez utiliser 00000 pour le champ Numéro de catalogue satellite du TLE et 000 pour la partie numéro de lancement du champ de désignation international du TLE (par exemple 24000A pour un véhicule lancé en 2024).
Pour plus d'informations sur le format des TLE, consultez la section ensemble d'Two-line éléments
Alpha-5 numéros de catalogue satellites en TLE
Two-Line Les ensembles d'éléments (TLE) utilisent un format à largeur fixe dans lequel le champ du numéro de catalogue satellite (colonnes 3 à 7 des lignes 1 et 2) est limité à 5 chiffres, avec une valeur maximale de 99 999. Pour représenter les numéros de catalogue des satellites au-delà de cette limite, l'United States Space Force a développé le schéma de Alpha-5
Alpha-5 est purement un codage d'affichage pour le format texte TLE. Le numéro de catalogue satellite numérique sous-jacent ne change pas. Le noradSatelliteID champ de l' AWS Ground Station
API reste un entier : les réponses de l'API, telles que ListSatellites et GetSatellite continuent à renvoyer le numéro de catalogue satellite numérique, et non le formulaire Alpha-5 codé. Alpha-5 le codage n'est pertinent que dans les lignes de texte TLE elles-mêmes.
AWS Ground Station prend en charge les éphémérides TLE qui contiennent des numéros de satellite Alpha-5 codés. Lorsque vous chargez un TLE via cette CreateEphemeris action, analyse AWS Ground Station correctement les numéros de satellite Alpha-5 codés et les résout en numéros de catalogue de satellites entiers correspondants en interne. Les satellites dont les numéros de catalogue sont Alpha-5 compris entre 100 000 et 339 999 sont entièrement pris en charge.
Voici un exemple de TLE défini pour un satellite dont le numéro de catalogue satellite est 100 000. Le Alpha-5 codage représente cela comme A0000 dans les colonnes 3 à 7 de chaque ligne TLE :
[ { "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 } } ]
Pour plus d'informations sur le schéma de Alpha-5 codage, consultez la Space-Track Alpha-5 documentation
Création d'une éphéméride TLE
Une éphéméride TLE peut être créée à l'aide de l'CreateEphemerisaction de l' AWS Ground Station API. Cette action téléchargera une éphéméride en utilisant des données contenues dans le corps de la requête ou provenant d'un compartiment S3 spécifié.
Il est important de noter que le téléchargement d'une éphéméride définit l'éphéméride et lance un flux de travail asynchrone qui validera VALIDATING et générera des contacts potentiels à partir de vos éphémérides. Ce n'est qu'une fois qu'une éphéméride aura dépassé ce flux de travail et ENABLED sera devenue qu'elle sera utilisée pour les contacts. Vous devez effectuer un sondage DescribeEphemeris pour connaître l'état des éphémérides ou utiliser des CloudWatch événements pour suivre les changements de statut des éphémérides.
Pour résoudre les problèmes liés à une éphéméride non valide, consultez : Résoudre les problèmes liés aux éphémérides non valides
Exemple : Création d'un ensemble d'éphémérides d'éléments à deux lignes (TLE) via une API
Les AWS SDK et la CLI peuvent être utilisés pour télécharger un ensemble d'éphémérides d'éléments à deux lignes (TLE) AWS Ground Station via l'appel. CreateEphemeris Cette éphéméride sera utilisée à la place des données d'éphémérides par défaut pour un satellite (voir). Données d'éphémérides par défaut Cet exemple montre comment procéder à l'aide du AWS SDK pour Python (Boto3).
Un ensemble TLE est un objet au format JSON qui regroupe un ou plusieurs TLE pour construire une trajectoire continue. Les TLE de l'ensemble TLE doivent former un ensemble continu que nous pouvons utiliser pour construire une trajectoire (c'est-à-dire aucun écart temporel entre les TLE d'un ensemble TLE). Un exemple d'ensemble TLE est présenté ci-dessous :
[ { "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 } } ]
Note
Les plages temporelles des TLE d'un ensemble TLE doivent correspondre exactement pour constituer une trajectoire continue et valide.
Un set TLE peut être téléchargé via le client AWS Ground Station boto3 comme suit :
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']}")
Cet appel renverra un EphemerisID qui pourra être utilisé pour référencer les éphémérides ultérieurement. Par exemple, nous pouvons utiliser l'EphemerisID fourni lors de l'appel ci-dessus pour interroger l'état des éphémérides :
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']}")
Un exemple de réponse à cette DescribeEphemeris action est fourni ci-dessous.
{ "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}}]" } } }
Il est recommandé d'interroger l'DescribeEphemerisitinéraire ou d'utiliser CloudWatch des événements pour suivre l'état des éphémérides téléchargées, car elles doivent passer par un flux de validation asynchrone avant d'être définies et utilisables pour la planification ENABLED et l'exécution de contacts.
Notez que l'ID NORAD de tous les TLE de l'ensemble TLE, 25994 dans les exemples ci-dessus, doit correspondre à l'ID NORAD attribué à votre satellite dans la Space-Track
Exemple : téléchargement de données d'éphémérides TLE depuis un compartiment S3
Il est également possible de télécharger un fichier d'éphémérides TLE directement depuis un compartiment S3 en pointant sur le compartiment et la clé de l'objet. AWS Ground Station récupérera l'objet en votre nom. Les informations sur le cryptage des données AWS Ground Station stockées sont détaillées dans :Chiffrement des données au repos pour AWS Ground Station.
Vous trouverez ci-dessous un exemple de téléchargement d'un fichier d'éphémérides TLE depuis un compartiment S3
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']}")