Berikan data ephemeris TLE - AWS Ground Station

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Berikan data ephemeris TLE

penting

API ephemeris saat ini dalam status Pratinjau

Akses ke API Ephemeris disediakan hanya sesuai kebutuhan.

Gambaran umum

Set elemen dua baris (TLE) adalah format standar untuk menggambarkan orbit satelit. API Ephemeris memungkinkan ephemerides TLE diunggah untuk digunakan dengan satelit. AWS Ground Station Ephemerides ini mengesampingkan ephemerides default dari Space-Track (lihat:). Data ephemeris standar

AWS Ground Station memperlakukan ephemerides sebagai Data Penggunaan Individual. Jika Anda menggunakan fitur opsional ini, AWS akan menggunakan data ephemeris Anda untuk memberikan dukungan pemecahan masalah.

Mengunggah ephemerides TLE khusus dapat meningkatkan kualitas pelacakan, menangani operasi awal di mana tidak ada ephemerides Space-Track yang tersedia, dan memperhitungkan manuver. AWS Ground Station

catatan

Saat memberikan ephemeris khusus sebelum nomor katalog satelit ditetapkan untuk satelit Anda, Anda dapat menggunakan 00000 untuk bidang nomor katalog satelit TLE, dan 000 untuk bagian nomor peluncuran bidang penunjuk internasional TLE (misalnya 24000A untuk kendaraan yang diluncurkan pada tahun 2024).

Untuk informasi selengkapnya tentang format TLEs, lihat Kumpulan elemen dua baris.

Membuat ephemeris TLE

Ephemeris TLE dapat dibuat menggunakan CreateEphemeristindakan di API. AWS Ground Station Tindakan ini akan mengunggah ephemeris menggunakan data baik di badan permintaan atau dari bucket S3 yang ditentukan.

Penting untuk dicatat bahwa mengunggah ephemeris menyetel ephemeris VALIDATING dan memulai alur kerja asinkron yang akan memvalidasi dan menghasilkan kontak potensial dari ephemeris Anda. Hanya setelah ephemeris melewati alur kerja ini dan menjadi ENABLED akan digunakan untuk kontak. Anda harus melakukan polling DescribeEphemerisuntuk status ephemeris atau menggunakan CloudWatch peristiwa untuk melacak perubahan status ephemeris.

Untuk memecahkan masalah ephemeris yang tidak valid, lihat: Memecahkan masalah ephemerides yang tidak valid

Contoh: Buat elemen dua baris (TLE) set ephemeris melalui API

The AWS SDKs, dan CLI dapat digunakan untuk mengunggah elemen dua baris (TLE) yang disetel ephemeris melalui panggilan. AWS Ground Station CreateEphemeris Ephemeris ini akan digunakan sebagai pengganti data ephemeris default untuk satelit (lihat). Data ephemeris standar Contoh ini menunjukkan bagaimana melakukan ini menggunakan AWS SDK for Python (Boto3).

Set TLE adalah objek berformat JSON yang merangkai satu atau lebih TLEs bersama-sama untuk membangun lintasan kontinu. TLEs Dalam set TLE harus membentuk himpunan kontinu yang dapat kita gunakan untuk membangun lintasan (yaitu tidak ada celah waktu antara TLEs dalam set TLE). Contoh set TLE ditunjukkan di bawah ini:

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

Rentang waktu TLEs dalam set TLE harus sama persis untuk menjadi lintasan kontinu yang valid.

Satu set TLE dapat diunggah melalui klien AWS Ground Station boto3 sebagai berikut:

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

Panggilan ini akan mengembalikan ephemerisid yang dapat digunakan untuk mereferensikan ephemeris di masa depan. Misalnya, kita dapat menggunakan ephemerisid yang disediakan dari panggilan di atas untuk melakukan polling untuk status ephemeris:

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

Contoh respons dari DescribeEphemeristindakan disediakan di bawah ini

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

Disarankan untuk melakukan polling DescribeEphemerisrute atau menggunakan CloudWatch peristiwa untuk melacak status ephemeris yang diunggah karena harus melalui alur kerja validasi asinkron sebelum disetel ke dan menjadi dapat digunakan untuk ENABLED menjadwalkan dan mengeksekusi kontak.

Perhatikan bahwa ID NORAD di semua set TLE, TLEs dalam contoh 25994 di atas, harus cocok dengan ID NORAD yang telah ditetapkan satelit Anda dalam database Space-Track.

Contoh: Mengunggah data ephemeris TLE dari bucket S3

Dimungkinkan juga untuk mengunggah file ephemeris TLE langsung dari bucket S3 dengan menunjuk ke bucket dan kunci objek. AWS Ground Station akan mengambil objek atas nama Anda. Informasi tentang enkripsi data saat istirahat AWS Ground Station dirinci dalam:Enkripsi data saat istirahat untuk AWS Ground Station.

Di bawah ini adalah contoh mengunggah file ephemeris TLE dari bucket S3

import boto3 from datetime import datetime, timedelta, timezone import json # Create AWS clients s3_client = boto3.client("s3") ground_station_client = boto3.client("groundstation") # Define S3 bucket and key bucket_name = "ephemeris-bucket" object_key = "test_data.tle" # Create sample TLE set data # Note: For actual satellites, use real TLE data from sources like Space-Track tle_set_data = [ { "tleLine1": "1 25994U 99068A 20318.54719794 .00000075 00000-0 26688-4 0 9997", "tleLine2": "2 25994 98.2007 30.6589 0001234 89.2782 18.9934 14.57114995111906", "validTimeRange": { "startTime": datetime.now(timezone.utc), "endTime": datetime.now(timezone.utc) + timedelta(days=3), }, }, { "tleLine1": "1 25994U 99068A 20321.54719794 .00000075 00000-0 26688-4 0 9998", "tleLine2": "2 25994 98.2007 33.6589 0001234 89.2782 18.9934 14.57114995112342", "validTimeRange": { "startTime": datetime.now(timezone.utc) + timedelta(days=3), "endTime": datetime.now(timezone.utc) + timedelta(days=7), }, }, ] # Convert to JSON string for upload tle_json = json.dumps(tle_set_data, indent=2) # Upload sample TLE data to S3 print(f"Uploading TLE set data to s3://{bucket_name}/{object_key}") s3_client.put_object( Bucket=bucket_name, Key=object_key, Body=tle_json, ContentType="application/json" ) print("TLE set data uploaded successfully to S3") print(f"Uploaded {len(tle_set_data)} TLE entries covering 7 days") # Create TLE ephemeris from S3 print("Creating TLE ephemeris from S3...") s3_tle_ephemeris = ground_station_client.create_ephemeris( name="2022-11-05 S3 TLE Upload", satelliteId="fde41049-14f7-413e-bd7b-EXAMPLE01", enabled=True, expirationTime=datetime.now(timezone.utc) + timedelta(days=5), priority=2, ephemeris={"tle": {"s3Object": {"bucket": bucket_name, "key": object_key}}}, ) print(f"Created TLE ephemeris with ID: {s3_tle_ephemeris['ephemerisId']}")