50 lines
1.2 KiB
Python
50 lines
1.2 KiB
Python
import warnings
|
|
warnings.filterwarnings('ignore')
|
|
|
|
def load_sen1(bbox, time_range):
|
|
import pystac_client
|
|
import planetary_computer
|
|
import odc.stac
|
|
|
|
catalog = pystac_client.Client.open(
|
|
"https://planetarycomputer.microsoft.com/api/stac/v1",
|
|
modifier=planetary_computer.sign_inplace,
|
|
)
|
|
|
|
search = catalog.search(
|
|
collections=["sentinel-1-rtc"],
|
|
bbox=bbox,
|
|
datetime=time_range,
|
|
)
|
|
items = list(search.items())
|
|
print("Found items:", len(items))
|
|
|
|
ds_s1 = odc.stac.load(
|
|
items,
|
|
bands=["vv", "vh"],
|
|
bbox=bbox,
|
|
crs="EPSG:32648",
|
|
resolution=10,
|
|
chunks={"x": 2048, "y": 2048, "time": 1}
|
|
)
|
|
|
|
ds_median = ds_s1.median(dim="time").compute()
|
|
vv = ds_median["vv"]
|
|
vh = ds_median["vh"]
|
|
|
|
vv = vv.expand_dims(dim="band")
|
|
vh = vh.expand_dims(dim="band")
|
|
|
|
vv = vv.rio.write_crs("EPSG:32648")
|
|
vh = vh.rio.write_crs("EPSG:32648")
|
|
|
|
return vh, vv
|
|
|
|
print("Testing load_sen1...")
|
|
bbox = [105.5, 9.2, 106.4, 10.0]
|
|
time_range = "2022-09-01/2023-10-01"
|
|
vh, vv = load_sen1(bbox, time_range)
|
|
print("VH shape:", vh.shape)
|
|
print("VV shape:", vv.shape)
|
|
print("Success!")
|