Observation

POST /udl/soiobservationset/createBulk

Changed on

Service operation intended for initial integration only, to take a list of SOIObservationSet records as a POST body and ingest into the database. This operation is not intended to be used for automated feeds into UDL. Data providers should contact the UDL team for specific role assignments and for instructions on setting up a permanent feed through an alternate mechanism.

Request

  • Base URL
    https://unifieddatalibrary.com
  • URL
    https://unifieddatalibrary.com/udl/soiobservationset/createBulk
  • 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.

msgCreateDatestring date-time

SOI msgCreateDate time in ISO 8601 UTC time, with millisecond precision.

idSensorstring

ID of the observing sensor.

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.

sensorAsIdstring

ID of the AttitudeSet record for the observing sensor.

idOnOrbitstring

Unique identifier of the target on-orbit object, if correlated.

satNointeger

Satellite/catalog number of the target on-orbit object.

origObjectIdstring

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

senlatnumber double

Sensor WGS84 latitude at startTime (if mobile/onorbit) in degrees. If null, can be obtained from sensor info. -90 to 90 degrees (negative values south of equator).

senlonnumber double

Sensor WGS84 longitude at startTime (if mobile/onorbit) in degrees. If null, can be obtained from sensor info. -180 to 180 degrees (negative values south of equator).

senaltnumber double

Sensor altitude at startTime (if mobile/onorbit) in kilometers.

senxnumber double

Cartesian X position of the observing mobile/onorbit sensor at startTime, in kilometers, in the specified senReferenceFrame. If senReferenceFrame is null then J2K should be assumed.

senynumber double

Cartesian Y position of the observing mobile/onorbit sensor at startTime, in kilometers, in the specified senReferenceFrame. If senReferenceFrame is null then J2K should be assumed.

senznumber double

Cartesian Z position of the observing mobile/onorbit sensor at startTime, in kilometers, in the specified senReferenceFrame. If senReferenceFrame is null then J2K should be assumed.

senvelxnumber double

Cartesian X velocity of the observing mobile/onorbit sensor at startTime, in kilometers per second, in the specified senReferenceFrame. If senReferenceFrame is null then J2K should be assumed.

senvelynumber double

Cartesian Y velocity of the observing mobile/onorbit sensor at startTime, in kilometers per second, in the specified senReferenceFrame. If senReferenceFrame is null then J2K should be assumed.

senvelznumber double

Cartesian Z velocity of the observing mobile/onorbit sensor at startTime, in kilometers per second, in the specified senReferenceFrame. If senReferenceFrame is null then J2K should be assumed.

idElsetstring

ID of the UDL Elset of the Space Object under observation.

startTimestring date-time required

Observation set detection start time in ISO 8601 UTC with microsecond precision.

endTimestring date-time

Observation set detection end time in ISO 8601 UTC with microsecond precision.

numObsinteger required

The number of observation records in the set.

type'OPTICAL' | 'RADAR' required

Observation type (OPTICAL, RADAR).

polarAngleStartnumber double

Polar angle of the gimbal/mount at observation set detection start time in degrees.

polarAngleEndnumber double

Polar angle of the gimbal/mount at observation set detection end time in degrees.

referenceFrame'J2000' | 'EFG/TDR' | 'ECR/ECEF' | 'TEME' | 'ITRF' | 'GCRF'

The reference frame of the observation measurements. If the referenceFrame is null it is assumed to be J2000.

senReferenceFrame'J2000' | 'EFG/TDR' | 'ECR/ECEF' | 'TEME' | 'ITRF' | 'GCRF'

The reference frame of the observing sensor state. If the senReferenceFrame is null it is assumed to be J2000.

losDeclinationStartnumber double

Line of sight declination at observation set detection start time. Specified in degrees, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed (e.g -30 to 130.0).

losDeclinationEndnumber double

Line of sight declination at observation set detection end time. Specified in degrees, in the specified referenceFrame. If referenceFrame is null then J2K should be assumed (e.g -30 to 130.0).

pointingAngleAzStartnumber double

Pointing angle of the Azimuth gimbal/mount at observation set detection start time. Specified in degrees.

pointingAngleAzEndnumber double

Pointing angle of the Azimuth gimbal/mount at observation set detection end time. Specified in degrees.

pointingAngleElStartnumber double

Pointing angle of the Elevation gimbal/mount at observation set detection start time. Specified in degrees.

