

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Forneça dados de efemérides do TLE
<a name="providing-tle-ephemeris-data"></a>

**Importante**  
 A API Ephemeris está atualmente em um estado de visualização 

 O acesso à API Ephemeris é fornecido somente conforme a necessidade. Se você precisar fazer upload de dados de efemérides personalizados, abra um AWS Support ticket por meio do. [AWS Support Center Console](https://console.aws.amazon.com/support) Nossa equipe trabalhará com você para habilitar esse recurso para suas necessidades específicas. 

## Visão geral do
<a name="w2aac28c17c11b7"></a>

 Os conjuntos de elementos de duas linhas (TLE) são um formato padronizado para descrever as órbitas dos satélites. A API Ephemeris permite que as efemérides do TLE sejam enviadas para AWS Ground Station uso com um satélite. [Essas efemérides substituem as efemérides padrão do Space-Track (consulte:).](https://www.space-track.org/) [Dados de efemérides padrão](default-ephemeris-data.md) 

 AWS Ground Station trata as efemérides como dados de uso [individualizados](https://aws.amazon.com/service-terms). Se você usar esse recurso opcional, a AWS usará seus dados de efemérides para fornecer suporte à solução de problemas. 

 O upload de efemérides TLE personalizadas pode melhorar a qualidade do rastreamento, lidar com operações iniciais em que não há efemérides do [Space-Track disponíveis](https://www.space-track.org/) e contabilizar as manobras. AWS Ground Station

**nota**  
 Ao fornecer efemérides personalizadas antes que um número de catálogo de satélite seja atribuído ao seu satélite, você pode usar `00000` para o campo de número de catálogo de satélite do TLE e `000` para a parte do número de lançamento do campo designador internacional do TLE (por exemplo, `24000A` para um veículo lançado em 2024).   
 Para obter mais informações sobre o formato de TLEs, consulte [Conjunto de elementos de duas linhas](https://en.wikipedia.org/wiki/Two-line_element_set). 

## Criando uma efeméride de TLE
<a name="w2aac28c17c11b9"></a>

 Uma efeméride de TLE pode ser criada usando a [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)ação na API. AWS Ground Station Essa ação fará o upload de uma efeméride usando dados no corpo da solicitação ou de um bucket do S3 especificado. 

 É importante observar que o upload de uma efeméride define as efemérides como `VALIDATING` e inicia um fluxo de trabalho assíncrono que validará e gerará contatos potenciais a partir de suas efemérides. Somente quando uma efeméride passar por esse fluxo de trabalho e se tornar `ENABLED`, ela será usada para contatos. Você deve pesquisar o status das efemérides ou usar CloudWatch eventos [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)para rastrear as mudanças de status das efemérides. 

 Para solucionar uma efeméride inválida, consulte: [Solucionar problemas de efemérides inválidas](troubleshooting-invalid-ephemerides.md) 

## Exemplo: criar efemérides de um conjunto de elementos de duas linhas (TLE) por meio da API
<a name="w2aac28c17c11c11"></a>

 A AWS SDKs CLI e pode ser usada para fazer upload de efemérides de um conjunto de elementos de duas linhas (TLE) por meio da chamada. AWS Ground Station [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html) Essas efemérides serão usadas no lugar dos dados de efemérides padrão de um satélite (consulte). [Dados de efemérides padrão](default-ephemeris-data.md) Este exemplo mostra como fazer isso usando o [AWS SDK para Python (](https://docs.aws.amazon.com/pythonsdk)Boto3). 

 Um conjunto TLE é um objeto formatado em JSON que TLEs une um ou mais para construir uma trajetória contínua. O TLEs conjunto TLE deve formar um conjunto contínuo que possamos usar para construir uma trajetória (ou seja, sem lacunas no tempo entre TLEs um conjunto TLE). Um conjunto de TLE de exemplo é mostrado abaixo: 

```
[
    {
        "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**  
 Os intervalos de tempo do TLEs em um conjunto de TLE devem corresponder exatamente para serem uma trajetória contínua e válida. 

 Um conjunto TLE pode ser carregado por meio do cliente AWS Ground Station boto3 da seguinte forma: 

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

 Essa chamada retornará um EphemerisID que pode ser usado para referenciar as efemérides no futuro. Por exemplo, podemos usar o EphemerisId fornecido na chamada acima para pesquisar o status da efeméride: 

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

 Um exemplo de resposta da ação [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html) é fornecido abaixo 

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

 É recomendável pesquisar a [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)rota ou usar CloudWatch eventos para rastrear o status das efemérides carregadas, pois elas devem passar por um fluxo de trabalho de validação assíncrona antes de serem configuradas `ENABLED` e se tornarem utilizáveis para agendar e executar contatos. 

 Observe que o ID NORAD TLEs em todo o conjunto TLE, `25994` nos exemplos acima, deve corresponder ao ID NORAD atribuído ao seu satélite no banco de dados do [Space-Track](https://www.space-track.org/). 

## Exemplo: carregamento de dados de efemérides do TLE de um bucket do S3
<a name="w2aac28c17c11c13"></a>

 Também é possível fazer upload de um arquivo de efemérides TLE diretamente de um bucket do S3 apontando para o bucket e a chave do objeto. AWS Ground Station recuperará o objeto em seu nome. As informações sobre a criptografia de dados em repouso AWS Ground Station estão detalhadas em:[Criptografia de dados em repouso para AWS Ground Station](security.encryption-at-rest.md). 

 Abaixo está um exemplo de upload de um arquivo de efemérides TLE de um 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']}")
```