Skip to content

Commit

Permalink
Update: management of geometry
Browse files Browse the repository at this point in the history
  • Loading branch information
KarineGEO6 committed Aug 19, 2024
1 parent 59688c1 commit d284831
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 9 deletions.
5 changes: 3 additions & 2 deletions geosyspy/geosys.py
Original file line number Diff line number Diff line change
Expand Up @@ -313,17 +313,18 @@ def download_image(self, polygon, image_id, indicator: str = "", path: str = "")
f.write(response_zipped_tiff.content)

def download_image_difference_map(
self, season_field_id, image_id_earliest, image_id_latest
self, season_field_id, polygon, image_id_earliest, image_id_latest
):
"""Downloads a satellite image locally resulting of the difference between 2 images
Args:
season_field_id : season_field_id
image_id_earliest : the earliest image reference from the satellite coverage.
image_id_latest : the latest image reference from the satellite coverage.
"""
response = self.__map_product_service.get_zipped_tiff_difference_map(
season_field_id, image_id_earliest, image_id_latest
season_field_id, polygon, image_id_earliest, image_id_latest
)

return response
Expand Down
33 changes: 26 additions & 7 deletions geosyspy/services/map_product_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -192,30 +192,49 @@ def get_product(
return df

def get_zipped_tiff_difference_map(
self, field_id: str, image_id_earliest: str, image_id_latest: str
self,
field_id: str,
field_geometry: str,
image_id_earliest: str,
image_id_latest: str,
):
"""
Retrieves tiff resulting of a difference between 2 in-season images for a given season field from MP API.
Args:
season_field_id (str): The identifier for the season field.
field_id (str): The identifier for the season field.
field_geometry (str): The geometry of the season field
image_id_earliest (str): The earliest image reference from the satellite coverage.
image_id_latest (str): The latest image reference from the satellite coverage.
Returns:
zipped tiff
"""

parameters = f"/{image_id_latest}/base-reference-map/DIFFERENCE_INSEASON_NDVI/difference-with/{image_id_earliest}/image.tiff.zip?$epsg-out=3857"
parameters = f"/DIFFERENCE_NDVI/image.tiff.zip"
download_tiff_url: str = urljoin(
self.base_url,
GeosysApiEndpoints.FLM_BASE_REFERENCE_MAP.value.format(field_id)
+ parameters,
self.base_url, GeosysApiEndpoints.FLM_DIFFERENCE_MAP.value + parameters
)
response_zipped_tiff = self.http_client.get(

if not field_id or field_id == "":
payload = {
"earliestImage": {"id": image_id_earliest},
"latestImage": {"id": image_id_latest},
"seasonField": {"geometry": field_geometry},
}
else:
payload = {
"earliestImage": {"id": image_id_earliest},
"latestImage": {"id": image_id_latest},
"seasonField": {"id": field_id},
}

response_zipped_tiff = self.http_client.post(
download_tiff_url,
payload,
{"X-Geosys-Task-Code": PRIORITY_HEADERS[self.priority_queue]},
)

if response_zipped_tiff.status_code != 200:
raise HTTPError(
"Unable to download tiff.zip file. Server error: "
Expand Down
1 change: 1 addition & 0 deletions geosyspy/utils/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ class GeosysApiEndpoints(Enum):
FLM_BASE_REFERENCE_MAP = "field-level-maps/v5/season-fields/{}/coverage"
FLM_BASE_REFERENCE_MAP_POST = "field-level-maps/v5/maps/base-reference-map"
FLM_REFLECTANCE_MAP = "field-level-maps/v5/maps/reflectance-map"
FLM_DIFFERENCE_MAP = "field-level-maps/v5/maps/difference-map"
FLM_CATALOG_IMAGERY_POST = "field-level-maps/v5/season-fields/catalog-imagery"


Expand Down

0 comments on commit d284831

Please sign in to comment.