Skip to content

Add stacking and networking capabilities to asf_search#325

Draft
forrestfwilliams wants to merge 15 commits intoasfadmin:masterfrom
forrestfwilliams:stack
Draft

Add stacking and networking capabilities to asf_search#325
forrestfwilliams wants to merge 15 commits intoasfadmin:masterfrom
forrestfwilliams:stack

Conversation

@forrestfwilliams
Copy link
Contributor

@forrestfwilliams forrestfwilliams commented Apr 2, 2025

As multiburst InSAR and ARIA GUNW InSAR become more popular, we need to make it easier for our users to create stacks and networks of ASF products. This draft PR starts down this road. You can test out its capabilities using the code:

from dateutil.parser import parse as parse_date
from shapely import from_wkt

import asf_search as search
from asf_search import constants

stack_wkt = 'POLYGON((-122.4758 37.6923,-122.4526 37.6923,-122.4526 37.756,-122.4758 37.756,-122.4758 37.6923))'
stack_start = parse_date('2024-01-01 00:00:00Z')
stack_end = parse_date('2024-03-01 00:00:00Z')
search_result = search.geo_search(
    intersectsWith=stack_wkt,
    start=stack_start,
    end=stack_end,
    relativeOrbit=35,  # TODO: don't constrain by this
    beamMode=constants.BEAMMODE.IW,
    polarization=constants.POLARIZATION.VV,
    platform=constants.PLATFORM.SENTINEL1,
    processingLevel=constants.PRODUCT_TYPE.BURST,
)
stack = search.ASFStack(search_result)
network = stack.construct_network(30, 300)
network.plot()

TODOS:

  • Add validation of groups/stacks
  • Account for incrementing absolute orbit at ascending node crossing
  • limit to bursts for now
  • docstrings
  • tests

Intentional omissions to be done later:

  • Support for everything but bursts
  • Advanced/interactive plotting
  • Network customization

@williamh890
Copy link
Contributor

Possible interface for constructing networks from stacks

stack = search.ASFStack(search_result)
network = stack.construct_network(prep, temp)
network.plot()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants