View a markdown version of this page

提供 OEM 星历数据 - AWS Ground Station

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

提供 OEM 星历数据

重要

星历 API 当前处于预览状态

星历 API 的访问权限仅在需要时提供。如果您需要能够上传自定义星历数据,请通过 AWS 支持 。AWS Support Center Console我们的团队将与您合作,根据您的特定要求启用此功能。

概述

轨道星历信息 (OEM) 是一种用于表示航天器轨迹数据的标准化格式。Ephemeris API 允许将 OEM 星历上传到卫星上以 AWS Ground Station 供卫星使用。这些星历表覆盖了 Space-Track 中的默认星历表(参见:)。 默认星历数据

AWS Ground Station 将星历视为个性化使用数据。如果您使用此可选功能, AWS 将使用您的星历数据来提供故障排除支持。

上传自定义 OEM 星历表可以提高跟踪质量,在没有 Spac e-Track 星历表的情况下处理早期操作,并考虑操作情况。 AWS Ground Station

注意

在为卫星分配卫星目录编号之前提供自定义星历时,您可以用satelliteId于 OEM 的OBJECT_ID部分。

有关格式的更多信息 OEMs,请参阅OEM 星历格式

OEM 星历格式

AWS Ground Station 根据 CCSDS 标准处理 OEM 客户提供的星历表,但有一些额外的限制。OEM 文件应采用 KVN 格式。下表概述了 OEM 中的不同字段以及 AWS Ground Station 与 CCSDS 标准的区别。

Section 字段 需要 CCSDS AWS Ground Station 必需的 注意
标题 CCSDS_OEM_VERS 支持 所需值:2.0
COMMENT
分类
创建日期 支持
鼻祖 支持
消息_ID
元数据 META_START 支持
COMMENT
对象名 支持
对象_ID 支持
中心名称 支持 必填值:地球
REF_FRAME 支持 可接受的值: EME2000, ITRF2000
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" } } } }