Skip to content

Commit 18a4d30

Browse files
authored
fix: render fix for titiler-pgstac v1 upgrade (#408)
1 parent f449325 commit 18a4d30

File tree

2 files changed

+21
-17
lines changed

2 files changed

+21
-17
lines changed

stac_api/runtime/src/links.py

+17-8
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,16 @@ def inject_item(self, item: Item) -> None:
4646
item_id = item.get("id", "")
4747
item["links"] = item.get("links", [])
4848
if self.tiler_href:
49-
item["links"].append(self._get_item_map_link(item_id))
50-
item["assets"]["rendered_preview"] = self._get_item_preview_link(item_id)
49+
item["links"].append(self._get_item_map_link(item_id, self.collection_id))
50+
item["assets"]["rendered_preview"] = self._get_item_preview_link(
51+
item_id, self.collection_id
52+
)
5153

52-
def _get_item_map_link(self, item_id: str) -> Dict[str, Any]:
53-
qs = self.render_config.get_full_render_qs(self.collection_id, item_id)
54-
href = urljoin(self.tiler_href, f"stac/map?{qs}")
54+
def _get_item_map_link(self, item_id: str, collection_id: str) -> Dict[str, Any]:
55+
qs = self.render_config.get_full_render_qs()
56+
href = urljoin(
57+
self.tiler_href, f"collections/{collection_id}/items/{item_id}/map?{qs}"
58+
)
5559

5660
return {
5761
"title": "Map of Item",
@@ -60,9 +64,14 @@ def _get_item_map_link(self, item_id: str) -> Dict[str, Any]:
6064
"type": "text/html",
6165
}
6266

63-
def _get_item_preview_link(self, item_id: str) -> Dict[str, Any]:
64-
qs = self.render_config.get_full_render_qs(self.collection_id, item_id)
65-
href = urljoin(self.tiler_href, f"stac/preview.png?{qs}")
67+
def _get_item_preview_link(
68+
self, item_id: str, collection_id: str
69+
) -> Dict[str, Any]:
70+
qs = self.render_config.get_full_render_qs()
71+
href = urljoin(
72+
self.tiler_href,
73+
f"collections/{collection_id}/items/{item_id}/preview.png?{qs}",
74+
)
6675

6776
return {
6877
"title": "Rendered preview",

stac_api/runtime/src/render.py

+4-9
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,16 @@ class RenderConfig(BaseModel):
4242
mosaic_preview_zoom: Optional[int] = None
4343
mosaic_preview_coords: Optional[List[float]] = None
4444

45-
def get_full_render_qs(self, collection: str, item: Optional[str] = None) -> str:
45+
def get_full_render_qs(self) -> str:
4646
"""
47-
Return the full render query string, including the
48-
item, collection, render and assets parameters.
47+
Return the full render query string including render and assets parameters.
4948
"""
50-
collection_part = f"collection={collection}" if collection else ""
51-
item_part = f"&item={item}" if item else ""
52-
render_part = self.get_render_params()
53-
54-
return "".join([collection_part, item_part, render_part])
49+
return self.get_render_params()
5550

5651
def get_render_params(self) -> str:
5752
"""Get the render parameters as a query string."""
5853
params = self.render_params.copy()
59-
return f"&{get_param_str(params)}"
54+
return f"{get_param_str(params)}"
6055

6156
class Config:
6257
"""Pydantic config class for RenderConfig."""

0 commit comments

Comments
 (0)