Ephemeris

POST /udl/attitudeset

Changed on

Service operation intended for initial integration only. Takes a single AttitudeSet as a POST body and ingest into the database. This operation does not persist any Onorbit Attitude points that may be present in the body of the request. This operation is not intended to be used for automated feeds into UDL. A specific role is required to perform this service operation. Please contact the UDL team for assistance. </br> The following rules apply to this operation:

<h3> * Attitude Set numPoints value must correspond exactly to the number of Onorbit Attitude states associated with that Attitude Set. The numPoints value is checked against the actual posted number of states and mismatch will result in the post being rejected. * Attitude Set startTime and endTime must correspond to the earliest and latest state times, respectively, of the associated Onorbit Attitude states. * Either satNo, idOnOrbit, or origObjectId must be provided. The preferred option is to post with satNo for a cataloged object, and with (only) origObjectId for an unknown, uncataloged, or internal/test object. There are several cases for the logic associated with these fields: + If satNo is provided and correlates to a known UDL sat number then the idOnOrbit will be populated appropriately in addition to the satNo. + If satNo is provided and does not correlate to a known UDL sat number then the provided satNo value will be moved to the origObjectId field and satNo left null. + If origObjectId and a valid satNo or idOnOrbit are provided then both the satNo/idOnOrbit and origObjectId will maintain the provided values. + If only origObjectId is provided then origObjectId will be populated with the posted value. In this case, no checks are made against existing UDL sat numbers. </h3>

Request

  • Base URL
    https://unifieddatalibrary.com
  • URL
    https://unifieddatalibrary.com/udl/attitudeset
  • Auth
    none declared

Request body

idstring

Unique identifier of the record, auto-generated by the system.

classificationMarkingstring required

Classification marking of the data in IC/CAPCO Portion-marked format.

idOnOrbitstring

Unique identifier of the on-orbit satellite to which this attitude set applies.

satNointeger

Satellite/catalog number of the on-orbit object to which this attitude set applies.

origObjectIdstring

Optional identifier provided by the record source to indicate the target object of this attitude set. This may be an internal identifier and not necessarily map to a valid satellite number.

typestring required

The type of attitude message or messages associated with this set.

AEM = Attitude Ephemeris Message, specifying the attitude state of a single object at multiple epochs.

APM = Attitude Parameters Message, specifying the attitude state of a single object at a single epoch.

esIdstring

Unique identifier of the parent (positional) Ephemeris Set, if this data is correlated with an Ephemeris.

asRefstring[]

Array of UDL UUIDs of one or more AttitudeSet records associated with this set. For example, a spacecraft Attitude Ephemeris Set might include a reference to an Attitude Parameter Message defining the sensor to body frame transformation for a sensor onboard the spacecraft, which allows for calculation of the sensor orientation in frame2 of the attitude ephemeris.

idSensorstring

Unique identifier of the sensor to which this attitude set applies IF this set is reporting a single sensor orientation.

origSensorIdstring

Optional identifier provided by the record source to indicate the sensor identifier to which this attitude set applies IF this set is reporting a single sensor orientation. This may be an internal identifier and not necessarily a valid sensor ID.

startTimestring date-time required

The epoch or start time of the attitude parameter or attitude ephemeris, in ISO 8601 UTC format, with microsecond precision. If this set is constituted by a single attitude parameter message then startTime is the epoch.

endTimestring date-time required

The end time of the attitude ephemeris, in ISO 8601 UTC format, with microsecond precision. If this set is constituted by a single epoch attitude message then endTime should match the startTime.

frame1string required

Reference frame 1 of the quaternion or Euler angle transformation utilized in this attitude parameter or attitude ephemeris. The UDL convention is that transformations occur FROM frame1 TO frame2. A specific spacecraft frame or instrument name may be provided with the assumption the consumer understands the location of these frames (ex. SC BODY, J2000, LVLH, ICRF, INSTRUMENTx, THRUSTERx, etc.).

frame2string required

Reference frame 2 of the quaternion or Euler angle transformation utilized in this attitude parameter or attitude ephemeris. The UDL convention is that transformations occur FROM frame1 TO frame2. A specific spacecraft frame or instrument name may be provided with the assumption the consumer understands the location of these frames (ex. SC BODY, J2000, LVLH, ICRF, INSTRUMENTx, THRUSTERx, etc.).

numPointsinteger required

Number of attitude records contained in this set.

stepSizeinteger

Attitude ephemeris step size, in seconds. This applies to Attitude Ephemeris Messages (AEM) that employ a fixed step size.

precAngleInitnumber double

Initial precession angle (ECI J2000 frame) in degrees.

spinAngleInitnumber double

Initial spin angle (ECI J2000 frame) in degrees.

eulerRotSeqstring

