

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.

# Comprendre comment AWS Ground Station utilise les éphémérides
<a name="ephemeris"></a>

 Une [éphéméride, au pluriel, est](https://en.wikipedia.org/wiki/Ephemeris) un fichier ou une structure de données fournissant la trajectoire d'objets astronomiques. Historiquement, ce fichier ne faisait référence qu'à des données tabulaires, mais progressivement, il a été dirigé vers une grande variété de fichiers de données indiquant la trajectoire d'un engin spatial. 

 L'API Ephemeris permet de télécharger des éphémérides personnalisées pour une utilisation avec un satellite AWS Ground Station . [Ces éphémérides remplacent les éphémérides par défaut de Space-Track (voir :).](https://www.space-track.org/) [Données d'éphémérides par défaut](default-ephemeris-data.md) Nous prenons en charge la réception de données éphémérides aux formats Orbit Ephemeris Message (OEM), élément à deux lignes (TLE) et élévation azimutale. 

 AWS Ground Station utilise les données d'éphémérides pour déterminer à quel moment les contacts deviennent disponibles en fonction des éphémérides fournies et pour commander correctement les antennes du réseau. AWS Ground Station [Par défaut, aucune action n'est requise pour fournir AWS Ground Station des éphémérides si un identifiant NORAD a été attribué à votre satellite.](https://en.wikipedia.org/wiki/Satellite_Catalog_Number) 

 Le téléchargement d'éphémérides personnalisées peut améliorer la qualité du suivi, gérer les premières opérations lorsqu'aucune éphéméride [Space-Track](https://www.space-track.org/) n'est disponible et prendre en compte les manœuvres. AWS Ground Station

 Il prend également AWS Ground Station en charge un format d'élévation azimutale, qui vous permet de spécifier directement les directions de pointage des antennes sans fournir d'informations sur l'orbite du satellite. Cela est utile pour les scénarios où un pointage précis de l'antenne est requis car les informations sur la trajectoire du satellite sont imprécises ou inconnues. 

**Topics**
+ [Données d'éphémérides par défaut](default-ephemeris-data.md)
+ [Fournir des données d'éphémérides personnalisées](providing-custom-ephemeris-data.md)
+ [Réservez des contacts avec des éphémérides personnalisées](reserving-contacts-with-custom-ephemeris.md)
+ [Comprendre quelle éphéméride est utilisée](which-ephemeris-is-used.md)
+ [Obtenez l'éphéméride actuelle d'un satellite](getting-current-ephemeris.md)
+ [Revenir aux données d'éphémérides par défaut](reverting-to-default-ephemeris-data.md)

# Données d'éphémérides par défaut
<a name="default-ephemeris-data"></a>

 Par défaut, AWS Ground Station utilise les données accessibles au public provenant de [Space-Track](https://www.space-track.org/), et aucune action n'est requise pour fournir ces AWS Ground Station éphémérides par défaut. [Ces éphémérides sont des [ensembles d'éléments à deux lignes (TLEs)](https://en.wikipedia.org/wiki/Two-line_element_set) associés à l'identifiant NORAD de votre satellite.](https://en.wikipedia.org/wiki/Satellite_Catalog_Number) Toutes les éphémérides par défaut ont une priorité de. `0` Par conséquent, elles seront toujours remplacées par toutes les éphémérides personnalisées non expirées téléchargées via l'API des éphémérides, qui doivent toujours avoir une priorité égale ou supérieure. `1` 

 Les satellites sans identifiant NORAD doivent télécharger des données d'éphémérides personnalisées sur. AWS Ground Station Par exemple, les satellites qui viennent d'être lancés ou qui sont volontairement omis du catalogue [Space-Track](https://www.space-track.org/) n'auraient aucun identifiant NORAD et auraient besoin d'éphémérides personnalisées téléchargées. Pour plus d'informations sur la fourniture de données d'éphémérides personnalisées, voir : [Fournir des données d'éphémérides personnalisées](providing-custom-ephemeris-data.md). 

# Fournir des données d'éphémérides personnalisées
<a name="providing-custom-ephemeris-data"></a>

**Important**  
 L'API ephemeris est actuellement en version préliminaire 

 L'accès à l'API Ephemeris n'est fourni qu'en cas de besoin. 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](https://console.aws.amazon.com/support) Notre équipe travaillera avec vous pour activer cette fonctionnalité en fonction de vos besoins spécifiques. 

## Présentation de
<a name="w2aac28c17b7"></a>

 L'API Ephemeris permet de télécharger des éphémérides personnalisées pour une utilisation avec un satellite AWS Ground Station . [Ces éphémérides remplacent les éphémérides par défaut de Space-Track (voir :).](https://www.space-track.org/) [Données d'éphémérides par défaut](default-ephemeris-data.md) Nous prenons en charge la réception de données éphémérides aux formats Orbit Ephemeris Message (OEM), élément à deux lignes (TLE) et élévation azimutale. 

 AWS Ground Station traite les éphémérides comme des données d'utilisation [individualisées](https://aws.amazon.com/service-terms). Si vous utilisez cette fonctionnalité facultative, AWS utilisera vos données d'éphéméride pour fournir une assistance en matière de dépannage. 

 Le téléchargement d'éphémérides personnalisées peut améliorer la qualité du suivi, gérer les opérations pour lesquelles aucune éphéméride [Space-Track](https://www.space-track.org/) n'est disponible et prendre en compte les manœuvres. AWS Ground Station

 Pour résoudre le problème d'une éphéméride non valide, consultez : [Résoudre les problèmes liés aux éphémérides non valides](troubleshooting-invalid-ephemerides.md) 

## Exemple : utilisation d'éphémérides fournies par le client avec AWS Ground Station
<a name="w2aac28c17b9"></a>

 [Pour des instructions plus détaillées sur l'utilisation des éphémérides fournies par le client avec AWS Ground Station, voir [Utilisation des éphémérides fournies par le client avec et son référentiel associé aws-samples/](https://aws.amazon.com/blogs/publicsector/using-customer-provided-ephemerides-with-aws-ground-station/). AWS Ground Station GitHub aws-groundstation-cpe](https://github.com/aws-samples/aws-groundstation-cpe) 

# Fournir des données d'éphémérides TLE
<a name="providing-tle-ephemeris-data"></a>

**Important**  
 L'API ephemeris est actuellement en version préliminaire 

 L'accès à l'API Ephemeris n'est fourni qu'en cas de besoin. 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](https://console.aws.amazon.com/support) Notre équipe travaillera avec vous pour activer cette fonctionnalité en fonction de vos besoins spécifiques. 

## Présentation de
<a name="w2aac28c17c11b7"></a>

 Les ensembles d'éléments à deux lignes (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 Space-Track (voir :).](https://www.space-track.org/) [Données d'éphémérides par défaut](default-ephemeris-data.md) 

 AWS Ground Station traite les éphémérides comme des données d'utilisation [individualisées](https://aws.amazon.com/service-terms). Si vous utilisez cette fonctionnalité facultative, AWS utilisera vos données d'éphéméride pour fournir une assistance en matière de dépannage. 

 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 éphéméride [Space-Track](https://www.space-track.org/) n'est disponible et prendre en compte les manœuvres. AWS Ground Station

**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 l'utiliser `00000` pour le champ du numéro de catalogue satellite du TLE et `000` pour la partie du 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 de TLEs, voir [Ensemble d'éléments sur deux lignes](https://en.wikipedia.org/wiki/Two-line_element_set). 

## Création d'une éphéméride TLE
<a name="w2aac28c17c11b9"></a>

 Une éphéméride TLE peut être créée à l'aide de l'[CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)action de l' AWS Ground Station API. Cette action téléchargera une éphéméride en utilisant les données contenues dans le corps de la demande 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 votre éphéméride. Ce n'est qu'une fois qu'une éphéméride aura passé ce flux de travail et `ENABLED` sera devenue qu'elle sera utilisée pour les contacts. Vous devez effectuer un sondage [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)pour connaître le statut des éphémérides ou utiliser des CloudWatch événements pour suivre les changements de statut des éphémérides. 

 Pour résoudre le problème d'une éphéméride non valide, consultez : [Résoudre les problèmes liés aux éphémérides non valides](troubleshooting-invalid-ephemerides.md) 

## Exemple : créer un ensemble d'éphémérides d'un élément à deux lignes (TLE) via une API
<a name="w2aac28c17c11c11"></a>

 La AWS SDKs CLI et peut être utilisée pour télécharger un ensemble d'éphémérides d'un élément à deux lignes (TLE) AWS Ground Station via l'[CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)appel. Cette éphéméride sera utilisée à la place des données d'éphéméride par défaut pour un satellite (voir). [Données d'éphémérides par défaut](default-ephemeris-data.md) Cet exemple montre comment procéder à l'aide du [AWS SDK pour Python (Boto3](https://docs.aws.amazon.com/pythonsdk)). 

 Un ensemble TLE est un objet au format JSON qui enchaîne un ou plusieurs TLEs objets pour construire une trajectoire continue. L' TLEs ensemble TLE doit former un ensemble continu que nous pouvons utiliser pour construire une trajectoire (c'est-à-dire aucun intervalle de temps entre TLEs les deux ensembles 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 de temps TLEs d'un ensemble TLE doivent correspondre exactement pour obtenir une trajectoire continue valide. 

 Un ensemble 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 l'éphéméride à l'avenir. Par exemple, nous pouvons utiliser l'EphemerisID fourni lors de l'appel ci-dessus pour demander le statut de l'éphémé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']}")
```

 Un exemple de réponse à l'[DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)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'[DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)itiné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 travail de validation asynchrone avant d'être définies et de devenir utilisables pour la planification `ENABLED` et l'exécution de contacts. 

 Notez que l'identifiant NORAD dans l'ensemble TLE, TLEs dans les exemples ci-dessus, doit correspondre `25994` à l'identifiant NORAD attribué à votre satellite dans la base de données [Space-Track](https://www.space-track.org/). 

## Exemple : téléchargement de données d'éphémérides TLE depuis un compartiment S3
<a name="w2aac28c17c11c13"></a>

 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é d'objet. AWS Ground Station récupérera l'objet en votre nom. Les informations sur le cryptage des données au repos AWS Ground Station sont détaillées dans :[Chiffrement des données au repos pour AWS Ground Station](security.encryption-at-rest.md). 

 Vous trouverez ci-dessous un exemple de téléchargement d'un fichier d'éphémérides TLE à partir d'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']}")
```

# Fournir des données d'éphémérides OEM
<a name="providing-oem-ephemeris-data"></a>

**Important**  
 L'API ephemeris est actuellement en version préliminaire 

 L'accès à l'API Ephemeris n'est fourni qu'en cas de besoin. 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](https://console.aws.amazon.com/support) Notre équipe travaillera avec vous pour activer cette fonctionnalité en fonction de vos besoins spécifiques. 

## Présentation de
<a name="w2aac28c17c13b7"></a>

 Le message OEM (Orbit Ephemeris Message) est un format normalisé pour représenter les données de trajectoire des engins spatiaux. L'API Ephemeris permet de télécharger des éphémérides OEM pour les utiliser avec un satellite AWS Ground Station . [Ces éphémérides remplacent les éphémérides par défaut de Space-Track (voir :).](https://www.space-track.org/) [Données d'éphémérides par défaut](default-ephemeris-data.md) 

 AWS Ground Station traite les éphémérides comme des données d'utilisation [individualisées](https://aws.amazon.com/service-terms). Si vous utilisez cette fonctionnalité facultative, AWS nous utiliserons les données de vos éphémérides pour fournir une assistance en matière de dépannage. 

 Le téléchargement d'éphémérides OEM personnalisées peut améliorer la qualité du suivi, gérer les premières opérations lorsqu'aucune éphéméride [Space-Track](https://www.space-track.org/) n'est disponible et prendre en compte les manœuvres. AWS Ground Station

**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 l'utiliser `satelliteId` pour la `OBJECT_ID` partie de l'OEM.   
 Pour plus d'informations sur le format de OEMs, consultez[Format d'éphéméride OEM](#oem-ephemeris-format). 

## Format d'éphéméride OEM
<a name="oem-ephemeris-format"></a>

 AWS Ground Station traite les éphémérides fournies par le client OEM conformément à la [norme CCSDS](https://ccsds.org/Pubs/502x0b3e1.pdf) avec quelques restrictions supplémentaires. Les fichiers OEM doivent être au format KVN. Le tableau suivant décrit les différents champs d'un OEM et explique en quoi il AWS Ground Station diffère de la norme CCSDS. 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/ground-station/latest/ug/providing-oem-ephemeris-data.html)

 \$1 Si des lignes non prises en charge par AWS Ground Station sont incluses dans l'OEM fourni, celui-ci échouera à la validation. 

 Les écarts importants par rapport à la norme CCSDS sont les AWS Ground Station suivants : 
+ `CCSDS_OEM_VERS`est tenu de l'être`2.0`.
+ `REF_FRAME`doit être l'un `EME2000` ou l'autre` ITRF2000`.
+ `REF_FRAME_EPOCH`n'est pas pris en charge par AWS Ground Station.
+ `CENTER_NAME`est tenu de l'être`Earth`.
+ `TIME_SYSTEM`est tenu de l'être`UTC`.
+ `INTERPOLATION`et `INTERPOLATION_DEGREE` sont tous deux requis pour les AWS Ground Station éphémérides fournies par le client.

## Exemple d'éphéméride OEM au format KVN
<a name="w2aac28c17c13c11"></a>

 Voici un exemple tronqué d'éphéméride OEM au format KVN pour le satellite de diffusion public JPSS-1. 

```
CCSDS_OEM_VERS = 2.0

COMMENT Orbit data are consistent with planetary ephemeris DE-430

CREATION_DATE  = 2024-07-22T05:20:59
ORIGINATOR     = Raytheon-JPSS/CGS

META_START
OBJECT_NAME          = J1
OBJECT_ID            = 2017-073A
CENTER_NAME          = Earth
REF_FRAME            = EME2000
TIME_SYSTEM          = UTC
START_TIME           = 2024-07-22T00:00:00.000000
STOP_TIME            = 2024-07-22T00:06:00.000000
INTERPOLATION        = Lagrange
INTERPOLATION_DEGREE = 5
META_STOP

2024-07-22T00:00:00.000000   5.905147360000000e+02  -1.860082793999999e+03  -6.944807075000000e+03  -5.784245796000000e+00   4.347501391999999e+00  -1.657256863000000e+00
2024-07-22T00:01:00.000000   2.425572045154201e+02  -1.595860765983339e+03  -7.030938457373539e+03  -5.810660250794190e+00   4.457103652219009e+00  -1.212889340333023e+00
2024-07-22T00:02:00.000000  -1.063224256538050e+02  -1.325569732497146e+03  -7.090262617183503e+03  -5.814973972202444e+00   4.549739160042560e+00  -7.639633689161465e-01
2024-07-22T00:03:00.000000  -4.547973959231161e+02  -1.050238305712201e+03  -7.122556683227951e+03  -5.797176562437553e+00   4.625064829516728e+00  -3.121687831090774e-01
2024-07-22T00:04:00.000000  -8.015427368657785e+02  -7.709137891269565e+02  -7.127699477194810e+03  -5.757338007808417e+00   4.682800822515077e+00   1.407953645161997e-01
2024-07-22T00:05:00.000000  -1.145240083085062e+03  -4.886583601179489e+02  -7.105671911254255e+03  -5.695608435738609e+00   4.722731329786999e+00   5.932259682105052e-01
2024-07-22T00:06:00.000000  -1.484582479061495e+03  -2.045451985605701e+02  -7.056557069672793e+03  -5.612218005854990e+00   4.744705579872771e+00   1.043421397392599e+00
```

## Création d'une éphéméride OEM
<a name="w2aac28c17c13c13"></a>

 Une éphéméride OEM peut être créée à l'aide de l'[CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)action de l' AWS Ground Station API. Cette action téléchargera une éphéméride en utilisant les données contenues dans le corps de la demande 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 votre éphéméride. Ce n'est qu'une fois qu'une éphéméride aura passé ce flux de travail et `ENABLED` sera devenue qu'elle sera utilisée pour les contacts. Vous devez effectuer un sondage [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)pour connaître le statut des éphémérides ou utiliser des CloudWatch événements pour suivre les changements de statut des éphémérides. 

 Pour résoudre le problème d'une éphéméride non valide, consultez : [Résoudre les problèmes liés aux éphémérides non valides](troubleshooting-invalid-ephemerides.md) 

## Exemple : téléchargement de données d'éphémérides OEM depuis un compartiment S3
<a name="w2aac28c17c13c15"></a>

 Il est également possible de télécharger un fichier d'éphéméride OEM directement depuis un compartiment S3 en pointant sur le compartiment et la clé d'objet. AWS Ground Station récupérera l'objet en votre nom. Les informations sur le cryptage des données au repos AWS Ground Station sont détaillées dans :[Chiffrement des données au repos pour AWS Ground Station](security.encryption-at-rest.md). 

 Vous trouverez ci-dessous un exemple de téléchargement d'un fichier d'éphémérides OEM à partir d'un compartiment S3 

```
import boto3
from datetime import datetime, timedelta, timezone

# 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.oem"

# Create sample OEM data in KVN format
oem_data = """CCSDS_OEM_VERS = 2.0

COMMENT Orbit data are consistent with planetary ephemeris DE-430

CREATION_DATE  = 2024-07-22T05:20:59
ORIGINATOR     = Raytheon-JPSS/CGS

META_START
OBJECT_NAME          = J1
OBJECT_ID            = 2017-073A
CENTER_NAME          = Earth
REF_FRAME            = EME2000
TIME_SYSTEM          = UTC
START_TIME           = 2024-07-22T00:00:00.000000
STOP_TIME            = 2024-07-22T00:06:00.000000
INTERPOLATION        = Lagrange
INTERPOLATION_DEGREE = 5
META_STOP

2024-07-22T00:00:00.000000   5.905147360000000e+02  -1.860082793999999e+03  -6.944807075000000e+03  -5.784245796000000e+00   4.347501391999999e+00  -1.657256863000000e+00
2024-07-22T00:01:00.000000   2.425572045154201e+02  -1.595860765983339e+03  -7.030938457373539e+03  -5.810660250794190e+00   4.457103652219009e+00  -1.212889340333023e+00
2024-07-22T00:02:00.000000  -1.063224256538050e+02  -1.325569732497146e+03  -7.090262617183503e+03  -5.814973972202444e+00   4.549739160042560e+00  -7.639633689161465e-01
2024-07-22T00:03:00.000000  -4.547973959231161e+02  -1.050238305712201e+03  -7.122556683227951e+03  -5.797176562437553e+00   4.625064829516728e+00  -3.121687831090774e-01
2024-07-22T00:04:00.000000  -8.015427368657785e+02  -7.709137891269565e+02  -7.127699477194810e+03  -5.757338007808417e+00   4.682800822515077e+00   1.407953645161997e-01
2024-07-22T00:05:00.000000  -1.145240083085062e+03  -4.886583601179489e+02  -7.105671911254255e+03  -5.695608435738609e+00   4.722731329786999e+00   5.932259682105052e-01
2024-07-22T00:06:00.000000  -1.484582479061495e+03  -2.045451985605701e+02  -7.056557069672793e+03  -5.612218005854990e+00   4.744705579872771e+00   1.043421397392599e+00
"""

# Upload sample OEM data to S3
print(f"Uploading OEM data to s3://{bucket_name}/{object_key}")

s3_client.put_object(
    Bucket=bucket_name, Key=object_key, Body=oem_data, ContentType="text/plain"
)

print("OEM data uploaded successfully to S3")

# Create OEM ephemeris from S3
print("Creating OEM ephemeris from S3...")

s3_oem_ephemeris = ground_station_client.create_ephemeris(
    name="2024-07-22 S3 OEM Upload",
    satelliteId="fde41049-14f7-413e-bd7b-EXAMPLE01",
    enabled=True,
    expirationTime=datetime.now(timezone.utc) + timedelta(days=5),
    priority=2,
    ephemeris={"oem": {"s3Object": {"bucket": bucket_name, "key": object_key}}},
)

print(f"Created OEM ephemeris with ID: {s3_oem_ephemeris['ephemerisId']}")
```

 Vous trouverez ci-dessous un exemple de données renvoyées par l'[DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)action appelée pour les éphémérides OEM téléchargées dans le bloc d'exemple de code précédent. 

```
{
  "creationTime": 1620254718.765,
  "enabled": true,
  "name": "Example Ephemeris",
  "ephemerisId": "fde41049-14f7-413e-bd7b-EXAMPLE02",
  "priority": 2,
  "status": "VALIDATING",
  "suppliedData": {
    "oem": {
      "sourceS3Object": {
          "bucket": "ephemeris-bucket-for-testing",
          "key": "test_data.oem"
      }
    }
  }
}
```

# Fournir des données sur les éphémérides d'altitude azimutale
<a name="providing-azimuth-elevation-ephemeris-data"></a>

**Important**  
 La fonction d'éphéméride d'altitude azimutale est actuellement en état d'aperçu et nécessite une intégration explicite.   
 La fonctionnalité des éphémérides d'élévation d'azimut est soumise à un contrôle d'accès strict pour un nombre limité de cas d'utilisation spécialisés prédéterminés. L'accès est nettement plus restrictif que pour les fonctionnalités d'éphémérides standard fournies par le client. Pour plus d'informations sur les cas d'utilisation approuvés et le processus de demande d'accès, veuillez ouvrir un AWS Support ticket via le [AWS Support Center Console](https://console.aws.amazon.com/support). Notre équipe vous guidera tout au long du processus d'approbation pour les cas d'utilisation spécialisés. 

## Présentation de
<a name="w2aac28c17c15b5"></a>

 Les éphémérides d'élévation d'azimut permettent de spécifier directement les directions de pointage des antennes sans fournir d'informations orbitales pour les satellites. Au lieu de télécharger des données éphémérides décrivant l'orbite d'un satellite, vous fournissez des angles d'azimut et d'élévation horodatés qui indiquent à l'antenne exactement où pointer tout au long d'un contact. 

 AWS Ground Station traite les éphémérides comme des données d'utilisation [individualisées](https://aws.amazon.com/service-terms). Si vous utilisez cette fonctionnalité facultative, AWS utilisera vos données d'éphéméride pour fournir une assistance en matière de dépannage. 

 Cette approche est particulièrement utile pour les scénarios suivants : 
+ *Assistance aux premières opérations :* pendant la phase de lancement et d'orbite précoce (LEOP) lorsque des données orbitales précises ne sont pas disponibles ou que les paramètres orbitaux changent rapidement.
+ *Modèles de pointage personnalisés :* mise en œuvre de séquences de pointage spécifiques pour les tests d'antennes ou les opérations non standard.

**Note**  
 Lorsque vous utilisez des éphémérides d'altitude azimutale, l'ARN du satellite peut être omis de la demande de réservation de contact. Si l'ARN du satellite n'est pas omis, il sera toujours inclus dans les données de contact, mais les éphémérides d'élévation d'azimut seront utilisées pour le pointage de l'antenne plutôt que pour effectuer une résolution prioritaire des éphémérides. L'éphéméride d'élévation azimutale est associée à une station au sol spécifique et définit les directions de pointage de l'antenne pour cet emplacement. 

## Format de données des éphémérides d'altitude azimutale
<a name="w2aac28c17c15b7"></a>

 Les données d'éphémérides d'altitude azimutale se composent de valeurs d'azimut et d'altitude étiquetées dans le temps et organisées en segments. Chaque segment contient une série d'angles d'azimut et d'élévation qui couvrent une plage de temps spécifique. 

 Les principaux éléments des données d'éphémérides d'altitude azimutale sont les suivants : 
+ *Station au sol : station* au sol spécifique où cette éphéméride d'altitude azimutale sera utilisée.
+ *Unité d'angle :* unité de mesure des angles (`DEGREE_ANGLE`ou`RADIAN`).
+ *Segments :* une ou plusieurs collections limitées dans le temps d'angles d'azimut et d'élévation.
+ *Angles horodatés :* valeurs d'azimut et d'altitude individuelles avec horodatage associé.

 Chaque segment nécessite : 
+ Une époque de référence (heure de base pour le segment)
+ Une plage horaire valide (heures de début et de fin du segment)
+ Au moins 5 paires horodatées azimuth/elevation 

 Contraintes d'élévation de l'azimut : 
+ Azimut en degrés : -180° à 360°
+ Azimut en radians : -π à 2π
+ Altitude en degrés : -90° à 90°
+ Altitude en radians : -π/2 à π/2
+ Les valeurs temporelles doivent être classées par ordre croissant dans chaque segment
+ Les segments ne doivent pas se chevaucher dans le temps

 Pour plus d'informations, consultez la documentation de l'[CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)API et le type de [TimeAzEl](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_TimeAzEl.html)données. 

## Création d'éphémérides d'élévation d'azimut
<a name="w2aac28c17c15b9"></a>

 Les éphémérides d'élévation azimutale sont créées à l'aide de la même action d'[CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)API, mais avec le type d'éphéméride. `azEl` Les principales différences par rapport aux éphémérides TLE et OEM sont les suivantes : 
+ Vous devez spécifier un `groundStation` paramètre
+ Le `satelliteId` paramètre doit être omis de la demande
+ Les paramètres de priorité ne s'appliquent pas (chaque éphéméride d'azimut est spécifique à une station au sol)
+ Chaque segment doit contenir au moins 5 azimuth/elevation points pour permettre une interpolation de Lagrange de 4e ordre
+ Les limites et exigences supplémentaires sont détaillées dans la documentation de [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)l'API

 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 votre éphéméride. Une éphéméride ne sera utilisée pour les contacts qu'une fois qu'elle aura passé ce flux de travail et que son statut sera passé. `ENABLED` Vous devez effectuer un sondage [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)pour connaître le statut des éphémérides ou utiliser des CloudWatch événements pour suivre les changements de statut des éphémérides. 

 Pour résoudre le problème d'une éphéméride non valide, consultez : [Résoudre les problèmes liés aux éphémérides non valides](troubleshooting-invalid-ephemerides.md) 

## Exemple : créer des éphémérides d'altitude azimutale via l'API
<a name="w2aac28c17c15c11"></a>

 L'exemple suivant montre comment créer une éphéméride d'altitude azimutale à l'aide du AWS SDK pour Python (Boto3) : 

```
import boto3

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Create azimuth elevation ephemeris
azimuth_elevation_ephemeris = ground_station_client.create_ephemeris(
    name="Azimuth Elevation for Ohio Ground Station",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-03-15T10:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-03-15T10:00:00Z",
                                "endTime": "2024-03-15T10:15:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

print(f"Created ephemeris with ID: {azimuth_elevation_ephemeris['ephemerisId']}")
```

 Dans cet exemple : 
+ Les données d'altitude azimutale sont associées à la station au sol « Ohio 1 »
+ Les angles sont spécifiés en degrés
+ Le segment couvre une période de 15 minutes
+ Les `dt` valeurs sont décalées en secondes atomiques par rapport à l'époque de référence
+ Six azimuth/elevation paires sont fournies (le minimum est de 5)

## Exemple : télécharger des données d'altitude azimutale depuis S3
<a name="w2aac28c17c15c13"></a>

 Pour les ensembles de données plus volumineux, vous pouvez télécharger les données d'altitude azimutale à partir d'un compartiment S3 : 

```
import boto3
import json

# Create AWS clients
s3_client = boto3.client("s3")
ground_station_client = boto3.client("groundstation")

# Define S3 bucket and key
bucket_name = "azimuth-elevation-bucket"
object_key = "singapore-azimuth-elevation.json"

# Create sample azimuth elevation data
azimuth_elevation_data = {
    "angleUnit": "DEGREE_ANGLE",
    "azElSegmentList": [
        {
            "referenceEpoch": "2024-03-15T10:00:00Z",
            "validTimeRange": {
                "startTime": "2024-03-15T10:00:00Z",
                "endTime": "2024-03-15T10:15:00Z",
            },
            "azElList": [
                {"dt": 0.0, "az": 45.0, "el": 10.0},
                {"dt": 180.0, "az": 50.0, "el": 15.0},
                {"dt": 360.0, "az": 55.0, "el": 20.0},
                {"dt": 540.0, "az": 60.0, "el": 25.0},
                {"dt": 720.0, "az": 65.0, "el": 30.0},
                {"dt": 900.0, "az": 70.0, "el": 35.0},
            ],
        },
        {
            "referenceEpoch": "2024-03-15T10:15:00Z",
            "validTimeRange": {
                "startTime": "2024-03-15T10:15:00Z",
                "endTime": "2024-03-15T10:30:00Z",
            },
            "azElList": [
                {"dt": 0.0, "az": 70.0, "el": 35.0},
                {"dt": 180.0, "az": 75.0, "el": 40.0},
                {"dt": 360.0, "az": 80.0, "el": 45.0},
                {"dt": 540.0, "az": 85.0, "el": 50.0},
                {"dt": 720.0, "az": 90.0, "el": 55.0},
                {"dt": 900.0, "az": 95.0, "el": 50.0},
            ],
        },
    ],
}

# Upload sample data to S3
print(f"Uploading azimuth elevation data to s3://{bucket_name}/{object_key}")

s3_client.put_object(
    Bucket=bucket_name,
    Key=object_key,
    Body=json.dumps(azimuth_elevation_data, indent=2),
    ContentType="application/json",
)
print("Sample data uploaded successfully to S3")

# Create azimuth elevation ephemeris from S3
print("Creating azimuth elevation ephemeris from S3...")

s3_azimuth_elevation_ephemeris = ground_station_client.create_ephemeris(
    name="Large Azimuth Elevation Dataset",
    ephemeris={
        "azEl": {
            "groundStation": "Singapore 1",
            "data": {"s3Object": {"bucket": bucket_name, "key": object_key}},
        }
    },
)

print(f"Created ephemeris with ID: {s3_azimuth_elevation_ephemeris['ephemerisId']}")
```

 L'objet S3 doit contenir une structure JSON avec les données d'altitude azimutale dans le même format que celui indiqué dans l'exemple de téléchargement direct. 

## Réservation de contacts avec des éphémérides d'élévation d'azimut
<a name="w2aac28c17c15c15"></a>

 Lorsque vous utilisez une éphéméride d'élévation d'azimut pour réserver un contact, le processus est différent de celui des éphémérides TLE et OEM : 

1. Créez l'éphéméride d'élévation azimutale à l'aide de [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)

1. Attendez que l'éphéméride atteigne le statut `ENABLED`

1. Réservez le contact en utilisant [ReserveContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ReserveContact.html)le suivi des dérogations

 Exemple de réservation d'un contact avec des éphémérides d'élévation d'azimut : 

```
import boto3
from datetime import datetime
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# First, create an azimuth elevation ephemeris
print("Creating azimuth elevation ephemeris...")

create_ephemeris_response = ground_station_client.create_ephemeris(
    name="Azimuth Elevation for Contact Reservation",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-03-15T10:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-03-15T10:00:00Z",
                                "endTime": "2024-03-15T10:15:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = create_ephemeris_response["ephemerisId"]
print(f"Created ephemeris with ID: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
print("Waiting for ephemeris to become ENABLED...")

while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# Reserve contact with azimuth elevation ephemeris
print("Reserving contact...")

contact = ground_station_client.reserve_contact(
    # Note: satelliteArn is omitted when using azimuth elevation ephemeris
    missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-mission-profile",
    groundStation="Ohio 1",
    startTime=datetime(2024, 3, 15, 10, 0, 0),
    endTime=datetime(2024, 3, 15, 10, 15, 0),
    trackingOverrides={"programTrackSettings": {"azEl": {"ephemerisId": ephemeris_id}}},
)

print(f"Reserved contact with ID: {contact['contactId']}")
```

**Note**  
 Le `satelliteArn` paramètre peut être omis lors de la réservation d'un contact avec des éphémérides d'élévation d'azimut. L'antenne suivra les angles d'azimut et d'élévation spécifiés pendant le contact. 

## Liste des contacts disponibles
<a name="w2aac28c17c15c17"></a>

 Lorsque vous utilisez des éphémérides d'élévation d'azimut, l'API nécessite des [ListContacts](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListContacts.html)paramètres spécifiques : 
+ Le `satelliteArn` paramètre peut être omis de la demande
+ Vous devez fournir un `ephemeris` paramètre avec l'ID d'éphéméride d'élévation d'azimut pour spécifier les éphémérides à utiliser.
+ Les fenêtres de contact disponibles indiquent lorsque les angles d'azimut et d'élévation fournis sont au-dessus du [masque de site de la station](https://docs.aws.amazon.com/ground-station/latest/ug/locations.site-masks.html) au sol demandée.
+ Vous devez toujours fournir `groundStation` et `missionProfileArn`

 Exemple de création d'une éphéméride d'altitude azimutale et de liste des contacts disponibles à l'aide de cette éphéméride : 

```
import boto3
from datetime import datetime, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Step 1: Create azimuth elevation ephemeris
print("Creating azimuth elevation ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="Stockholm AzEl Ephemeris",
    ephemeris={
        "azEl": {
            "groundStation": "Stockholm 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-04-01T12:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-04-01T12:00:00Z",
                                "endTime": "2024-04-01T12:30:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 30.0, "el": 15.0},
                                {"dt": 360.0, "az": 45.0, "el": 30.0},
                                {"dt": 720.0, "az": 60.0, "el": 45.0},
                                {"dt": 1080.0, "az": 75.0, "el": 35.0},
                                {"dt": 1440.0, "az": 90.0, "el": 20.0},
                                {"dt": 1800.0, "az": 105.0, "el": 10.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Step 2: Wait for ephemeris to become ENABLED
print("Waiting for ephemeris to become ENABLED...")
while True:
    describe_response = ground_station_client.describe_ephemeris(
        ephemerisId=ephemeris_id
    )
    status = describe_response["status"]

    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        # Check for validation errors
        if "invalidReason" in describe_response:
            print(f"Ephemeris validation failed: {describe_response['invalidReason']}")
        raise RuntimeError(f"Ephemeris failed with status: {status}")

    print(f"Current status: {status}, waiting...")
    time.sleep(5)

# Step 3: List available contacts using the azimuth elevation ephemeris
print("Listing available contacts with azimuth elevation ephemeris...")

# Convert epoch timestamps to datetime objects
start_time = datetime.fromtimestamp(1760710513, tz=timezone.utc)
end_time = datetime.fromtimestamp(1760883313, tz=timezone.utc)

contacts_response = ground_station_client.list_contacts(
    startTime=start_time,
    endTime=end_time,
    groundStation="Stockholm 1",
    statusList=["AVAILABLE"],
    ephemeris={"azEl": {"id": ephemeris_id}},
    # satelliteArn is optional
    satelliteArn="arn:aws:groundstation::111122223333:satellite/a88611b0-f755-404e-b60d-57d8aEXAMPLE",
    missionProfileArn="arn:aws:groundstation:eu-north-1:111122223333:mission-profile/966b72f6-6d82-4e7e-b072-f8240EXAMPLE",
)

# Process the results
if contacts_response["contactList"]:
    print(f"Found {len(contacts_response['contactList'])} available contacts:")
    for contact in contacts_response["contactList"]:
        print(f"  - Contact from {contact['startTime']} to {contact['endTime']}")
        print(
            f"    Max elevation: {contact.get('maximumElevation', {}).get('value', 'N/A')}°"
        )
else:
    print("No available contacts found for the specified azimuth elevation ephemeris")
```

**Note**  
 Le `ephemeris` paramètre avec l'ID d'altitude d'azimut doit être fourni lors de la liste des contacts afin de spécifier les éphémérides d'élévation d'azimut à utiliser pour déterminer les fenêtres de contact. S'il `satelliteArn` est inclus, il sera associé aux données de contact, mais les éphémérides d'élévation azimutale seront utilisées pour le pointage de l'antenne plutôt que pour effectuer une résolution prioritaire des éphémérides. 

# Réservez des contacts avec des éphémérides personnalisées
<a name="reserving-contacts-with-custom-ephemeris"></a>

## Présentation de
<a name="w2aac28c19b3"></a>

 Lorsque vous utilisez des éphémérides personnalisées (TLE, OEM ou élévation d'azimut), vous pouvez réserver des contacts à l'aide de l'API. [ReserveContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ReserveContact.html) Cette section décrit deux flux de travail courants pour la réservation de contacts et les points importants à prendre en compte pour garantir une planification des contacts réussie. 

 AWS Ground Station les antennes sont des ressources partagées entre plusieurs clients. Cela signifie que même si une fenêtre de contact apparaît disponible lorsque vous listez des contacts, un autre client peut la réserver avant vous. Il est donc essentiel de vérifier que votre contact arrive dans l'`SCHEDULED`État après la réservation et de mettre en place un suivi approprié des changements d'état du contact. 

**Important**  
 Pour les éphémérides d'altitude azimutale, le `satelliteArn` paramètre peut être omis dans la `ReserveContact` demande, et vous devez fournir l'identifiant de l'éphéméride. `trackingOverrides` Pour les éphémérides TLE et OEM, vous devez toujours fournir le. `satelliteArn` 

## Flux de travail de réservation de contacts
<a name="w2aac28c19b5"></a>

 Il existe deux flux de travail principaux pour réserver des contacts avec des éphémérides personnalisées : 

1. *List-then-reserve flux de travail :* Répertoriez d'abord les fenêtres de contact disponibles en utilisant [ListContacts](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListContacts.html), puis sélectionnez et réservez une fenêtre spécifique. Cette approche est utile lorsque vous souhaitez voir toutes les opportunités disponibles avant de faire une sélection.

1. *Processus de réservation directe :* réservez directement un contact pour un créneau horaire spécifique sans avoir d'abord répertorié les contacts disponibles. Cette approche est utile lorsque vous connaissez déjà l'heure de contact souhaitée ou que vous travaillez avec des horaires prédéterminés.

 Les deux flux de travail sont valides et le choix dépend de vos exigences opérationnelles. Les sections suivantes fournissent des exemples de chaque approche. 

## Flux de travail 1 : Répertorier les contacts disponibles puis réserver
<a name="w2aac28c19b7"></a>

 Ce flux de travail recherche d'abord les fenêtres de contact disponibles, puis réserve une fenêtre spécifique. Cela est utile lorsque vous souhaitez voir toutes les opportunités disponibles avant de faire une sélection. 

### Exemple : liste et réserve avec éphémérides d'altitude azimutale
<a name="w2aac28c19b7b5"></a>

```
import boto3
from datetime import datetime, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Create azimuth elevation ephemeris
print("Creating azimuth elevation ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="AzEl Ephemeris for Contact",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": "2024-03-15T10:00:00Z",
                            "validTimeRange": {
                                "startTime": "2024-03-15T10:00:00Z",
                                "endTime": "2024-03-15T10:15:00Z",
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# List available contacts
print("Listing available contacts...")
contacts = ground_station_client.list_contacts(
    # Note: satelliteArn is omitted for azimuth elevation ephemeris
    groundStation="Ohio 1",
    missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-profile",
    startTime=datetime(2024, 3, 15, 10, 0, 0, tzinfo=timezone.utc),
    endTime=datetime(2024, 3, 15, 10, 15, 0, tzinfo=timezone.utc),
    statusList=["AVAILABLE"],
    ephemeris={"azEl": {"id": ephemeris_id}},
)

if contacts["contactList"]:
    # Reserve the first available contact
    contact = contacts["contactList"][0]
    print(f"Reserving contact from {contact['startTime']} to {contact['endTime']}...")

    reservation = ground_station_client.reserve_contact(
        # Note: satelliteArn is omitted when using azimuth elevation ephemeris
        missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-profile",
        groundStation="Ohio 1",
        startTime=contact["startTime"],
        endTime=contact["endTime"],
        trackingOverrides={
            "programTrackSettings": {"azEl": {"ephemerisId": ephemeris_id}}
        },
    )

    print(f"Reserved contact: {reservation['contactId']}")
else:
    print("No available contacts found")
```

### Exemple : Répertorier et réserver avec les éphémérides TLE
<a name="w2aac28c19b7b7"></a>

```
import boto3
from datetime import datetime, timedelta, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

satellite_id = "12345678-1234-1234-1234-123456789012"
satellite_arn = f"arn:aws:groundstation::111122223333:satellite/{satellite_id}"

# Create TLE ephemeris
print("Creating TLE ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="TLE Ephemeris for Contact",
    satelliteId=satellite_id,
    enabled=True,
    expirationTime=datetime.now(timezone.utc) + timedelta(days=7),
    priority=1,  # Higher priority than default ephemeris
    ephemeris={
        "tle": {
            "tleData": [
                {
                    "tleLine1": "1 25994U 99068A   24075.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 = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# List available contacts
print("Listing available contacts...")
start_time = datetime.now(timezone.utc) + timedelta(hours=1)
end_time = start_time + timedelta(days=1)

contacts = ground_station_client.list_contacts(
    satelliteArn=satellite_arn,  # Required for TLE/OEM ephemeris
    groundStation="Hawaii 1",
    missionProfileArn="arn:aws:groundstation:us-west-2:111122223333:mission-profile/example-profile",
    startTime=start_time,
    endTime=end_time,
    statusList=["AVAILABLE"],
)

if contacts["contactList"]:
    # Reserve the first available contact
    contact = contacts["contactList"][0]
    print(f"Reserving contact from {contact['startTime']} to {contact['endTime']}...")

    reservation = ground_station_client.reserve_contact(
        satelliteArn=satellite_arn,  # Required for TLE/OEM ephemeris
        missionProfileArn="arn:aws:groundstation:us-west-2:111122223333:mission-profile/example-profile",
        groundStation="Hawaii 1",
        startTime=contact["startTime"],
        endTime=contact["endTime"],
        # Note: trackingOverrides is optional for TLE/OEM
        # The system will use the highest priority ephemeris automatically
    )

    print(f"Reserved contact: {reservation['contactId']}")
else:
    print("No available contacts found")
```

## Workflow 2 : réservation par contact direct
<a name="w2aac28c19b9"></a>

 Ce flux de travail réserve directement un contact sans répertorier au préalable les fenêtres disponibles. Cette approche est utile lorsque vous connaissez déjà l'heure de contact souhaitée ou que vous implémentez une planification automatisée. 

### Exemple : réservation directe avec éphémérides d'élévation d'azimut
<a name="w2aac28c19b9b5"></a>

```
import boto3
from datetime import datetime, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

# Define contact window
contact_start = datetime(2024, 3, 20, 14, 0, 0, tzinfo=timezone.utc)
contact_end = datetime(2024, 3, 20, 14, 15, 0, tzinfo=timezone.utc)

# Create azimuth elevation ephemeris for the specific contact time
print("Creating azimuth elevation ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="Direct Contact AzEl Ephemeris",
    ephemeris={
        "azEl": {
            "groundStation": "Ohio 1",
            "data": {
                "azElData": {
                    "angleUnit": "DEGREE_ANGLE",
                    "azElSegmentList": [
                        {
                            "referenceEpoch": contact_start.isoformat(),
                            "validTimeRange": {
                                "startTime": contact_start.isoformat(),
                                "endTime": contact_end.isoformat(),
                            },
                            "azElList": [
                                {"dt": 0.0, "az": 45.0, "el": 10.0},
                                {"dt": 180.0, "az": 50.0, "el": 15.0},
                                {"dt": 360.0, "az": 55.0, "el": 20.0},
                                {"dt": 540.0, "az": 60.0, "el": 25.0},
                                {"dt": 720.0, "az": 65.0, "el": 30.0},
                                {"dt": 900.0, "az": 70.0, "el": 35.0},
                            ],
                        }
                    ],
                }
            },
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# Directly reserve the contact
print(f"Reserving contact from {contact_start} to {contact_end}...")

reservation = ground_station_client.reserve_contact(
    # Note: satelliteArn is omitted for azimuth elevation
    missionProfileArn="arn:aws:groundstation:us-east-2:111122223333:mission-profile/example-profile",
    groundStation="Ohio 1",
    startTime=contact_start,
    endTime=contact_end,
    trackingOverrides={"programTrackSettings": {"azEl": {"ephemerisId": ephemeris_id}}},
)

print(f"Reserved contact: {reservation['contactId']}")
```

### Exemple : réservation directe avec TLE ephemeris
<a name="w2aac28c19b9b7"></a>

```
import boto3
from datetime import datetime, timedelta, timezone
import time

# Create AWS Ground Station client
ground_station_client = boto3.client("groundstation")

satellite_id = "12345678-1234-1234-1234-123456789012"
satellite_arn = f"arn:aws:groundstation::111122223333:satellite/{satellite_id}"

# Define contact window (based on predicted pass)
contact_start = datetime(2024, 3, 21, 10, 30, 0, tzinfo=timezone.utc)
contact_end = datetime(2024, 3, 21, 10, 42, 0, tzinfo=timezone.utc)

# Create TLE ephemeris
print("Creating TLE ephemeris...")
ephemeris_response = ground_station_client.create_ephemeris(
    name="Direct Contact TLE Ephemeris",
    satelliteId=satellite_id,
    enabled=True,
    expirationTime=contact_end + timedelta(days=1),
    priority=1,
    ephemeris={
        "tle": {
            "tleData": [
                {
                    "tleLine1": "1 25994U 99068A   24080.50000000  .00000075  00000-0  26688-4 0  9999",
                    "tleLine2": "2 25994  98.2007  35.6589 0001234  89.2782  18.9934 14.57114995112000",
                    "validTimeRange": {
                        "startTime": (contact_start - timedelta(hours=1)).isoformat(),
                        "endTime": (contact_end + timedelta(hours=1)).isoformat(),
                    },
                }
            ]
        }
    },
)

ephemeris_id = ephemeris_response["ephemerisId"]
print(f"Created ephemeris: {ephemeris_id}")

# Wait for ephemeris to become ENABLED
while True:
    status = ground_station_client.describe_ephemeris(ephemerisId=ephemeris_id)[
        "status"
    ]
    if status == "ENABLED":
        print("Ephemeris is ENABLED")
        break
    elif status in ["INVALID", "ERROR"]:
        raise RuntimeError(f"Ephemeris failed: {status}")
    time.sleep(5)

# Directly reserve the contact
print(f"Reserving contact from {contact_start} to {contact_end}...")

reservation = ground_station_client.reserve_contact(
    satelliteArn=satellite_arn,  # Required for TLE ephemeris
    missionProfileArn="arn:aws:groundstation:us-west-2:111122223333:mission-profile/example-profile",
    groundStation="Hawaii 1",
    startTime=contact_start,
    endTime=contact_end,
    # Note: trackingOverrides is optional for TLE
    # The system will use the highest priority ephemeris automatically
)

print(f"Reserved contact: {reservation['contactId']}")
```

## Surveillance des changements d'état des contacts
<a name="w2aac28c19c11"></a>

 Après avoir réservé un contact, il est important de surveiller son état afin de s'assurer qu'il effectue une transition réussie `SCHEDULED` et d'être informé de tout problème. AWS Ground Station envoie des événements à Amazon EventBridge pour tous les changements d'état des contacts. 

 Les états de contact suivent ce cycle de vie : 
+ `SCHEDULING`- Le contact est en cours de traitement pour la planification
+ `SCHEDULED`- Le contact a été planifié avec succès et sera exécuté
+ `FAILED_TO_SCHEDULE`- Le contact n'a pas pu être planifié (état du terminal)

 Pour plus d'informations sur les états et le cycle de vie des contacts, consultez[Comprendre le cycle de vie des contacts](contacts.lifecycle.md). 

### Mettre en œuvre le suivi de l'état des contacts avec EventBridge
<a name="w2aac28c19c11c11"></a>

 Pour surveiller les changements d'état des contacts en temps réel, vous pouvez configurer une EventBridge règle Amazon qui déclenche une fonction Lambda chaque fois qu'un contact de la Ground Station change d'état. Cette approche est plus efficace et plus évolutive que l'interrogation de l'état du contact. 

#### Étapes d’implémentation
<a name="w2aac28c19c11c11b5"></a>

1. Création d'une fonction Lambda pour traiter les événements de changement d'état des contacts

1. Créez une EventBridge règle qui correspond aux événements de changement d'état des contacts de la Ground Station

1. Ajouter la fonction Lambda comme cible pour la règle

#### Exemple de gestionnaire de fonctions Lambda
<a name="w2aac28c19c11c11b7"></a>

 Pour un exemple complet de fonction Lambda qui traite les événements de changement d'état des contacts, consultez la `GroundStationCloudWatchEventHandlerLambda` ressource du modèle. `AquaSnppJpssTerraDigIF.yml` CloudFormation Ce modèle est disponible dans le compartiment Amazon S3 d'accueil du AWS Ground Station client. Pour obtenir des instructions sur l'accès à ce modèle, consultez la [Assemblage](examples.pbs-data-dataflow-endpoint.md#examples.pbs-dataflow-endpoint.putting-it-together) section de l'exemple de point de terminaison du flux de données. 

#### EventBridge configuration des règles
<a name="w2aac28c19c11c11b9"></a>

 La EventBridge règle doit utiliser le modèle d'événement suivant pour correspondre à tous les changements d'état des contacts de la Ground Station : 

```
{
  "source": ["aws.groundstation"],
  "detail-type": ["Ground Station Contact State Change"]
}
```

 Pour filtrer uniquement des états spécifiques (par exemple, les défaillances), vous pouvez ajouter un filtre détaillé : 

```
{
  "source": ["aws.groundstation"],
  "detail-type": ["Ground Station Contact State Change"],
  "detail": {
    "contactStatus": [
      "FAILED_TO_SCHEDULE",
      "FAILED",
      "AWS_FAILED",
      "AWS_CANCELLED"
    ]
  }
}
```

 Pour obtenir des instructions détaillées sur la création de EventBridge règles avec des cibles Lambda, consultez la section [Création de règles qui réagissent aux événements](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule.html) dans le guide de EventBridge l'utilisateur Amazon. 

### Configuration de EventBridge règles pour l'automatisation
<a name="w2aac28c19c11c13"></a>

 Vous pouvez créer des EventBridge règles pour répondre automatiquement aux changements d'état des contacts. Par exemple : 
+ Envoyer des notifications lorsqu'un contact ne parvient pas à planifier
+ Déclenchez des fonctions Lambda pour préparer les ressources lorsqu'un contact entre `PREPASS`
+ Enregistrez les contacts complétés à des fins d'audit

 Pour obtenir des informations détaillées sur la configuration EventBridge des règles relatives aux AWS Ground Station événements, consultez[Automatisez AWS Ground Station avec des événements](monitoring.automating-events.md). 

## Bonnes pratiques et considérations
<a name="w2aac28c19c13"></a>

### Gestion des conflits de planification
<a name="w2aac28c19c13b3"></a>

 Les AWS Ground Station antennes étant des ressources partagées, une fenêtre de contact qui apparaît disponible `ListContacts` peut être réservée par un autre client avant que vous ne puissiez la réserver. Pour gérer cela : 

1. Vérifiez toujours l'état du contact après la réservation

1. Implémenter une logique de nouvelle tentative avec des fenêtres temporelles alternatives

1. Envisagez de réserver des contacts bien à l'avance, dans la mesure du possible

1. Utiliser EventBridge les événements pour surveiller les `FAILED_TO_SCHEDULE` états

### Calendrier de validation des éphémérides
<a name="w2aac28c19c13b5"></a>

 N'oubliez pas que les éphémérides doivent être en `ENABLED` état avant de pouvoir les utiliser pour réserver des contacts. Le processus de validation prend généralement de quelques secondes à quelques minutes selon le type et la taille des éphémérides. Vérifiez toujours le statut des éphémérides avant de tenter de réserver des contacts. 

### Considérations relatives au calendrier des contacts
<a name="w2aac28c19c13b7"></a>

 Lorsque vous utilisez des éphémérides personnalisées : 
+ Assurez-vous que votre éphéméride couvre toute la durée du contact
+ [Pour les éphémérides d'élévation d'azimut, vérifiez que les angles maintiennent l'antenne au-dessus du masque de site pendant tout le contact](https://docs.aws.amazon.com/ground-station/latest/ug/locations.site-masks.html)
+ Tenez compte des délais d'expiration des éphémérides lors de la planification de futurs contacts

### Différences entre les API par type d'éphéméride
<a name="w2aac28c19c13b9"></a>

 L'`ReserveContact`API se comporte différemment selon le type d'éphéméride : 


| Type d'éphéméride | Learn par satellite requis | Suivi des annulations requis | 
| --- | --- | --- | 
| TLE | Oui | Non (facultatif) | 
| OEM | Oui | Non (facultatif) | 
| Élévation de l'azimut | Non (facultatif) | Oui | 

# Comprendre quelle éphéméride est utilisée
<a name="which-ephemeris-is-used"></a>

 *Les éphémérides ont une *priorité*, une *date d'expiration* et un indicateur activé.* Ensemble, ils déterminent quelles éphémérides sont utilisées pour le suivi lors d'un contact. 

## Éphémérides TLE et OEM
<a name="w2aac28c21b5"></a>

 Pour les éphémérides OEM et TLE, une seule éphéméride peut être active pour chaque satellite. L'éphéméride qui sera utilisée est l'éphéméride activée la plus prioritaire dont la date d'expiration se situe dans le futur. Une valeur de priorité plus élevée indique une priorité plus élevée. Les temps de contact disponibles renvoyés par [ListContacts](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListContacts.html)sont basés sur cette éphéméride. Si plusieurs `ENABLED` éphémérides ont la même priorité, les éphémérides les plus récemment créées ou mises à jour seront utilisées. 

**Note**  
 AWS Ground Station [dispose d'un quota de service sur le nombre d'éphémérides `ENABLED` fournies par le client par satellite (voir : Quotas de service).](https://docs.aws.amazon.com/general/latest/gr/gs.html) Pour télécharger des données d'éphémérides après avoir atteint ce quota, supprimez (en utilisant [DeleteEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DeleteEphemeris.html)) ou désactivez (en utilisant) les éphémérides les moins [UpdateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateEphemeris.html)prioritaires/les plus anciennes créées par le client. 

 [Si aucune éphéméride n'a été créée, ou si aucune éphéméride n'a de `ENABLED` statut, une éphéméride par défaut AWS Ground Station sera utilisée pour le satellite (depuis Space-Track), si elle est disponible.](https://www.space-track.org/) Cette éphéméride par défaut a la priorité 0. 

## Éphémérides d'élévation d'azimut
<a name="w2aac28c21b7"></a>

 Les éphémérides d'élévation d'azimut fonctionnent différemment des éphémérides OEM et TLE. Chaque éphéméride d'altitude azimutale est associée à une station au sol spécifique et n'a pas de priorité. Lorsque vous réservez un contact avec des éphémérides d'altitude d'azimut, vous spécifiez explicitement les éphémérides d'altitude d'azimut à utiliser par le biais du paramètre. `trackingOverrides` 

 Principales différences pour les éphémérides d'élévation d'azimut : 
+ Pas de système de priorité : vous sélectionnez explicitement les éphémérides pour chaque contact
+ Spécifique à une station au sol : chaque éphéméride est associée à une station au sol particulière
+ Aucune solution de secours automatique : si l'éphéméride spécifiée n'est pas disponible, le contact échouera

**Note**  
 Les éphémérides d'élévation d'azimut ne sont pas en concurrence avec les éphémérides OEM et TLE. Ils sont sélectionnés explicitement lors de la réservation d'un contact et ne sont utilisés que lorsque des dérogations au suivi sont spécifiées. 

## Effet des nouvelles éphémérides sur les contacts précédemment programmés
<a name="w2aac28c21b9"></a>

 Utilisez l'[DescribeContact API](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html) pour visualiser les effets des nouvelles éphémérides sur les contacts précédemment planifiés en renvoyant les durées de visibilité actives. 

 Pour les éphémérides OEM et TLE, les contacts planifiés avant le téléchargement d'une nouvelle éphéméride conserveront l'heure de contact initialement prévue, tandis que le suivi de l'antenne utilisera les éphémérides actives. Si la position de l'engin spatial, basée sur les éphémérides actives, diffère considérablement de celle des éphémérides précédentes, cela peut entraîner une réduction du temps de contact du satellite avec l'antenne en raison du fait que l'engin spatial fonctionne en dehors du masque du site. transmit/receive Par conséquent, nous vous recommandons d'annuler et de reprogrammer vos futurs contacts après avoir chargé une nouvelle éphéméride très différente de l'éphéméride précédente. 

 Grâce à l'[DescribeContact API](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html), vous pouvez déterminer la partie de votre futur contact qui est inutilisable en raison du fonctionnement du vaisseau spatial en dehors du masque du transmit/receive site en comparant votre contact `startTime` prévu `endTime` avec le `visibilityStartTime` et `visibilityEndTime` renvoyé. Si vous choisissez d'annuler et de reprogrammer vos futurs contacts, la plage de temps de contact ne doit pas dépasser la plage de visibilité de plus de 30 secondes. Les contacts annulés peuvent entraîner des frais s'ils sont annulés trop près du moment du contact. Pour plus d'informations sur les contacts annulés, voir : [Ground Station FAQs](https://aws.amazon.com/ground-station/faqs/). 

 Pour les éphémérides d'altitude azimutale, les contacts planifiés utiliseront les éphémérides spécifiques sélectionnées lors de la réservation du contact. Si vous devez mettre à jour les données d'altitude azimutale d'un contact programmé, vous pouvez annuler et reprogrammer le contact avec une nouvelle éphéméride. 

# Obtenez l'éphéméride actuelle d'un satellite
<a name="getting-current-ephemeris"></a>

 Les éphémérides actuellement utilisées par AWS Ground Station un satellite spécifique peuvent être récupérées en appelant les actions [GetSatellite](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html)or [ListSatellites](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListSatellites.html). Ces deux méthodes renverront des métadonnées pour les éphémérides actuellement utilisées. Ces métadonnées d'éphémérides sont différentes pour les éphémérides personnalisées téléchargées vers AWS Ground Station et pour les éphémérides par défaut. 

**Note**  
 Les éphémérides d'altitude azimutale ne sont pas associées aux satellites et ne sont donc pas renvoyées par ou. [GetSatellite[ListSatellites](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListSatellites.html)](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html) Pour récupérer des informations sur les éphémérides d'altitude azimutale, utilisez l'[DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)API avec l'identifiant d'éphéméride spécifique ou utilisez-la pour voir toutes les éphémérides disponibles [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)pour votre compte. 

 Les éphémérides par défaut `source` incluront uniquement les champs et. `epoch` `epoch`C'est l'[époque](https://en.wikipedia.org/wiki/Epoch_(astronomy)) de l'[ensemble d'éléments à deux lignes](https://en.wikipedia.org/wiki/Two-line_element_set) extrait de [Space-Track](https://www.space-track.org/), et il est actuellement utilisé pour calculer la trajectoire du satellite. 

 Une éphéméride personnalisée aura une `source` valeur de `CUSTOMER_PROVIDED` et inclura un identifiant unique dans le `ephemerisId` champ. Cet identifiant unique peut être utilisé pour rechercher les éphémérides via l'[DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)action. Un `name` champ facultatif sera renvoyé si un nom a été attribué à l'éphéméride lors du téléchargement AWS Ground Station via l'[CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html)action. 

 Il est important de noter que les éphémérides sont mises à jour dynamiquement AWS Ground Station afin que les données renvoyées ne soient qu'un instantané des éphémérides utilisées au moment de l'appel à l'API. 

## Exemple de [GetSatellite](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html)retour pour un satellite utilisant une éphéméride par défaut
<a name="w2aac28c23c13"></a>

```
{
    "satelliteId": "e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
    "satelliteArn": "arn:aws:groundstation::111122223333:satellite/e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
    "noradSatelliteID": 25994,
    "groundStations": [
        "Ohio 1",
        "Oregon 1"
    ],
    "currentEphemeris": {
        "source": "SPACE_TRACK",
        "epoch": 1528245583.619
    }
}
```

## Exemple [GetSatellite](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html)de satellite utilisant une éphéméride personnalisée
<a name="w2aac28c23c15"></a>

```
{
      "satelliteId": "e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
      "satelliteArn": "arn:aws:groundstation::111122223333:satellite/e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
      "noradSatelliteID": 25994,
      "groundStations": [
            "Ohio 1",
            "Oregon 1"
      ],
      "currentEphemeris": {
          "source": "CUSTOMER_PROVIDED",
          "ephemerisId": "e1cfe0c7-67f9-4d98-bad2-EXAMPLE",
          "name": "My Ephemeris"
      }
  }
```

## Liste des éphémérides d'élévation d'azimut
<a name="w2aac28c23c17"></a>

 Comme les éphémérides d'altitude azimutale ne sont pas associées aux satellites, vous devez utiliser différentes méthodes pour découvrir et récupérer les informations APIs les concernant : 

1. [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)À utiliser pour répertorier toutes les éphémérides de votre compte, y compris les éphémérides d'altitude azimutale. Vous pouvez filtrer par statut et par type d'éphéméride.

1. [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html)À utiliser avec un identifiant d'éphéméride spécifique pour obtenir des informations détaillées sur une éphéméride d'altitude azimutale.

1. [DescribeContact](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeContact.html)À utiliser avec un identifiant de contact spécifique pour obtenir des informations détaillées sur une éphéméride utilisée pour le contact.

 Exemple de [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)réponse incluant une éphéméride d'élévation d'azimut : 

```
{
    "ephemerides": [
        {
            "ephemerisId": "abc12345-6789-def0-1234-5678EXAMPLE",
            "ephemerisType": "AZ_EL",
            "name": "Azimuth Elevation for Ohio Ground Station",
            "status": "ENABLED",
            "creationTime": 1620254718.765
        },
        {
            "ephemerisId": "def45678-9012-abc3-4567-8901EXAMPLE",
            "ephemerisType": "TLE",
            "name": "TLE for Satellite 12345",
            "status": "ENABLED",
            "creationTime": 1620254700.123
        }
    ]
}
```

**Note**  
 Dans la [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html)réponse, les éphémérides à élévation d'azimut auront un `groundStation` champ au lieu d'un `satelliteId` champ, ce qui les rendra faciles à identifier. 

# Revenir aux données d'éphémérides par défaut
<a name="reverting-to-default-ephemeris-data"></a>

 Lorsque vous téléchargez des données d'éphémérides personnalisées, elles remplacent les éphémérides AWS Ground Station utilisées par défaut pour ce satellite en particulier. AWS Ground Station n'utilise pas à nouveau les éphémérides par défaut tant qu'aucune éphéméride non expirée fournie par le client n'est actuellement disponible. AWS Ground Station ne répertorie pas non plus les contacts après la date d'expiration des éphémérides actuellement fournies par le client, même si une éphéméride par défaut est disponible après cette date d'expiration. 

**Note**  
 Les éphémérides d'altitude azimutale n'ont pas de valeurs par défaut et ne remplacent pas les éphémérides satellites. Ils sont sélectionnés de manière explicite lors de la réservation d'un contact à l'aide du `trackingOverrides` paramètre. Si vous ne souhaitez plus utiliser les éphémérides d'altitude azimutale, il vous suffit de réserver des contacts sans spécifier de dérogations de suivi, et le système utilisera les éphémérides satellites actives à la place. 

## Inversion des éphémérides TLE et OEM
<a name="w2aac28c25b7"></a>

 Pour revenir aux éphémérides [Space-Track](https://www.space-track.org/) par défaut pour un satellite, vous devez effectuer l'une des opérations suivantes : 
+  Supprimez (en utilisant [DeleteEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DeleteEphemeris.html)) ou désactivez (en utilisant [UpdateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_UpdateEphemeris.html)) toutes les éphémérides activées fournies par le client. Vous pouvez répertorier les éphémérides fournies par le client pour un satellite à l'aide de. [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html) 
+  Attendez que toutes les éphémérides existantes fournies par le client expirent. 

 Vous pouvez confirmer que l'éphéméride par défaut est utilisée en appelant [GetSatellite](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_GetSatellite.html)et en vérifiant que l'`source`éphéméride actuelle du satellite est bien celle du satellite. `SPACE_TRACK` Voir [Données d'éphémérides par défaut](default-ephemeris-data.md) pour plus d'informations sur les éphémérides par défaut. 

## Gestion des éphémérides d'élévation d'azimut
<a name="w2aac28c25b9"></a>

 Étant donné que les éphémérides d'altitude azimutale sont sélectionnées de manière explicite pour chaque contact et ne sont pas associées aux satellites, il n'existe aucun concept de « retour » à une valeur par défaut. Vous pouvez plutôt gérer les éphémérides d'altitude azimutale comme suit : 
+  *Pour arrêter d'utiliser les éphémérides d'élévation d'azimut : il* suffit de réserver de nouveaux contacts sans spécifier ni spécifier un. `trackingOverrides` `satelliteArn` Le contact utilisera plutôt les éphémérides actives du satellite spécifié. 
+  *Pour supprimer les éphémérides d'altitude d'azimut non utilisées : utilisez cette option [DeleteEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DeleteEphemeris.html)pour supprimer les éphémérides* d'élévation d'azimut qui ne sont plus nécessaires. Notez que vous ne pouvez pas supprimer une éphéméride actuellement utilisée par un contact programmé. 

 Pour répertorier toutes les éphémérides d'élévation d'azimut de votre compte, utilisez. [ListEphemerides](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_ListEphemerides.html) Les éphémérides d'élévation d'azimut peuvent être identifiées par le `ephemerisType` champ ou par la présence d'un champ au lieu d'un `groundStation` champ dans la réponse. `satelliteId` 