提供 OEM ephemeris 資料 - AWS Ground Station

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

提供 OEM ephemeris 資料

重要

ephemeris API 目前處於預覽狀態

僅在需要時提供對 Ephemeris API 的存取。如果您需要上傳自訂 ephemeris 資料的功能,您應該聯絡

概觀

Orbit Ephemeris Message (OEM) 是一種標準化格式,用於表示太空船軌跡資料。Ephemeris API 允許將 OEM 暫時化上傳到 AWS Ground Station ,以便與衛星搭配使用。這些暫時性物質會覆寫來自 Space-Track 的預設暫時性物質 (請參閱:預設暫時性資料)。

AWS Ground Station 將 ephemerides 視為個人化用量資料。如果您使用此選用功能, AWS 將使用 ephemeris 資料來提供故障診斷支援。

上傳自訂 OEM 暫時化可以改善追蹤品質、處理沒有可用 Space-Track 暫時化的早期操作 AWS Ground Station,以及計算操作。

注意

在為衛星指派衛星目錄號碼之前提供自訂臨時資料時,您可以將 satelliteId用於 OEM OBJECT_ID的部分。

如需 OEMs 格式的詳細資訊,請參閱 OEM ephemeris 格式

OEM ephemeris 格式

AWS Ground Station 根據 CCSDS 標準處理 OEM 客戶提供的 Ephemerides,但有一些額外的限制。OEM 檔案應為 KVN 格式。下表概述 OEM 中的不同欄位,以及 與 CCSDS 標準 AWS Ground Station 的差異。

區段 欄位 需要 CCSDS AWS Ground Station 必要 備註
標頭 CCSDS_OEM_VERS 必要值:2.0
COMMENT
分類
CREATION_DATE
原始伺服器
MESSAGE_ID
中繼資料 META_START
COMMENT
OBJECT_NAME
OBJECT_ID
CENTER_NAME 必要值:地球
REF_FRAME 接受的值:EME2000, ITRF2000
REF_FRAME_EPOCH 不支援* 不需要,因為接受的 REF_FRAMEs 具有隱含 epoch
TIME_SYSTEM 必要值:UTC
START_TIME
USEABLE_START_TIME
USEABLE_STOP_TIME
STOP_TIME
INTERPOLATION 必要,因此 AWS Ground Station 可以為聯絡人產生準確的指向角度。
INTERPOLATION_DEGREE 必要,因此 AWS Ground Station 可以為聯絡人產生準確的指向角度。
META_STOP
資料 X 在 中代表 km
Y 在 中代表 km
Z 在 中代表 km
X_DOT 在 中代表 km/s
Y_DOT 在 中代表 km/s
Z_DOT 在 中代表 km/s
X_DDOT 在 中代表 km/s^2
Y_DDOT 在 中代表 km/s^2
Z_DDOT 在 中代表 km/s^2
共變數矩陣 轉移_開始
EPOCH
DISC_REF_FRAME
樞紐分析_停止

* 如果提供 OEM 中 AWS Ground Station 包含 不支援的任何資料列,OEM 將失敗驗證。

與 的 CCSDS 標準的重要偏差 AWS Ground Station 為:

  • CCSDS_OEM_VERS 必須是 2.0

  • REF_FRAME 必須是 EME2000 ITRF2000

  • REF_FRAME_EPOCH 不支援 AWS Ground Station。

  • CENTER_NAME 必須是 Earth

  • TIME_SYSTEM 必須是 UTC

  • INTERPOLATIONINTERPOLATION_DEGREE 都是 AWS Ground Station 客戶提供的 ephemeris 的必要項目。

KVN 格式的範例 OEM ephemeris

以下是 JPSS-1 公有廣播者衛星的 KVN 格式 OEM ephemeris 截斷範例。

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

建立 OEM ephemeris

OEM ephemeris 可以使用 API 中的 AWS Ground Station CreateEphemeris 動作建立。此動作將使用請求內文中的資料或從指定的 S3 儲存貯體上傳暫時性資料。

請務必注意,上傳 ephemeris 會將 ephemeris 設定為 , VALIDATING並啟動非同步工作流程,以驗證和產生來自 ephemeris 的潛在聯絡人。只有在 ephemeris 通過此工作流程後,ENABLED才會將其用於聯絡人。您應該輪詢 DescribeEphemeris 的暫時性狀態,或使用 CloudWatch 事件來追蹤暫時性狀態變更。

若要對無效的暫時性事件進行故障診斷,請參閱: 故障診斷無效的短暫性事件

範例:從 S3 儲存貯體上傳 OEM ephemeris 資料

您也可以透過指向儲存貯體和物件金鑰,直接從 S3 儲存貯體上傳 OEM ephemeris 檔案。 AWS Ground Station 將代表您擷取物件。有關 中靜態資料加密的詳細資訊 AWS Ground Station ,請參閱:的靜態資料加密 AWS Ground Station

以下是從 S3 儲存貯體上傳 OEM ephemeris 檔案的範例

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

以下是從 DescribeEphemeris 動作傳回的資料範例,該動作會針對上一個範例程式碼區塊中上傳的 OEM ephemeris 呼叫。

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