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. Requires gdar-base.
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) are installed automatically.
Testing
pytest tests/
Three tests in test_attitude.py require gdar-sar and will be skipped
if it is not installed.
Development
Internal links
- GDAR wiki — central documentation hub
- OpenGDAR API Reference — auto-generated from docstrings
- Release schedule
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.0.post2.tar.gz.
File metadata
- Download URL: gdar_orbit-1.2.0.post2.tar.gz
- Upload date:
- Size: 48.3 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 |
a5338fc30675019162ff72c6adf185706e6f346e0fe4aea66a0deb4a012ca5bc
|
|
| MD5 |
11e9360b6470e50ef84f615ec0e3eaf6
|
|
| BLAKE2b-256 |
f9f144637a7a985098ab0f9bd5ffde2b27e956f875aa33dab4ce13255d242fab
|
File details
Details for the file gdar_orbit-1.2.0.post2-py3-none-any.whl.
File metadata
- Download URL: gdar_orbit-1.2.0.post2-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 |
95976d9dedab6fbfe499a6cd8607ac910d0a75db66631818e4ccccc8243aedb1
|
|
| MD5 |
d8142f4a639a6a33eecf9efffb40e791
|
|
| BLAKE2b-256 |
af28983930557ab6d4a866133fa0a5baa0a3189fb10de67385bc8fb05a0327a2
|