pointingAngleElEndnumber double

Pointing angle of the Elevation gimbal/mount at observation set detection end time. Specified in degrees.

pixelArrayWidthinteger

Pixel array size (width) in pixels.

pixelArrayHeightinteger

Pixel array size (height) in pixels.

numSpectralFiltersinteger

The value is the number of spectral filters used.

spectralFiltersstring[]

Array of the SpectralFilters keywords, must be present for all values n=1 to numSpectralFilters, in incrementing order of n, and for no other values of n.

collectionModestring

Mode indicating telescope movement during collection (AUTOTRACK, MANUAL AUTOTRACK, MANUAL RATE TRACK, MANUAL SIDEREAL, SIDEREAL, RATE TRACK).

gainnumber double

The gain used during the collection, in units of photoelectrons per analog-to-digital unit (e-/ADU). If no gain is used, the value = 1.

binningHorizinteger

The number of pixels binned horizontally.

binningVertinteger

The number of pixels binned vertically.

solarMagnumber double

The in-band solar magnitude at 1 A.U.

pixelMininteger

The minimum valid pixel value.

pixelMaxinteger

The maximum valid pixel value.

softwareVersionstring

Software Version used to Capture, Process, and Deliver the data.

satelliteNamestring

Name of the target satellite.

starCatNamestring

Name of the Star Catalog used for photometry and astrometry.

corrQualitynumber double

Object Correlation Quality value. Measures how close the observed object's orbit is to matching an object in the catalog. The scale of this field may vary depending on provider. Users should consult the data provider to verify the meaning of the value (e.g. A value of 0.0 indicates a high/strong correlation, while a value closer to 1.0 indicates low/weak correlation).

uctboolean

Boolean indicating whether the target object was unable to be correlated to a known object. This flag should only be set to true by data providers after an attempt to correlate to an OnOrbit object was made and failed. If unable to correlate, the 'origObjectId' field may be populated with an internal data provider specific identifier.

validCalibrationsstring

Key to indicate which, if any of, the pre/post photometer calibrations are valid for use when generating data for the EOSSA file. If the field is not populated, then the provided calibration data will be used when generating the EOSSA file (e.g. PRE, POST, BOTH, NONE).

calibrationTypestring

Type of calibration used by the Sensor (e.g. ALL SKY, DIFFERENTIAL, DEFAULT, NONE).

percentSatThresholdnumber double

A threshold for percent of pixels that make up object signal that are beyond the saturation point for the sensor that are removed in the EOSSA file, in range of 0 to 1.

changeDetectedboolean

Boolean indicating if any change event was detected, based on historical collection data for the object.

periodicityChangeDetectedboolean

Boolean indicating if a periodicity change event was detected, based on historical collection data for the object.

brightnessVarianceChangeDetectedboolean

Boolean indicating if a brightness variance change event was detected, based on historical collection data for the object.

solarPhaseAngleBrightnessChangeDetectedboolean

Boolean indicating if a solar phase angle brightness change event was detected, based on historical collection data for the object.

changeConfstring

Overall qualitative confidence assessment of change detection results (e.g. HIGH, MEDIUM, LOW).

collectionDensityConfstring

Qualitative Collection Density assessment, with respect to confidence of detecting a change event (e.g. HIGH, MEDIUM, LOW).

periodicitySamplingConfstring

Qualitative Periodicity Sampling assessment, with respect to confidence of detecting a change event (e.g. HIGH, MEDIUM, LOW).

periodicityDetectionConfstring

Qualitative assessment of the periodicity detection results from the Attitude and Shape Retrieval (ASR) Periodicity Assessment (PA) Tool (e.g. HIGH, MEDIUM, LOW).

collectionIdstring

Universally Unique collection ID. Mechanism to correlate Single Point Photometry (SPP) JSON files to images.

tagsstring[]

Optional array of provider/source specific tags for this data, where each element is no longer than 32 characters, used for implementing data owner conditional access controls to restrict access to the data. Should be left null by data providers unless conditional access controls are coordinated with the UDL team.

transactionIdstring

Optional identifier to track a commercial or marketplace transaction executed to produce this data.

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.

origNetworkstring

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

sourceDLstring

The source data library from which this record was received. This could be a remote or tactical UDL or another data library. If null, the record should be assumed to have originated from the primary Enterprise UDL.

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.

