本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
提供 OEM 星历数据
重要
星历 API 当前处于预览状态
星历 API 的访问权限仅在需要时提供。<如果您需要能够上传自定义星历数据,则应联系 aws-groundstation@amazon.com。>
概述
轨道星历信息 (OEM) 是一种用于表示航天器轨迹数据的标准化格式。Ephemeris API 允许将 OEM 星历上传到卫星上以 AWS Ground Station 供卫星使用。这些星历表覆盖了 Space-Track 中的默认星历表(参见:)。
AWS Ground Station 将星历视为个性化
上传自定义 OEM 星历表可以提高跟踪质量,在没有 Spac
注意
在为卫星分配卫星目录编号之前提供自定义星历时,您可以用satelliteId于 OEM 的OBJECT_ID部分。
有关格式的更多信息 OEMs,请参阅OEM 星历格式。
OEM 星历格式
AWS Ground Station 根据 CCSDS 标准处理 OEM 客户提供的星历表,但有一些
| Section | 字段 | 需要 CCSDS | AWS Ground Station 必需的 | 注意 |
|---|---|---|---|---|
| 标题 | CCSDS_OEM_VERS | 支持 | 是 | 所需值:2.0 |
| COMMENT | 否 | 否 | ||
| 分类 | 否 | 否 | ||
| 创建日期 | 支持 | 是 | ||
| 鼻祖 | 支持 | 是 | ||
| 消息_ID | 否 | 否 | ||
| 元数据 | META_START | 支持 | 是 | |
| COMMENT | 否 | 否 | ||
| 对象名 | 支持 | 是 | ||
| 对象_ID | 支持 | 是 | ||
| 中心/名称 | 支持 | 是 | 必填值:地球 | |
| REF_FRAME | 支持 | 是 | 可接受的值: EME2000, ITRF2 000 | |
| REF_FRAME_EPOCH | 否 | 不支持* | 不需要,因为接受的 REF_ FRAMEs 有一个隐式的时代 | |
| 时间系统 | 支持 | 是 | 必填值:世界标准时间 | |
| 开始时间 | 支持 | 是 | ||
| 可用开始时间 | 否 | 否 | ||
| USEABLE_STOP_TIME | 否 | 否 | ||
| 停止时间 | 支持 | 是 | ||
| 插值 | 否 | 是 | 必需,因此 AWS Ground Station 可以为触点生成精确的指向角度。 | |
| 插值度 | 否 | 是 | 必需,因此 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 | 否 | 否 | ||
| COV_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。 -
INTERPOLATION并且两者INTERPOLATION_DEGREE都是 AWS Ground Station 客户提供的星历表所必需的。
KVN 格式的 OEM 星历示例
以下是 JPSS-1 公共广播公司卫星的 KVN 格式的 OEM 星历的截断示例。
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 星历表
可以使用 API 中的CreateEphemeris操作创建 OEM 星历表。 AWS Ground Station 此操作将使用请求正文或指定 S3 存储桶中的数据上传星历。
请务必注意,上传星历会将星历设置为
VALIDATING 并启动异步工作流程,该工作流程将验证您的星历并生成可能联络。只有当星历通过此工作流程并成为 ENABLED 后,才会将其用于联络。您应该轮DescribeEphemeris询星历状态或使用 CloudWatch 事件来跟踪星历的状态变化。
要对无效的星历进行故障排除,请参阅:对无效的星历进行故障排除
示例:从 S3 存储桶上传 OEM 星历数据
也可以通过指向 S3 存储桶和对象密钥直接从 S3 存储桶上传 OEM 星历表文件。 AWS Ground Station 将代表您取回对象。中详细介绍了有关静态数据加密的信息 AWS Ground Station ,请参阅:静态数据加密 AWS Ground Station。
以下是从 S3 存储桶上传 OEM 星历文件的示例
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']}")
以下是为上一个示例代码块中上传的 OEM 星历调用 DescribeEphemeris 操作返回的数据示例。
{ "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" } } } }