satorbis_kit.visualization.utils module

Utility functions for STAC visualization.

satorbis_kit.visualization.utils.calculate_center(bounds: List[float]) List[float][source]

Calculate center point from bounding box.

Parameters:

bounds – Bounding box [west, south, east, north]

Returns:

Center point [lat, lon]

satorbis_kit.visualization.utils.create_color_palette(name: str = 'viridis', n_colors: int = 256) List[Tuple[int, int, int]][source]

Create a color palette for visualization.

Parameters:
  • name – Palette name (‘viridis’, ‘plasma’, ‘inferno’, ‘magma’, ‘cividis’)

  • n_colors – Number of colors in the palette

Returns:

List of RGB tuples

satorbis_kit.visualization.utils.format_metadata(item: Dict, max_properties: int = 10) str[source]

Format STAC item metadata as HTML for popup display.

Parameters:
  • item – STAC item dictionary

  • max_properties – Maximum number of properties to display

Returns:

HTML string for popup

satorbis_kit.visualization.utils.get_item_bounds(item: Dict) List[float][source]

Extract bounding box from a STAC item.

Parameters:

item – STAC item dictionary

Returns:

Bounding box as [west, south, east, north]

Example

>>> item = {"bbox": [-180, -90, 180, 90]}
>>> bounds = get_item_bounds(item)
>>> bounds
[-180, -90, 180, 90]
satorbis_kit.visualization.utils.get_optimal_zoom(bounds: List[float], map_width: int = 800, map_height: int = 600) int[source]

Calculate optimal zoom level for bounding box.

Parameters:
  • bounds – Bounding box [west, south, east, north]

  • map_width – Map width in pixels

  • map_height – Map height in pixels

Returns:

Zoom level (1-22)

satorbis_kit.visualization.utils.merge_bounds(bounds_list: List[List[float]]) List[float][source]

Merge multiple bounding boxes into one.

Parameters:

bounds_list – List of bounding boxes

Returns:

Merged bounding box [west, south, east, north]