satorbis_kit.visualization.visualizer module

Simple STAC visualizer using leafmap and TiTiler-pgSTAC.

class satorbis_kit.visualization.visualizer.STACVisualizer(titiler_endpoint: str, api_key: str | None = None, tile_matrix_set: str = 'WebMercatorQuad', api_key_param_name: str = 'api_key')[source]

Bases: object

Visualize STAC data using leafmap and TiTiler-pgSTAC.

Simple wrapper around leafmap to add TiTiler-pgSTAC raster tiles.

Example

>>> viz = STACVisualizer(
...     titiler_endpoint="http://0.0.0.0:8081",
...     api_key="your-api-key"
... )
>>>
>>> m = viz.visualize(
...     collection="TCX8021",
...     assets="asset",
...     center=[23.750, 77.698],
...     zoom=13,
...     colormap_name="ndvi",
...     rescale="50,200"
... )
>>> m
add_layer(map_instance: leafmap.Map, collection: str, assets: str, layer_name: str | None = None, opacity: float = 0.8, **titiler_params) leafmap.Map[source]

Add a layer to an existing map.

Parameters:
  • map_instance – Existing leafmap.Map instance

  • collection – STAC collection ID

  • assets – Asset name(s) to visualize

  • layer_name – Custom layer name

  • opacity – Layer opacity (0-1)

  • **titiler_params – Additional TiTiler parameters

Returns:

Updated leafmap.Map instance

Example

>>> viz = STACVisualizer("http://0.0.0.0:8081")
>>> m = leafmap.Map(center=[23.750, 77.698], zoom=13)
>>> m = viz.add_layer(
...     m,
...     collection="TCX8021",
...     assets="asset",
...     colormap_name="ndvi"
... )
build_tile_url(collection: str, assets: str, **params) str[source]

Build TiTiler tile URL.

Parameters:
  • collection – STAC collection ID

  • assets – Asset name(s) - comma-separated for multiple

  • **params – Additional TiTiler parameters (colormap_name, rescale, etc.)

Returns:

Tile URL template

Example

>>> viz = STACVisualizer("http://0.0.0.0:8081")
>>> url = viz.build_tile_url(
...     collection="TCX8021",
...     assets="asset",
...     colormap_name="ndvi",
...     rescale="50,200"
... )
visualize(collection: str, assets: str, center: List[float], zoom: int = 10, layer_name: str | None = None, opacity: float = 0.8, basemap: str = 'OpenStreetMap', **titiler_params) leafmap.Map[source]

Visualize a STAC collection.

Parameters:
  • collection – STAC collection ID

  • assets – Asset name(s) to visualize

  • center – Map center [lat, lon]

  • zoom – Map zoom level

  • layer_name – Custom layer name (default: collection ID)

  • opacity – Layer opacity (0-1)

  • basemap – Basemap name

  • **titiler_params – Additional TiTiler parameters (colormap_name, rescale, etc.)

Returns:

leafmap.Map instance

Example

>>> viz = STACVisualizer("http://0.0.0.0:8081")
>>> m = viz.visualize(
...     collection="TCX8021",
...     assets="asset",
...     center=[23.750, 77.698],
...     zoom=13,
...     colormap_name="ndvi",
...     rescale="50,200"
... )
>>> m