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— matplotlibinteractive— 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9dbca514132bf92cd1b35e8eb068fa9ca27ad6031749dec8b622588d62a973f0
|
|
| MD5 |
6c2d11e4900aaf9008c9754ae58bd48b
|
|
| BLAKE2b-256 |
4ddfa3e138833b348047c7c4c5ac53474a58f870872b4430f1f59ff9306e329b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45e4052dbf05824cfaa2d922af4a0786e21c82b5bf9c3bb48ea6628f7b502fbe
|
|
| MD5 |
5b8df6d460289a9414693d0086bd1e97
|
|
| BLAKE2b-256 |
7aafde9e0e982c29d5b1bf2ebc3b0287c2d8bfacb55972b76affe319aab18ebd
|