CitraClient.Schemas.Telescope (citra_client v0.3.0)
View SourceStruct generated from the Telescope schema.
Fields
:angular_noise—number()(API key:angularNoise) — Angular noise in arcseconds:automated_scheduling—boolean()(API key:automatedScheduling) — Whether the telescope is enabled for automated scheduling:creation_epoch—DateTime.t()(API key:creationEpoch):field_of_view—number()(API key:fieldOfView) — Computed diagonal field of view in degrees from sensor specifications.
If all four sensor spec fields are present, this value takes precedence over legacy_field_of_view. Both may be stored simultaneously; legacy_field_of_view is only used by consumers when this computed value is None.
Returns None if any required sensor specification is missing.
:filter_change_time_seconds—number()(API key:filterChangeTimeSeconds) — Time required to change filters in seconds:focal_length—number()(API key:focalLength) — Focal length of the optical system in millimeters:focal_ratio—number()(API key:focalRatio) — Focal ratio (f-number) of the optical system, unitless:ground_station_id— UUIDString.t()(API key:groundStationId) — Ground station this telescope is assigned to:home_azimuth—number()(API key:homeAzimuth) — Home azimuth position in degrees:home_elevation—number()(API key:homeElevation) — Home elevation position in degrees:horizontal_pixel_count—integer()(API key:horizontalPixelCount) — Number of horizontal pixels in the sensor:id— UUIDString.t():image_circle_diameter—number()(API key:imageCircleDiameter) — Diameter of the usable image circle in millimeters:last_connection_epoch—DateTime.t()(API key:lastConnectionEpoch) — Last time the telescope connected:legacy_field_of_view—number()(API key:legacyFieldOfView) — Original FOV in degrees (pre-sensor specs migration):max_magnitude—number()(API key:maxMagnitude) — Maximum detectable magnitude:max_slew_rate—number()(API key:maxSlewRate) — Maximum slew rate in degrees per second:min_elevation—number()(API key:minElevation) — Minimum elevation angle in degrees:name—String.t()— Telescope name:pixel_size—number()(API key:pixelSize) — Physical size of each pixel in micrometers:satellite_id— UUIDString.t()(API key:satelliteId) — Satellite this telescope is assigned to:spectral_config—any()(API key:spectralConfig) — Spectral configuration (discrete filters, tunable, or hyperspectral):spectral_max_wavelength_nm—number()(API key:spectralMaxWavelengthNm) — Maximum wavelength coverage in nanometers (computed from spectral_config):spectral_min_wavelength_nm—number()(API key:spectralMinWavelengthNm) — Minimum wavelength coverage in nanometers (computed from spectral_config):status—String.t()— Compute telescope status based on last_connection_epoch.
Returns 'online' if connected within SENSOR_ONLINE_TIMEOUT_MINUTES, otherwise 'offline'.
:user_id— UUIDString.t()(API key:userId):username—String.t():vertical_pixel_count—integer()(API key:verticalPixelCount) — Number of vertical pixels in the sensor
Summary
Functions
Build this struct from a decoded JSON map received from the API. Unknown fields are ignored.
Convert this struct into a map with the API's camelCase keys, ready
to be JSON-encoded. Fields whose value is nil are omitted.
Types
@type t() :: %CitraClient.Schemas.Telescope{ angular_noise: number() | nil, automated_scheduling: boolean() | nil, creation_epoch: DateTime.t() | nil, field_of_view: number() | nil, filter_change_time_seconds: number() | nil, focal_length: number() | nil, focal_ratio: number() | nil, ground_station_id: String.t() | nil, home_azimuth: number() | nil, home_elevation: number() | nil, horizontal_pixel_count: integer() | nil, id: String.t() | nil, image_circle_diameter: number() | nil, last_connection_epoch: DateTime.t() | nil, legacy_field_of_view: number() | nil, max_magnitude: number() | nil, max_slew_rate: number() | nil, min_elevation: number() | nil, name: String.t() | nil, pixel_size: number() | nil, satellite_id: String.t() | nil, spectral_config: any(), spectral_max_wavelength_nm: number() | nil, spectral_min_wavelength_nm: number() | nil, status: String.t() | nil, user_id: String.t() | nil, username: String.t() | nil, vertical_pixel_count: integer() | nil }