Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Proporcione datos de efemérides de LTE
importante
La API de efemérides se encuentra actualmente en estado de previsualización.
El acceso a la API de Efemérides solo se proporciona en función de las necesidades. Si necesita poder cargar datos de efemérides personalizados, abra un AWS Support ticket a través del. AWS Support Center Console
Descripción general de
Two-line Los conjuntos de elementos (TLE) son un formato estandarizado para describir las órbitas de los satélites. La API de efemérides permite cargar las efemérides del TLE para usarlas con un satélite.AWS Ground Station Estas efemérides anulan las efemérides predeterminadas de (consulte:). Space-Track
AWS Ground Stationtrata las efemérides como datos de uso individualizados.
La carga de efemérides TLE personalizadas puede mejorar la calidad del seguimiento, gestionar las primeras operaciones cuando no hay Space-Track
nota
Al proporcionar efemérides personalizadas antes de asignar un número de catálogo de satélites a su satélite, puede utilizarlas 00000 para el campo del número de catálogo de satélites de la TLE y 000 para la parte del número de lanzamiento del campo designador internacional de la TLE (por ejemplo, 24000A para un vehículo lanzado en 2024).
Alpha-5 números de catálogo de satélites en los TLE
Two-Line Los conjuntos de elementos (TLE) utilizan un formato de ancho fijo en el que el campo del número del catálogo de satélites (columnas 3 a 7 de las líneas 1 y 2) está limitado a 5 dígitos, lo que permite un valor máximo de 99.999. Para representar los números de catálogo de satélites más allá de este límite, la Fuerza Espacial de los Estados Unidos desarrolló el esquema de Alpha-5
Alpha-5 es simplemente una codificación de pantalla para el formato de texto TLE. El número numérico del catálogo satelital subyacente no cambia. El noradSatelliteID campo de la AWS Ground Station API sigue siendo un número entero: las respuestas de la API, por ejemplo, GetSatellite siguen devolviendo el número numérico del catálogo satelital, no el formato Alpha-5 codificado. ListSatellites Alpha-5 la codificación solo es relevante dentro de las propias líneas de texto del TLE.
AWS Ground Station admite efemérides TLE que contienen números de satélite Alpha-5 codificados. Al cargar un TLE mediante la CreateEphemerisacción, analiza AWS Ground Station correctamente los números de satélite Alpha-5 codificados y los resuelve internamente en los números enteros del catálogo de satélites correspondientes. Los satélites con números de catálogo de satélites Alpha-5 dentro del rango (100.000 a 339 999) son totalmente compatibles.
El siguiente es un ejemplo de conjunto TLE para un satélite con el número de catálogo de satélites 100.000. La Alpha-5 codificación lo representa A0000 en las columnas 3 a 7 de cada línea 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 } } ]
Crear una efeméride TLE
Se puede crear una efeméride de TLE mediante la CreateEphemerisacción de la API.AWS Ground Station Esta acción cargará una efeméride utilizando los datos del cuerpo de la solicitud o de un bucket de S3 específico.
Es importante tener en cuenta que al cargar una efeméride ésta se establece en VALIDATING e inicia un flujo de trabajo asíncrono que validará y generará contactos potenciales a partir de la efeméride. Solo se podrá utilizar para contactos cuando la efeméride haya superado este flujo de trabajo y esté ENABLED. Deberías sondear el estado de las efemérides o usar CloudWatch eventos DescribeEphemerispara realizar un seguimiento de los cambios de estado de las efemérides.
Para solucionar problemas relacionados con una efeméride no válida, consulta: Solucionar problemas de efemérides no válidas
Ejemplo: cree un conjunto de efemérides de elementos de dos líneas (TLE) mediante la API
Los AWS SDK y la CLI se pueden usar para cargar un conjunto de efemérides de dos elementos de línea (TLE)AWS Ground Station mediante la llamada. CreateEphemeris Estas efemérides se utilizarán en lugar de los datos de efemérides predeterminados de un satélite (consulte). Datos de efemérides predeterminados En este ejemplo se muestra cómo hacerlo con el AWS SDK para Python (Boto3).
Un conjunto de TLE es un objeto con formato JSON que une una o más TLE para construir una trayectoria continua. Los TLE en el conjunto TLE deben formar un conjunto continuo que podamos utilizar para construir una trayectoria (es decir, sin espacios en el tiempo entre TLE en un conjunto TLE). A continuación se muestra un ejemplo de conjunto 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
Los intervalos de tiempo de los TLE de un conjunto de TLE deben coincidir exactamente para ser una trayectoria continua válida.
Se puede cargar un conjunto de TLE mediante el cliente AWS Ground Station boto3 de la siguiente manera:
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']}")
Esta llamada devolverá un EphemerisID que se puede usar para hacer referencia a las efemérides en el futuro. Por ejemplo, podemos usar el EphemerisID proporcionado en la llamada anterior para sondear el estado de las efemé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']}")
A continuación se muestra un ejemplo de respuesta de la acción 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}}]" } } }
Se recomienda sondear la DescribeEphemerisruta o usar CloudWatch eventos para rastrear el estado de las efemérides subidas, ya que deben pasar por un flujo de trabajo de validación asíncrona antes de configurarse y poder utilizarse para programar y ejecutar contactos. ENABLED
Tenga en cuenta que el ID de NORAD de todos los TLE del conjunto de TLE, 25994 en los ejemplos anteriores, debe coincidir con el ID de NORAD asignado a su satélite en la base de datos. Space-Track
Ejemplo: cargar datos de efemérides del TLE desde un depósito S3
También es posible cargar un archivo de efemérides TLE directamente desde un depósito de S3 apuntando al depósito y a la clave del objeto.AWS Ground Station recuperará el objeto en tu nombre. La información sobre el cifrado de los datos en reposo AWS Ground Station se detalla en:Cifrado de datos en reposo para AWS Ground Station.
A continuación se muestra un ejemplo de cómo cargar un archivo de efemérides TLE desde un bucket de 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']}")