From 3c1984304acd51db8afc8702b8b023eecd7cc0ba Mon Sep 17 00:00:00 2001 From: Forrest Williams <31411324+forrestfwilliams@users.noreply.github.com> Date: Fri, 20 Sep 2024 14:38:58 -0500 Subject: [PATCH 1/4] Update src/opera_disp_tms/generate_coh_tiles.py Co-authored-by: Andrew Player --- src/opera_disp_tms/generate_coh_tiles.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/opera_disp_tms/generate_coh_tiles.py b/src/opera_disp_tms/generate_coh_tiles.py index c8f2039..4f78525 100644 --- a/src/opera_disp_tms/generate_coh_tiles.py +++ b/src/opera_disp_tms/generate_coh_tiles.py @@ -81,11 +81,9 @@ def create_coh_tile(bbox: Iterable[int], coh_prod: str = 'summer_vv_COH12', gtif s3_paths = [download_coh(x) for x in s3_paths] names = [x.split('/')[-1] for x in s3_paths if x is not None] - min_lat_str = f'N{abs(min_lat):02d}' if min_lat >= 0 else f'S{abs(min_lat):02d}' - min_lon_str = f'E{abs(min_lon):03d}' if min_lon >= 0 else f'W{abs(min_lon):03d}' - max_lat_str = f'N{abs(max_lat):02d}' if max_lat >= 0 else f'S{abs(max_lat):02d}' - max_lon_str = f'E{abs(max_lon):03d}' if max_lon >= 0 else f'W{abs(max_lon):03d}' - bbox_str = f'{min_lat_str}{min_lon_str}_{max_lat_str}{max_lon_str}' + def lon_string(lon): return f'E{abs(lon):03d}' if lon >= 0 else f'W{abs(lon):03d}' + def lat_string(lat): return f'N{abs(lat):02d}' if lat >= 0 else f'S{abs(lat):02d}' + bbox_str = f'{lat_string(min_lat)}{lon_string(min_lon)}_{lat_string(max_lat)}{lon_string(max_lon)}' product_name = f'{coh_prod}_{bbox_str}' vrt_path = f'{product_name}.vrt' From 42b4e01764509b9698f6a3789cf71036e0acca04 Mon Sep 17 00:00:00 2001 From: Forrest Williams <31411324+forrestfwilliams@users.noreply.github.com> Date: Fri, 20 Sep 2024 14:39:59 -0500 Subject: [PATCH 2/4] Update src/opera_disp_tms/generate_coh_tiles.py Co-authored-by: Andrew Player --- src/opera_disp_tms/generate_coh_tiles.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/opera_disp_tms/generate_coh_tiles.py b/src/opera_disp_tms/generate_coh_tiles.py index 4f78525..0e06280 100644 --- a/src/opera_disp_tms/generate_coh_tiles.py +++ b/src/opera_disp_tms/generate_coh_tiles.py @@ -122,12 +122,10 @@ def split_range(start_value: int, end_value: int, n: int) -> list: Returns: list of tuples with the ranges """ - step = (end_value - start_value) // n - ranges = [] - for i in range(n): - start = start_value + i * step - end = start_value + (i + 1) * step - ranges.append((start, end)) + step = (stop-start) // n + offset = (stop-start) % n + ranges = [(a, b) for (a, b) in zip(range(start, stop, step), range(start+step, stop-offset+step, step))] + ranges[-1] = (ranges[-1][0], stop) return ranges From 7bca504d6056670f21f793649a48f506e08a0d5e Mon Sep 17 00:00:00 2001 From: Forrest Williams <31411324+forrestfwilliams@users.noreply.github.com> Date: Fri, 20 Sep 2024 14:40:05 -0500 Subject: [PATCH 3/4] Update src/opera_disp_tms/generate_coh_tiles.py Co-authored-by: Andrew Player --- src/opera_disp_tms/generate_coh_tiles.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/opera_disp_tms/generate_coh_tiles.py b/src/opera_disp_tms/generate_coh_tiles.py index 0e06280..d6a71f1 100644 --- a/src/opera_disp_tms/generate_coh_tiles.py +++ b/src/opera_disp_tms/generate_coh_tiles.py @@ -168,8 +168,4 @@ def upload_tileset_s3(prefix: str = 'summer_vv_COH12_v2', wildcard: str = 'summe lon_lat_box = [-169, 14, -63, 72] output_paths = create_coh_tile_set(lon_lat_box, n_parts_lon=3, n_parts_lat=3) - # Smaller test_area - # lon_lat_box = [-119, 36, -115, 40] - # output_paths = create_coh_tile_set(*lon_lat_box, n_parts_lon=2, n_parts_lat=2) - upload_tileset_s3() From 1b380cc89a9a7abbe9cafd027eddb9573028f98b Mon Sep 17 00:00:00 2001 From: Forrest Williams Date: Fri, 20 Sep 2024 14:45:30 -0500 Subject: [PATCH 4/4] fix variable names --- src/opera_disp_tms/generate_coh_tiles.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/opera_disp_tms/generate_coh_tiles.py b/src/opera_disp_tms/generate_coh_tiles.py index d6a71f1..8a5e546 100644 --- a/src/opera_disp_tms/generate_coh_tiles.py +++ b/src/opera_disp_tms/generate_coh_tiles.py @@ -81,8 +81,12 @@ def create_coh_tile(bbox: Iterable[int], coh_prod: str = 'summer_vv_COH12', gtif s3_paths = [download_coh(x) for x in s3_paths] names = [x.split('/')[-1] for x in s3_paths if x is not None] - def lon_string(lon): return f'E{abs(lon):03d}' if lon >= 0 else f'W{abs(lon):03d}' - def lat_string(lat): return f'N{abs(lat):02d}' if lat >= 0 else f'S{abs(lat):02d}' + def lon_string(lon): + return f'E{abs(lon):03d}' if lon >= 0 else f'W{abs(lon):03d}' + + def lat_string(lat): + return f'N{abs(lat):02d}' if lat >= 0 else f'S{abs(lat):02d}' + bbox_str = f'{lat_string(min_lat)}{lon_string(min_lon)}_{lat_string(max_lat)}{lon_string(max_lon)}' product_name = f'{coh_prod}_{bbox_str}' @@ -122,10 +126,15 @@ def split_range(start_value: int, end_value: int, n: int) -> list: Returns: list of tuples with the ranges """ - step = (stop-start) // n - offset = (stop-start) % n - ranges = [(a, b) for (a, b) in zip(range(start, stop, step), range(start+step, stop-offset+step, step))] - ranges[-1] = (ranges[-1][0], stop) + step = (end_value - start_value) // n + offset = (end_value - start_value) % n + ranges = [ + (a, b) + for (a, b) in zip( + range(start_value, end_value, step), range(start_value + step, end_value - offset + step, step) + ) + ] + ranges[-1] = (ranges[-1][0], end_value) return ranges