OurskyClient.Sda (OurskyClient v0.1.0)
View SourceClient for the OurSky SDA API https://api.prod.oursky.ai/docs/sda
Summary
Functions
Get node properties given a node's UUID (found in observation sequence results)
Get observation sequence results given a target's UUID (found in tasking)
Get target information for a given NORAD ID
Task a target to be observed given a UUID (OurSky uses immutable UUIDs for each target- these can be retrieved using the get_targets_by_norad_id function)
Untask a target given its UUID.
Functions
Get node properties given a node's UUID (found in observation sequence results)
Examples
iex> OurskyClient.Sda.get_node_properties("3be53422-5c54-413c-9a54-2a8e73c0ed27")
{:ok,
%OurskyClient.Sda.Node{
id: "3be53422-5c54-413c-9a54-2a8e73c0ed27",
gps_timestamps: false,
location: %{latitude: 52.200239, longitude: 6.857524, altitude: 30.0},
mount_type: "EQUITORIAL",
ota_aperture_mm: 207,
ota_focal_length_mm: 831,
pixel_size_microns: 4.78,
focuser_travel_distance_mm: nil,
shutter_type: "ROLLING",
megapixels: 16.236096
}}
Get observation sequence results given a target's UUID (found in tasking)
Get target information for a given NORAD ID
Examples
iex> OurskyClient.Sda.get_targets_by_norad_id("25544")
{:ok,
[
%OurskyClient.Sda.SatelliteTarget{
id: "6e801835-4aae-4b78-9741-f10fbab472db",
norad_id: "25544",
name: "ISS (ZARYA)",
description: nil,
area: 160.273,
mass: 20351.0,
classification: "U",
reflection_coefficient: nil,
launch_year: 1998,
elset_number: nil,
orbit_type: "LEO",
mean_motion: 15.497471470000002,
eccentricity: 4.053e-4,
inclination: 51.6381,
raan: 21.0488,
arg_of_perigee: 35.5022,
mean_anomaly: 296.1249,
epoch: ~U[2025-03-21 13:22:42Z],
mean_motion_dot: nil,
mean_motion_ddot: 0.0,
bstar: 0.0,
tle_line_1: "1 25544U 98067A 25080.55743056 .00026289 00000-0 47116-3 0 9999",
tle_line_2: "2 25544 51.6381 21.0488 0004053 35.5022 296.1249 15.49747147501567",
tracking_status: "ACTIVE",
linked_target_id: nil,
rev_at_epoch: 50156
}
]}
Task a target to be observed given a UUID (OurSky uses immutable UUIDs for each target- these can be retrieved using the get_targets_by_norad_id function)
Returns an OrganizationTarget (SatelliteTarget + tasking information)
Examples
iex> OurskyClient.Sda.task_observations_on_target("c0baf754-4561-4219-a559-03f648c1208e")
{:ok,
%OurskyClient.Sda.OrganizationTarget{
created_at: ~U[2025-03-21 23:25:50.445716Z],
created_by: "e745dbf8-b910-4ea1-ab87-440821ac9480",
id: "333afd5e-9b4e-4811-8a18-fde7b2604fce",
revisit_rate_minutes: nil,
satellite_target: %OurskyClient.Sda.SatelliteTarget{
id: "c0baf754-4561-4219-a559-03f648c1208e",
norad_id: "41937",
name: "SBIRS GEO 4 (USA 273)",
description: nil,
area: 33.213,
mass: nil,
classification: "U",
reflection_coefficient: nil,
launch_year: 2017,
elset_number: nil,
orbit_type: "EGO",
mean_motion: 0.9999522199999998,
eccentricity: 2.276e-4,
inclination: 1.5423,
raan: 21.6811,
arg_of_perigee: 329.5307,
mean_anomaly: 172.5673,
epoch: ~U[2025-03-21 09:49:38.672Z],
mean_motion_dot: nil,
mean_motion_ddot: 0.0,
bstar: 0.0,
tle_line_1: "1 41937U 17004A 25080.40947537 .00000107 00000-0 00000-0 0 9998",
tle_line_2: "2 41937 1.5423 21.6811 0002276 329.5307 172.5673 0.99995222 30063",
tracking_status: "ACTIVE",
linked_target_id: nil,
rev_at_epoch: 3006
}
}}
Untask a target given its UUID.
Examples
iex> OurskyClient.Sda.untask_target("c0baf754-4561-4219-a559-03f648c1208e")
{:ok, %{"id" => "333afd5e-9b4e-4811-8a18-fde7b2604fce}}