View a markdown version of this page

Fornisci dati sulle effemeridi TLE - AWS Ground Station

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Fornisci dati sulle effemeridi TLE

Importante

L'API ephemeris è attualmente in stato di anteprima

L'accesso all'API Ephemeris viene fornito solo in base alle necessità. Se hai bisogno della possibilità di caricare dati personalizzati sulle effemeridi, apri un ticket tramite il. Supporto AWS AWS Support Center Console Il nostro team collaborerà con te per abilitare questa funzionalità per le tue esigenze specifiche.

Panoramica di

Two-line i set di elementi (TLE) sono un formato standardizzato per descrivere le orbite dei satelliti. L'API Ephemeris consente di caricare le effemeridi TLE per utilizzarle con un satellite. AWS Ground Station Queste effemeridi sostituiscono le effemeridi predefinite di (vedi:). Space-Track Dati predefiniti sulle effemeridi

AWS Ground Station tratta le effemeridi come dati di utilizzo personalizzati. https://aws.amazon.com/service-terms Se utilizzi questa funzionalità opzionale, AWS utilizzerà i dati relativi alle effemeridi per fornire supporto per la risoluzione dei problemi.

Il caricamento di effemeridi TLE personalizzate può migliorare la qualità del tracciamento, gestire le operazioni iniziali laddove non sono disponibili Space-Track effemeridi e tenere conto delle manovre. AWS Ground Station Tuttavia, la precisione del TLE è limitata dal modello di propagazione e si degrada nel tempo a seconda dell'epoca. Per dati sulle effemeridi ad alta fedeltà su intervalli di tempo più lunghi, prendi in considerazione l'utilizzo del formato OEM (vedi). Fornisci dati sulle effemeridi OEM

Nota

Quando fornisci effemeridi personalizzate prima che venga assegnato un numero di catalogo satellitare al tuo satellite, puoi utilizzarlo per il campo del numero di catalogo satellitare del TLE e 00000 per la parte del numero di lancio nel campo dei designatori internazionali del TLE (ad esempio 000 per un veicolo lanciato nel 2024). 24000A

Per ulteriori informazioni sul formato dei TLE, vedere set di elementi. Two-line

Alpha-5 numeri di catalogo satellitari in TLE

Two-Line I set di elementi (TLE) utilizzano un formato a larghezza fissa in cui il campo del numero di catalogo satellitare (colonne 3-7 delle righe 1 e 2) è limitato a 5 cifre, supportando un valore massimo di 99.999. Per rappresentare i numeri di catalogo dei satelliti oltre questo limite, la United States Space Force ha sviluppato lo schema di codifica. Alpha-5 Alpha-5 sostituisce la prima cifra del campo relativo al numero di catalogo satellitare con un carattere alfabetico (A—Z, esclusi I e O per evitare confusione con le cifre 1 e 0). Ciò estende la gamma di numeri di catalogo satellitari rappresentabili da 100.000 a 339.999 all'interno del formato TLE a larghezza fissa esistente.

Alpha-5 è puramente una codifica di visualizzazione per il formato di testo TLE. Il numero numerico del catalogo satellitare sottostante non cambia. Il noradSatelliteID campo nell' AWS Ground Station API rimane un numero intero: le risposte API, ad esempio ListSatellites e GetSatellite continuano a restituire il numero numerico del catalogo satellitare, non il Alpha-5 modulo codificato. Alpha-5 la codifica è rilevante solo all'interno delle righe di testo TLE stesse.

AWS Ground Station supporta le effemeridi TLE che contengono numeri satellitari Alpha-5 codificati. Quando carichi un TLE tramite l'CreateEphemerisazione, analizza AWS Ground Station correttamente i numeri satellitari Alpha-5 codificati e li risolve internamente nei numeri interi corrispondenti del catalogo satellitare. I satelliti con numeri di catalogo satellitari compresi nell' Alpha-5 intervallo (100.000-339.999) sono completamente supportati.

Di seguito è riportato un esempio di set TLE per un satellite con numero di catalogo satellitare 100.000. La Alpha-5 codifica lo rappresenta come A0000 nelle colonne 3-7 di ogni riga 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 } } ]

Per ulteriori informazioni sullo schema di Alpha-5 codifica, consulta la documentazione. Space-Track Alpha-5

Creare un'effemeride TLE

È possibile creare un'effemeride TLE utilizzando l'CreateEphemerisazione nell'API. AWS Ground Station Questa azione caricherà un'effemeride utilizzando i dati nel corpo della richiesta o da un bucket S3 specificato.

È importante notare che il caricamento di un'effemeride imposta l'effemeride su e avvia un flusso di lavoro asincrono che convaliderà VALIDATING e genererà potenziali contatti a partire dalle effemeridi. Solo dopo aver superato questo flusso di lavoro, l'effemeride verrà utilizzata per i contatti. ENABLED È necessario verificare lo stato delle effemeridi o utilizzare CloudWatch gli eventi DescribeEphemeris per tenere traccia dei cambiamenti di stato delle effemeridi.

Per risolvere i problemi relativi a un'effemeride non valida, consulta: Risoluzione dei problemi relativi alle effemeridi non valide

Esempio: creare un set di effemeridi a due righe (TLE) tramite API

Gli AWS SDK e la CLI possono essere utilizzati per caricare un set di effemeridi a due righe (TLE) tramite la chiamata. AWS Ground Station CreateEphemeris Queste effemeridi verranno utilizzate al posto dei dati predefiniti sulle effemeridi per un satellite (vedi). Dati predefiniti sulle effemeridi Questo esempio mostra come farlo usando l'AWS SDK per Python (Boto3).

Un set TLE è un oggetto in formato JSON che unisce uno o più TLE per costruire una traiettoria continua. I TLE nel set TLE devono formare un set continuo che possiamo usare per costruire una traiettoria (cioè nessun intervallo di tempo tra i TLE in un set TLE). Di seguito è riportato un esempio di set TLE:

[ { "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 } } ]
Nota

Gli intervalli di tempo dei TLE in un set TLE devono corrispondere esattamente per essere una traiettoria valida e continua.

Un set TLE può essere caricato tramite il client AWS Ground Station boto3 come segue:

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']}")

Questa chiamata restituirà un EphemerisID che può essere utilizzato per fare riferimento alle effemeridi in futuro. Ad esempio, possiamo utilizzare l'ephemerisID fornito dalla chiamata precedente per verificare lo stato delle effemeridi:

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']}")

Di seguito viene fornito un esempio di risposta all'azione 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}}]" } } }

Si consiglia di eseguire il polling del DescribeEphemeris percorso o di utilizzare CloudWatch gli eventi per tenere traccia dello stato delle effemeridi caricate, poiché devono passare attraverso un flusso di lavoro di convalida asincrono prima di essere impostate ENABLED e diventare utilizzabili per la pianificazione e l'esecuzione dei contatti.

Nota che l'ID NORAD in tutti i TLE del set TLE, negli esempi precedenti, deve corrispondere all'ID NORAD assegnato al satellite 25994 nel database. Space-Track

Esempio: caricamento dei dati relativi alle effemeridi TLE da un bucket S3

È anche possibile caricare un file di effemeridi TLE direttamente da un bucket S3 puntando al bucket e alla chiave dell'oggetto. AWS Ground Station recupererà l'oggetto per tuo conto. Le informazioni sulla crittografia dei dati archiviati AWS Ground Station sono dettagliate in:Crittografia dei dati a riposo per AWS Ground Station.

Di seguito è riportato un esempio di caricamento di un file TLE ephemeris da un bucket 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']}")