Skip to main content

GDAR-SAR -- Synthetic aperture radar geometry and functionality for GDAR

Project description

gdar-sar

Synthetic aperture radar geometry and functionality for the GDAR processing framework. Part of the OpenGDAR family of packages. See gdar-base for the foundation package and an introduction to the DataRaster abstraction; requires gdar-orbit for orbit propagation.

Type registration

gdar.sar.meta and gdar.sar.refsys define subtypes of gdar.base.Meta and gdar.base.Meta_refsys that must be registered before they can be instantiated. Registration happens automatically when you import gdar.sar, so make sure this import occurs in your Python context before creating any SAR Meta or Meta_refsys objects. When reading files with read_gdr(), the reader handles this for you.

Modules

gdar.sar.meta -- SAR metadata

SAR-specific metadata extending the base Meta class:

  • Meta_sar -- metadata container for SAR rasters (Doppler centroid, pulse repetition frequency, chirp parameters, etc.).
  • create_doppler_grid() -- generate a grid of Doppler centroid values across the raster.

gdar.sar.refsys -- Reference systems

SAR coordinate reference system definitions used by DataRaster geometry methods:

  • Meta_refsys_mssar_zd_sr -- monostatic SAR, zero-Doppler, slant-range reference system.
  • Meta_refsys_mssar_zd_gr -- monostatic SAR, zero-Doppler, ground-range reference system.
  • Meta_refsys_bssar_bmcd_sr -- bistatic SAR, beam-centre Doppler, slant-range reference system.

gdar.sar.bistatic_geometry -- Bistatic SAR geometry

Geometry routines for bistatic (e.g. TanDEM-X) configurations:

  • BistaticGeometry -- class encapsulating transmitter/receiver orbits and the bistatic range equation.
  • bistatic_from_meta() -- construct a BistaticGeometry from raster metadata.
  • bistatic_geod_from_coord() -- convert SAR coordinates to geodetic.
  • bistatic_xyz2sar() -- convert Cartesian XYZ to SAR coordinates.
  • brange_from_azel() -- compute bistatic range from azimuth and elevation.

gdar.sar.rastertools -- Raster processing utilities

Higher-level functions operating on SAR DataRaster objects:

  • back_geocode_dem() / back_geocode_raster() -- back-geocode a DEM or raster using SAR geometry.
  • grd_merger() -- merge multiple GRD products into one raster.
  • band_split_pixels() / band_split_parameters() -- spectral band splitting for split-spectrum InSAR.
  • azimuth_splitter() / range_splitter() -- split an SLC in azimuth or range.
  • slc_processing_meta() -- build metadata for SLC processing steps.
  • update_trajectory() -- replace a raster's trajectory with a precision orbit.
  • is_descending() -- check whether the orbit pass is descending.

gdar.sar.metatools -- Metadata helpers

  • update_bmeta_with_brefsys() -- update bistatic metadata with a beam-centre reference system.

Installation

Install from PyPI:

pip install gdar-sar

or with uv:

uv pip install gdar-sar

Dependencies (including gdar-base and gdar-orbit) are installed automatically.

Optional extras:

  • crs — coordinate reference systems and geocoding. Pulls in gdar-base[crs], which in turn requires system GDAL and a matching Python binding. See the gdar-base README for the GDAL installation procedure.
  • plotting — matplotlib
  • interactive — IPython
pip install "gdar-sar[plotting,interactive]"

For conda environments and other topics shared across the OpenGDAR packages, see the gdar-base README.

Testing

pytest tests/

Tests in test_simplecrs.py are skipped automatically if rasterio is not installed (i.e. when the crs extra has not been set up).

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_sar-1.2.2.tar.gz (3.5 MB view details)

Uploaded Source

Built Distribution

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

gdar_sar-1.2.2-py3-none-any.whl (3.5 MB view details)

Uploaded Python 3

File details

Details for the file gdar_sar-1.2.2.tar.gz.

File metadata

  • Download URL: gdar_sar-1.2.2.tar.gz
  • Upload date:
  • Size: 3.5 MB
  • 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_sar-1.2.2.tar.gz
Algorithm Hash digest
SHA256 7b1d8121a1fb1c3695c416859a87c19741437a2368015d4a9b9bf2f3ff685d50
MD5 ffcb0069e78cb69d5ba39eda890e78b2
BLAKE2b-256 b65d4e851b1ef784ef4573f76327ef6f4dd3578ca0af99533ec8801a2382a2fe

See more details on using hashes here.

File details

Details for the file gdar_sar-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: gdar_sar-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 3.5 MB
  • 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_sar-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 e5877885e2c1158bd7bad85c81e674065c6a4018c027fce1ae560380d961d6da
MD5 f911316ce5d374bde4a2c8ade5d3e793
BLAKE2b-256 09f895d6247fd31b8d74f9b9fc46d0860aee9028fde419ade27ad001fa333bef

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