

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# TLE エフェメリスデータを提供する
<a name="providing-tle-ephemeris-data"></a>

**重要**  
 エフェメリス API は現在プレビュー状態です。

 エフェメリス API へのアクセスは、必要な場合にのみ提供されます。カスタムエフェメリスデータをアップロードする必要がある場合は、 を通じて AWS サポート チケットを開いてください[AWS Support Center Console](https://console.aws.amazon.com/support)。当社のチームがお客様と協力して、特定の要件に応じてこの機能を有効にします。

## 概要:
<a name="w2aac28c17c11b7"></a>

 2 行要素 (TLE) セットは、衛星軌道を記述するための標準化された形式です。Ephemeris API では、衛星 AWS Ground Station で使用する TLE エフェメリスを にアップロードできます。これらのエフェメリスは、[Space-Track](https://www.space-track.org/) のデフォルトのエフェメリスを上書きします (「」を参照[デフォルトのエフェメリスデータ](default-ephemeris-data.md))。

 AWS Ground Station はエフェメリスを[個別の使用状況データ](https://aws.amazon.com/service-terms)として扱います。このオプション機能を使用する場合、AWS はエフェメリスデータを使用してトラブルシューティングサポートを提供します。

 カスタム TLE エフェメリスをアップロードすると、追跡の品質が向上し、[Space-Track](https://www.space-track.org/) エフェメリスが利用できない早期オペレーションを処理し AWS Ground Station、操作を考慮できます。

**注記**  
 衛星に衛星カタログ番号が割り当てられる前にカスタムエフェメリスを提供する場合、TLE の`00000`衛星カタログ番号フィールドと TLE の国際指定子フィールドの`000`起動番号部分 (2024 年に起動された車両など) `24000A`に を使用できます。  
 TLEs」を参照してください。 [https://en.wikipedia.org/wiki/Two-line_element_set](https://en.wikipedia.org/wiki/Two-line_element_set)

## TLE エフェメリスの作成
<a name="w2aac28c17c11b9"></a>

 TLE エフェメリスは、 API の [CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html) アクション AWS Ground Station を使用して作成できます。このアクションによって、リクエスト本文または指定された S3 バケットのデータを使用してエフェメリスがアップロードされます。

 エフェメリスがアップロードされると、エフェメリスが `VALIDATING` に設定されて非同期ワークフローが開始されることに注意してください。このワークフローでは、エフェメリスを検証し、そのエフェメリスを基に潜在的なコンタクトを生成します。エフェメリスは、このワークフローを実施して `ENABLED` になって初めて、コンタクトに使用されます。[DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html) をポーリングしてエフェメリスステータスを確認するか、CloudWatch イベントを使用してエフェメリスのステータスの変化を追跡する必要があります。

 無効なエフェメリスのトラブルシューティングを行うには、以下を参照してください。 [無効なエフェメリスのトラブルシューティング](troubleshooting-invalid-ephemerides.md)

## 例: API を使用して 2 行要素 (TLE) セットエフェメリスを作成する
<a name="w2aac28c17c11c11"></a>

 AWS SDKs と CLI を使用して、[CreateEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_CreateEphemeris.html) 呼び出し AWS Ground Station を介して 2 行要素 (TLE) セットのエフェメリスを にアップロードできます。このエフェメリスは、衛星のデフォルトのエフェメリスデータの代わりに使用されます (「」を参照[デフォルトのエフェメリスデータ](default-ephemeris-data.md))。この例では、[AWS SDK for Python (Boto3) ](https://docs.aws.amazon.com/pythonsdk)を使用してこれを行う方法を示します。

 TLE セットは JSON 形式のオブジェクトで、1 つ以上の TLE をつなぎ合わせて連続した軌道を構築します。TLE セット内の TLE は、軌道の構築に使用できる連続したセットを形成する (つまり、TLE セット内の TLE 間に時間的なギャップがない) 必要があります。TLE セットの例を以下に示します。

```
[
    {
        "tleLine1": "1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997",
        "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
        "validTimeRange": {
            "startTime": 12345,
            "endTime": 12346
        }
    },
    {
        "tleLine1": "1 25994U 99068A   20318.54719794  .00000075  00000-0  26688-4 0  9997",
        "tleLine2": "2 25994  98.2007  30.6589 0001234  89.2782  18.9934 14.57114995111906",
        "validTimeRange": {
            "startTime": 12346,
            "endTime": 12347
        }
    }
]
```

**注記**  
 TLE セット内の TLE の時間範囲は、有効で連続的な軌道になるためには正確に一致する必要があります。

 TLE セットは、次のように boto3 AWS Ground Station クライアントを介してアップロードできます。

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

 この呼び出しは、今後エフェメリスを参照するために使用できる ephemerisId を返します。たとえば、上記の呼び出しから提供された ephemerisId を使用して、エフェメリスのステータスをポーリングできます。

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

 [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html) アクションからのレスポンスの例を以下に示します。

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

 [DescribeEphemeris](https://docs.aws.amazon.com/ground-station/latest/APIReference/API_DescribeEphemeris.html) ルートをポーリングするか、CloudWatch イベントを使用して、アップロードされたエフェメリスのステータスを追跡することをお勧めします。アップロードされたエフェメリスは、 に設定`ENABLED`され、問い合わせのスケジュールと実行に使用できるようになる前に非同期検証ワークフローを通過する必要があるためです。

 上記の例では、TLEs セット内のすべての TLE の NORAD ID `25994` は、衛星が [Space-Track](https://www.space-track.org/) データベースで割り当てられている NORAD ID と一致する必要があります。

## 例: S3 バケットから TLE エフェメリスデータをアップロードする
<a name="w2aac28c17c11c13"></a>

 バケットとオブジェクトキーを指すことで、S3 バケットから直接 TLE エフェメリスファイルをアップロードすることもできます。 AWS Ground Station はユーザーに代わってオブジェクトを取得します。の保管中のデータの暗号化の詳細については AWS Ground Station 、「」を参照してください[の保管中のデータ暗号化 AWS Ground Station](security.encryption-at-rest.md)。

 以下は、S3 バケットから TLE エフェメリスファイルをアップロードする例です。

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