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
  • get_acquisition get a Sentinel-1 acquisition for a given ARIA frame and date
  • product_exists check if an ARIA product exists in the ASF archive given an ARIA frame, reference date and secondary date

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))

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(25388, datetime.date(2025, 5, 27), datetime.date(2025, 5, 3))

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.1.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.1.0-py3-none-any.whl (5.5 MB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for asf_enumeration-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b6560cce15fcc8315a41c6cb9b484fbcf346f0a58a2e529fdd5735bffb1444f6
MD5 996b84f75471e2b6d1b261c8a611120b
BLAKE2b-256 65dbccfeb19ef24a5c8b74e8e21b9f62746d01ebdca72bc1e658df8cc6aa5fe5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for asf_enumeration-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03a9248fb63280118a00678ce281964bc7ada6c762ea3c4ec0ff1873a5492e72
MD5 e0bdcd5ade53230b630cd4c6fffb70c6
BLAKE2b-256 9d3f1fb111089df2de86e29b3b85dbec8e438455ac69c2623536c6caea937787

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