Skip to main content

GDAR-ORBIT -- satellite orbits for GDAR

Project description

gdar-orbit

Satellite orbit and attitude handling for the GDAR processing framework. Part of the OpenGDAR family of packages. See gdar-base for the foundation package this builds on and an introduction to the DataRaster abstraction.

Modules

gdar.orbit.orbit -- Orbit interpolation and SAR geocoding

Core orbit classes built on Legendre polynomial interpolation of statevectors (ECEF position + velocity):

  • Sampled_orbit -- primary orbit class, constructed from a sequence of uniformly sampled statevectors.
  • EllipsoidOrbit -- base class providing SAR geocoding methods.
  • GbradarOrbit -- orbit representation for ground-based radar.

Key geocoding methods (on EllipsoidOrbit):

Method Description
sar2xyz() SAR coordinates (azimuth time, range) to ECEF XYZ
sar2geo() SAR coordinates to geographic (lat, lon, height)
xyz2sar() ECEF XYZ to SAR coordinates
geo2sar() Geographic coordinates to SAR coordinates
sar2geometry() Full geometry recarray (incidence angle, look angle, etc.)

Utilities:

  • canonical_svec() -- convert various statevector formats to the standard recarray dtype.
  • merge_trajectories() -- merge overlapping orbit segments.
  • replicate_vector() -- broadcast a vector to match a position array.

gdar.orbit.attitude -- Quaternion-based attitude

Satellite attitude as unit quaternions with SLERP interpolation:

  • Attitude -- stores uniformly sampled quaternions, interpolates to arbitrary times. Quaternions represent the rotation from the GDAR body-fixed frame to ITRF.
  • zero_doppler_steering() -- compute attitude quaternions for zero-Doppler steering (boresight perpendicular to velocity). Supports a roll parameter: positive roll points the boresight left of the ground track, negative roll points right.
  • pt_from_azel() -- azimuth/elevation angles to unit pointing vector.
  • quat_as_tait_bryan_angles() -- quaternion to roll/pitch/yaw.

Body-fixed frame convention:

  • x -- forward (velocity direction)
  • y -- completes right-handed system (approximately cross-track right)
  • z -- boresight (nadir at zero roll)

gdar.orbit.frame_transformations -- Coordinate frame transforms

Statevector-level transformations between standard reference frames. Rotation matrices come from gdar.base.coordinates (ERFA / IAU 2006); this module wraps them to operate on statevector recarrays and applies velocity corrections where needed.

Available transforms (each function takes and returns a statevector):

  • ITRS <-> GCRS
  • ITRS <-> True of Date (via GCRS)
  • ITRS <-> GM2000 / EME2000 / J2000.0 (via GCRS)
  • ToD <-> TIRS (with Earth-rotation velocity correction)

Installation

Install from PyPI:

pip install gdar-orbit

or with uv:

uv pip install gdar-orbit

Dependencies (including gdar-base and numpy-quaternion, used for SLERP-based attitude interpolation) are installed automatically.

Optional extras:

  • plotting — matplotlib
  • interactive — IPython
pip install "gdar-orbit[plotting,interactive]"

gdar-orbit has no system-library requirements of its own. For conda environments and other topics shared across the OpenGDAR packages, see the gdar-base README.

License

This project is licensed under the Apache License, Version 2.0. You may obtain a copy of the license at https://www.apache.org/licenses/LICENSE-2.0 or in the LICENSE file distributed with this source.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gdar_orbit-1.2.1.tar.gz (48.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gdar_orbit-1.2.1-py3-none-any.whl (36.5 kB view details)

Uploaded Python 3

File details

Details for the file gdar_orbit-1.2.1.tar.gz.

File metadata

  • Download URL: gdar_orbit-1.2.1.tar.gz
  • Upload date:
  • Size: 48.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gdar_orbit-1.2.1.tar.gz
Algorithm Hash digest
SHA256 9dbca514132bf92cd1b35e8eb068fa9ca27ad6031749dec8b622588d62a973f0
MD5 6c2d11e4900aaf9008c9754ae58bd48b
BLAKE2b-256 4ddfa3e138833b348047c7c4c5ac53474a58f870872b4430f1f59ff9306e329b

See more details on using hashes here.

File details

Details for the file gdar_orbit-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: gdar_orbit-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 36.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gdar_orbit-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 45e4052dbf05824cfaa2d922af4a0786e21c82b5bf9c3bb48ea6628f7b502fbe
MD5 5b8df6d460289a9414693d0086bd1e97
BLAKE2b-256 7aafde9e0e982c29d5b1bf2ebc3b0287c2d8bfacb55972b76affe319aab18ebd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page