Skip to main content

Python library for enumerating ASF product inputs

Project description

ASF Enumeration

Enumeration code for ARIA S1 GUNW products

>>> from asf_enumeration import aria_s1_gunw

>>> frames = aria_s1_gunw.get_frames(flight_direction='ASCENDING', path=175)
>>> frames[0]
AriaFrame(id=27236, path=175, flight_direction='ASCENDING', polygon=<POLYGON ((30.157 1.767...>)))

>>> acquisitions = aria_s1_gunw.get_acquisitions(frames[0])
>>> acquisitions[0]
Sentinel1Acquisition(date=datetime.date(2014, 10, 17), frame=AriaFrame(...), products=[<asf_search.ASFProduct>])

Installation

In order to easily manage dependencies, we recommend using dedicated project environments via Anaconda/Miniconda or Python virtual environments.

asf_enumeration can be installed into a conda environment with:

conda install -c conda-forge asf_enumeration

or into a virtual environment with:

python -m pip install asf_enumeration

Usage

These are the main data classes used by the asf_enumeration.aria_s1_gunw module

  • AriaFrame which represents all metadata associated with a ARIA frame (id, path, flight direction and it's polygon)
  • Sentinel1Acquisition which represents all available Sentinel-1 SLC's over an ARIA frame on a specific date (products, date, frame)

The asf_enumeration.aria_s1_gunw module exposes these functions

  • get_frames get all ARIA frames based on filter critiria (geometry, flight direction, path)
  • get_frame get a single ARIA frame based on it's ID
  • get_acquisitions get all Sentinel-1 acquisitions for a given ARIA frame sorted by date
  • get_acquisition get a Sentinel-1 acquisition for a given ARIA frame and date
  • get_product get an ARIA product for a given reference date, secondary date, and ARIA frame, if the product exists
  • product_exists check if an ARIA product exists in the ASF archive given reference date, secondary date, and ARIA frame

Getting Frames

aria_s1_gunw.get_frames allows for filtering based on any shapely.Geometry, as well as flight_direction and path

frames_over_point = aria_s1_gunw.get_frames(geometry=shapely.Point(122.78, -8.55))
frames_filtered  = aria_s1_gunw.get_frames(flight_direction='DESCENDING', path=2)

A single frame can be looked up using aria_s1_gunw.get_frame

frame = aria_s1_gunw.get_frame(100)

Getting Acquisitions

aria_s1_gunw.get_acquisitions returns all the Sentinel-1 acqusitions over a ARIA frame. It takes either the ARIA frame ID or an AriaFrame object as input.

acquisitions_frame_id = aria_s1_gunw.get_acquisitions(9852)
frame = aria_s1_gunw.get_frame(9852)
acquisitions_frame_obj = aria_s1_gunw.get_acquisitions(frame)

An acquisition for a specific date can be found using aria_s1_gunw.get_acquisition

single_acquisition = aria_s1_gunw.get_acquisition(frame=9852, date=datetime.date(2014, 11, 3))

Getting Products

aria_s1_gunw.get_product gets an ARIA product from the ASF archive if it exists.

# S1-GUNW-D-R-163-tops-20250527_20250503-212910-00121E_00010S-PP-07c7-v3_0_1
product = aria_s1_gunw.get_product(datetime.date(2025, 5, 27), datetime.date(2025, 5, 3), 25388)

Checking if a Product Exists

aria_s1_gunw.product_exists checks if an ARIA product already exists in the ASF archive

# S1-GUNW-D-R-163-tops-20250527_20250503-212910-00121E_00010S-PP-07c7-v3_0_1
aria_s1_gunw.product_exists(datetime.date(2025, 5, 27), datetime.date(2025, 5, 3), 25388)

Development

  1. Install git and conda.
  2. Clone the repository.
    git clone git@github.com:ASFHyP3/asf-enumeration.git
    cd asf-enumeration
    
  3. Create and activate the conda environment.
    conda env create -f environment.yml
    conda activate asf-enumeration
    
  4. Run the tests.
    pytest
    

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

asf_enumeration-0.4.0.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

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

asf_enumeration-0.4.0-py3-none-any.whl (5.5 MB view details)

Uploaded Python 3

File details

Details for the file asf_enumeration-0.4.0.tar.gz.

File metadata

  • Download URL: asf_enumeration-0.4.0.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for asf_enumeration-0.4.0.tar.gz
Algorithm Hash digest
SHA256 748e8e3337baebb4f7a88ce216882be94a20faf754017b4a9458a1928aea3bfd
MD5 33d19b93de2fc9df99064208376ab9d9
BLAKE2b-256 f0840992ee116636920ba2ef6a47a4297782d61fa63ecfdd5b769e8c727ed47c

See more details on using hashes here.

File details

Details for the file asf_enumeration-0.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for asf_enumeration-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 350cecc077b4fec31b985fd7f75cbaecfd12799ba0c4a2f14ecb94ec85c918b2
MD5 bbc9673c373cefdc84bbc64319c4ffc1
BLAKE2b-256 30a4c4361b96741fb25bc6bee00e61b11941a52a6a5e95040f42118643b43327

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