The rotation sequence of the Euler angles in which attitude reference frame transformation occurs (from left to right). One, two, or three axis rotations are supported and are represented by one, two, or three characters respectively. Repeated axis rotations are also supported, however, these rotations should not be sequential. The numeric sequence values correspond to the body angles/rates as follows: 1 - xAngle/xRate, 2 - yAngle/yRate, and 3 - zAngle/zRate. Valid sequences are: 123, 132, 213, 231, 312, 321, 121, 131, 212, 232, 313, 323, 12, 13, 21, 23, 31, 32, 1, 2, and 3.

The following represent examples of possible rotation sequences: A single rotation about the Y-axis can be expressed as '2', a double rotation with X-Z sequence can be expressed as '13', and a triple rotation with Z-X-Y sequence can be expressed as '312'.

interpolatorstring

Recommended interpolation method for estimating attitude ephemeris data.

interpolatorDegreeinteger

Recommended polynomial interpolation degree.

notesstring

Optional notes/comments for this attitude set.

createdAtstring date-time

Time the row was created in the database, auto-populated by the system.

createdBystring

Application user who created the row in the database, auto-populated by the system.

sourcestring required

Source of the data.

originstring

Originating system or organization which produced the data, if different from the source. The origin may be different than the source if the source was a mediating system which forwarded the data on behalf of the origin system. If null, the source may be assumed to be the origin.

dataMode'REAL' | 'TEST' | 'SIMULATED' | 'EXERCISE' required

Indicator of whether the data is REAL, TEST, EXERCISE, or SIMULATED data:

REAL: Data collected or produced that pertains to real-world objects, events, and analysis.

TEST: Specific datasets used to evaluate compliance with specifications and requirements, and for validating technical, functional, and performance characteristics.

EXERCISE: Data pertaining to a government or military exercise. The data may include both real and simulated data.

SIMULATED: Synthetic data generated by a model to mimic real-world datasets.

origNetworkstring

The originating source network on which this record was created, auto-populated by the system.

Example request

{
  "id": "ATTITUDESET-ID",
  "classificationMarking": "U",
  "idOnOrbit": "41947",
  "satNo": 41947,
  "origObjectId": "D6593",
  "type": "AEM",
  "esId": "60f7a241-b7be-48d8-acf3-786670af53f9",
  "asRef": [
    "2ea97de6-4680-4767-a07e-35d16398ef60"
  ],
  "idSensor": "a7e99418-b6d6-29ab-e767-440a989cce26",
  "origSensorId": "ORIGSENSOR-ID",
  "startTime": "2022-07-07T16:00:00.123456Z",
  "endTime": "2022-07-07T18:00:00.654321Z",
  "frame1": "SCBODY",
  "frame2": "J2000",
  "numPoints": 120,
  "stepSize": 60,
  "precAngleInit": 30.5,
  "spinAngleInit": 25.5,
  "eulerRotSeq": "123",
  "attitudeList": [
    {
      "id": "ATTITUDEDATA-ID",
      "classificationMarking": "U",
      "asId": "773c9887-e931-42eb-8155-f0fbd227b235",
      "idOnOrbit": "41947",
      "satNo": 41947,
      "origObjectId": "D6593",
      "ts": "2022-03-07T14:51:39.653043Z",
      "motionType": "PROSOL_MOTION",
      "q1": 0.0312,
      "q2": 0.7854,
      "q3": 0.3916,
      "qc": 0.4783,
      "q1Dot": 0.0043,
      "q2Dot": 0.06,
      "q3Dot": 0.499,
      "qcDot": 0.011,
      "xAngle": [
        139.753
      ],
      "yAngle": [
        25.066
      ],
      "zAngle": [
        -53.368
      ],
      "xRate": [
        0.105
      ],
      "yRate": [
        0.032
      ],
      "zRate": [
        0.022
      ],
      "ra": -173.75,
      "declination": 0.799,
      "coningAngle": 0.1,
      "precPeriod": 36.1,
      "spinPeriod": 0.1,
      "createdAt": "2022-07-05T12:00:00.123Z",
      "createdBy": "some.user",
      "source": "Bluestaq",
      "origin": "THIRD_PARTY_DATASOURCE",
      "dataMode": "TEST",
      "origNetwork": "OPS1"
    }
  ],
  "interpolator": "LINEAR",
  "interpolatorDegree": 2,
  "notes": "Notes for this attitude set",
  "createdAt": "2022-07-05T12:00:00.123Z",
  "createdBy": "some.user",
  "source": "Bluestaq",
  "origin": "THIRD_PARTY_DATASOURCE",
  "dataMode": "TEST",
  "origNetwork": "OPS1"
}

Response

Success

Changes

    • info

      api operation id create_15 removed and replaced with

    • info

      the endpoint scheme security BasicAuth was removed from the API

Some revisions have not been checked yet.