Example request

[
  {
    "id": "026dd511-8ba5-47d3-9909-836149f87686",
    "classificationMarking": "U",
    "msgCreateDate": "2022-07-07T16:00:00.123Z",
    "idSensor": "SENSOR-ID",
    "origSensorId": "ORIGSENSOR-ID",
    "sensorAsId": "026dd511-8ba5-47d3-9909-836149f87686",
    "idOnOrbit": "ONORBIT-ID",
    "satNo": 101,
    "origObjectId": "ORIGOBJECT-ID",
    "senlat": 45.1,
    "senlon": 179.1,
    "senalt": 1.1,
    "senx": 1.1,
    "seny": 1.1,
    "senz": 1.1,
    "senvelx": 1.1,
    "senvely": 1.1,
    "senvelz": 1.1,
    "idElset": "REF-ELSET-ID",
    "startTime": "2018-01-01T16:00:00.123456Z",
    "endTime": "2018-01-01T16:00:00.123456Z",
    "numObs": 1,
    "type": "OPTICAL",
    "polarAngleStart": 1.1,
    "polarAngleEnd": 1.1,
    "referenceFrame": "J2000",
    "senReferenceFrame": "J2000",
    "losDeclinationStart": 1.1,
    "losDeclinationEnd": 1.1,
    "pointingAngleAzStart": 1.1,
    "pointingAngleAzEnd": 1.1,
    "pointingAngleElStart": 1.1,
    "pointingAngleElEnd": 1.1,
    "pixelArrayWidth": 32,
    "pixelArrayHeight": 32,
    "numSpectralFilters": 10,
    "spectralFilters": [
      "Keyword1",
      "Keyword2"
    ],
    "collectionMode": "RATE TRACK",
    "gain": 234.2,
    "binningHoriz": 2,
    "binningVert": 2,
    "solarMag": -26.91,
    "pixelMax": 16383,
    "softwareVersion": "GSV99/17-1",
    "satelliteName": "TITAN 3C TRANSTAGE R/B",
    "starCatName": "SSTRC5",
    "corrQuality": 0.327,
    "uct": true,
    "validCalibrations": "BOTH",
    "calibrationType": "ALL SKY",
    "percentSatThreshold": 0.1,
    "changeDetected": true,
    "periodicityChangeDetected": true,
    "brightnessVarianceChangeDetected": true,
    "solarPhaseAngleBrightnessChangeDetected": true,
    "changeConf": "MEDIUM",
    "collectionDensityConf": "MEDIUM",
    "periodicitySamplingConf": "MEDIUM",
    "periodicityDetectionConf": "MEDIUM",
    "collectionId": "b5133288-ab63-4b15-81f6-c7eec0cdb0c0",
    "calibrations": [
      {
        "calExtinctionCoeff": 0.2,
        "calSkyBg": 30086.25,
        "calBgIntensity": 1.1,
        "calSpectralFilterSolarMag": 19.23664587,
        "calZeroPoint": 25.15682157,
        "calNumDetectedStars": 1,
        "calNumCorrelatedStars": 1,
        "calExtinctionCoeffUnc": 0.06474939,
        "calExtinctionCoeffMaxUnc": 0.19708838,
        "calTime": "2023-01-02T16:00:00.123Z",
        "calType": "PRE"
      }
    ],
    "tags": [
      "TAG1",
      "TAG2"
    ],
    "transactionId": "TRANSACTION-ID",
    "opticalSOIObservationList": [
      {
        "obStartTime": "2018-01-01T16:00:00.888456Z",
        "intensityTimes": [
          "2018-01-01T16:00:00.888456Z",
          "2018-01-01T16:00:00.898456Z",
          "2018-01-01T16:00:00.998456Z"
        ],
        "expDuration": 0.455,
        "intensities": [
          1.1,
          1.1,
          1.1
        ],
        "extinctionCoeffs": [
          0.32,
          0.32,
          0.32
        ],
        "extinctionCoeffsUnc": [
          0.06,
          0.06,
          0.06
        ],
        "skyBgs": [
          100625.375,
          100625.375,
          100625.375
        ],
        "localSkyBgs": [
          100625.375,
          100625.375,
          100625.375
        ],
        "localSkyBgsUnc": [
          0.065,
          0.065,
          0.065
        ],
        "numDetectedStars": [
          6,
          6,
          6
        ],
        "numCorrelatedStars": [
          3,
          3,
          3
        ],
        "zeroPoints": [
          24.711,
          24.711,
          24.711
        ],
        "ras": [
          107.4,
          107.4,
          107.4
        ],
        "declinations": [
          -0.45,
          -0.45,
          -0.45
        ],
        "raRates": [
          1.3,
          0.23,
          4.1
        ],
        "declinationRates": [
          3.4,
          2.2,
          0.8
        ],
        "percentSats": [
          0.1,
          0.2,
          1
        ]
      }
    ],
    "radarSOIObservationList": [
      {
        "obStartTime": "2018-01-01T16:00:00.888456Z",
        "tovs": [
          "2018-01-01T16:00:00.888456Z",
          "2018-01-01T16:00:00.888456Z",
          "2018-01-01T16:00:00.888456Z"
        ],
        "rcsValues": [
          12.34,
          26.11,
          43.21
        ],
        "rcsErrorEsts": [
          0.01,
          0.003,
          0.001
        ],
        "polarizations": [
          "H",
          "L",
          "V"
        ],
        "waveformNumber": 2,
        "spectralWidths": [
          23.45,
          20.57,
          12.21
        ],
        "rspaces": [
          0.006,
          0.006,
          0.006
        ],
        "xspaces": [
          0.006,
          0.006,
          0.006
        ],
        "doppler2XRs": [
          5644.27,
          5644.27,
          5644.27
        ],
        "deltaTimes": [
          0.005,
          0.005,
          0.005
        ],
        "aspectAngles": [
          4.278,
          4.278,
          4.278
        ],
        "projAngVels": [
          0.166,
          0.166,
          0.166
        ],
        "idStateVector": "99a0de63-b38f-4d81-b057",
        "idAttitudeSet": "99a0de63-b38f-4d81-b057",
        "ranges": [
          877.938,
          877.938,
          877.938
        ],
        "azimuths": [
          278.27,
          278.27,
          278.27
        ],
        "elevations": [
          70.85,
          70.85,
          70.85
        ],
        "rangeRates": [
          0.317,
          0.317,
          0.317
        ],
        "azimuthRates": [
          -1.481,
          -1.481,
          -1.481
        ],
        "elevationRates": [
          -0.074,
          -0.074,
          -0.074
        ],
        "rangeAccels": [
          0.12,
          0.01,
          0.2
        ],
        "azimuthBiases": [
          45.23,
          45.23,
          45.23
        ],
        "elevationBiases": [
          1.23,
          1.23,
          1.23
        ],
        "rangeBiases": [
          1.23,
          1.23,
          1.23
        ],
        "integrationAngles": [
          8.594,
          8.594,
          8.594
        ],
        "crossRangeRes": [
          11.301,
          11.301,
          11.301
        ],
        "beta": -89.97,
        "kappa": 103.04,
        "peakAmplitudes": [
          33.1,
          33.1,
          33.1
        ],
        "centerFrequency": 160047.0625,
        "pulseBandwidth": 24094.12,
        "xpos": [
          -1118.577381,
          -1118.577381,
          -1118.577381
        ],
        "ypos": [
          3026.231084,
          3026.231084,
          3026.231084
        ],
        "zpos": [
          6167.831808,
          6167.831808,
          6167.831808
        ],
        "xvel": [
          -4.25242784,
          -4.25242784,
          -4.25242784
        ],
        "yvel": [
          5.291107434,
          5.291107434,
          5.291107434
        ],
        "zvel": [
          -3.356493869,
          -3.356493869,
          -3.356493869
        ],
        "xaccel": [
          -0.075,
          -0.74,
          -0.4
        ],
        "yaccel": [
          -0.007,
          0.003,
          0.1
        ],
        "zaccel": [
          0.1,
          0.2,
          0.3
        ]
      }
    ],
    "createdAt": "2018-01-01T16:00:00.123Z",
    "createdBy": "some.user",
    "source": "Bluestaq",
    "origin": "THIRD_PARTY_DATASOURCE",
    "origNetwork": "OPS1",
    "sourceDL": "AXE",
    "dataMode": "TEST"
  }
]

Response

Success

Changes

    • info

      added the new optional request property ///

    • breaking

      the / request property's minLength was increased from 0 to 1

    • info

      added the new optional request property ///

Some revisions have not been checked yet.