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 TLE
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, póngase en contacto con aws-groundstation@amazon.com.>
Descripción general de
Los conjuntos de elementos de dos líneas (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 Space-Track (consulte:).
AWS Ground Station trata las efemérides como datos
La carga de efemérides TLE personalizadas puede mejorar la calidad del seguimiento, gestionar las primeras operaciones en las que no haya efemérides de 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 para el campo de números de catálogo de satélites de la TLE y 00000 para la parte del número de lanzamiento del campo designador internacional de la TLE (por ejemplo, 000 para un vehículo lanzado en 2024). 24000A
Para obtener más información sobre el formato de TLEs, consulte Conjunto de elementos de dos
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
La AWS SDKs CLI 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 CreateEphemerisllamada. Esta efeméride se utilizará 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 TLE es un objeto con formato JSON que enlaza uno o más TLEs para construir una trayectoria continua. El del TLEs conjunto TLE debe formar un conjunto continuo que podamos usar para construir una trayectoria (es decir, no debe haber intervalos de tiempo intermedios TLEs 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 TLEs de un conjunto TLE deben coincidir exactamente para que sea una trayectoria continua y válida.
Se puede cargar un conjunto de TLE a través del 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
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']}")