diff --git a/scenes/dates.py b/scenes/dates.py index 198629ec15fb6ae18c31dede4b1149faa6440edd..0e2fe869d797f9edecdb4dfb1f038af288802ddd 100644 --- a/scenes/dates.py +++ b/scenes/dates.py @@ -30,6 +30,7 @@ The `get_timestamp` method converts a `datetime.datetime` instance into a number ts = get_timestamp(dt) # 1606780800.0 ``` """ +from __future__ import annotations import datetime diff --git a/scenes/deepnets.py b/scenes/deepnets.py index aad7cf0174adc318d6c1444627bb65250b52a3f2..feff7f37f0737517b5cdbcf57e8e3b83a0f8f991 100644 --- a/scenes/deepnets.py +++ b/scenes/deepnets.py @@ -20,6 +20,7 @@ sr = scenes.deepnets.sr4rs(s2_image) # pyotb.core.otbObject sr.write("sr.tif") ``` """ +from __future__ import annotations import os import zipfile import pyotb diff --git a/scenes/download.py b/scenes/download.py index 4fbcc6f60959ff132fb15700fb4b39d73276c1d6..a3ca571cf40638928d33d614496c17a85c0dc599 100644 --- a/scenes/download.py +++ b/scenes/download.py @@ -61,6 +61,7 @@ theia.download_in_range(bbox, trange, "/tmp/download/", "LEVEL2A") ``` """ +from __future__ import annotations import datetime import hashlib import io diff --git a/scenes/indexation.py b/scenes/indexation.py index e8919e531ed67ce3705cfb75e77076b00e9b6eb1..6f394085b37d5828b2872ca61d0c50fe3eca32a9 100644 --- a/scenes/indexation.py +++ b/scenes/indexation.py @@ -43,14 +43,16 @@ scenes_results = index.find(vec, "01/01/2020" "01/01/2022") ``` """ +from __future__ import annotations import datetime import rtree +from scenes.core import Scene from scenes.dates import get_timestamp, any2datetime, MINDATE, MAXDATE from scenes.vector import reproject_ogr_layer, get_bbox_wgs84, ogr_open -from scenes.spatial import poly_overlap +from scenes.spatial import poly_overlap, BoundingBox -def _bbox(bbox_wgs84, date_min, date_max): +def _bbox(bbox_wgs84: BoundingBox, date_min: datetime.datetime | str, date_max: datetime.datetime | str) -> tuple: """ Return a bounding box in the domain (lat, lon, time) @@ -71,7 +73,7 @@ class Index: """ Stores an indexation structure for a list of Scenes """ - def __init__(self, scenes_list): + def __init__(self, scenes_list: list[Scene]): """ Args: scenes_list: list of scenes @@ -90,7 +92,8 @@ class Index: new_bbox = _bbox(bbox_wgs84=scene.bbox_wgs84, date_min=dt_min, date_max=dt_max) self.index.insert(scene_idx, new_bbox) - def find_indices(self, vector_or_bbox, date_min=None, date_max=None): + def find_indices(self, vector_or_bbox: str | BoundingBox, date_min: datetime.datetime | str = None, + date_max: datetime.datetime | str = None) -> list[int]: """ Search the intersecting scenes, and return their indices @@ -133,7 +136,8 @@ class Index: return filtered_indices return results_indices - def find(self, vector_or_bbox, date_min=None, date_max=None): + def find(self, vector_or_bbox: str | BoundingBox, date_min: datetime.datetime | str = None, + date_max: datetime.datetime | str = None) -> list[Scene]: """ Search the intersecting scenes, and return them