Tessellation¶
Types and functions for dividing geographic locations into satellite-imaging tiles aligned with orbital ground tracks.
OrbitGeometryTessellatorConfig¶
OrbitGeometryTessellatorConfig ¶
OrbitGeometryTessellatorConfig(image_width: float = 5000.0, image_length: float = 5000.0, crosstrack_overlap: float = 200.0, alongtrack_overlap: float = 200.0, asc_dsc: AscDsc = None, min_image_length: float = 5000.0, max_image_length: float = 5000.0)
Configuration for the orbit geometry tessellator.
Controls tile dimensions, overlaps, and ascending/descending pass selection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
image_width | float | Cross-track tile width in meters (default: 5000) | 5000.0 |
image_length | float | Along-track tile length in meters (default: 5000) | 5000.0 |
crosstrack_overlap | float | Cross-track overlap in meters (default: 200) | 200.0 |
alongtrack_overlap | float | Along-track overlap in meters (default: 200) | 200.0 |
asc_dsc | AscDsc | Ascending/descending pass selection (default: Either) | None |
min_image_length | float | Minimum tile length in meters (default: 5000) | 5000.0 |
max_image_length | float | Maximum tile length in meters (default: 5000) | 5000.0 |
Example
Initialize instance.
OrbitGeometryTessellator¶
OrbitGeometryTessellator ¶
OrbitGeometryTessellator(propagator: SGPPropagator, epoch: Epoch, config: OrbitGeometryTessellatorConfig = None, spacecraft_id: str = None)
Tessellator that uses orbital geometry to create rectangular tiles aligned with satellite ground tracks.
Uses the satellite's orbital elements to compute along-track directions at the target latitude, then tiles the area perpendicular and parallel to the ground track. Each output tile is a PolygonLocation with metadata properties:
tile_direction: along-track unit ECEF vector [x, y, z]tile_width: cross-track dimension (m)tile_length: along-track dimension (m)tile_area: width * length (m^2)tile_group_id: UUID string shared by tiles in the same tiling directionspacecraft_ids: list of spacecraft identifiers
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
propagator | SGPPropagator | Orbit propagator | required |
epoch | Epoch | Reference epoch for the propagator | required |
config | OrbitGeometryTessellatorConfig | Tessellation configuration | None |
spacecraft_id | str | Optional spacecraft identifier for tile metadata | None |
Example
Initialize instance.
config property ¶
config: OrbitGeometryTessellatorConfig
Get the tessellator configuration.
Returns:
| Name | Type | Description |
|---|---|---|
OrbitGeometryTessellatorConfig | OrbitGeometryTessellatorConfig | Current configuration |
tessellate method descriptor ¶
tessellate(location: PointLocation | PolygonLocation) -> list[PolygonLocation]
Tessellate a location (point or polygon) into rectangular tiles.
Dispatches to tessellate_point or tessellate_polygon based on input type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
location | PointLocation | PolygonLocation | Location to tessellate | required |
Returns:
| Type | Description |
|---|---|
list[PolygonLocation] | list[PolygonLocation]: Tessellated tiles with metadata properties |
tessellate_point method descriptor ¶
tessellate_point(point: PointLocation) -> list[PolygonLocation]
Tessellate a point location into rectangular tiles.
Creates one tile per orbital pass direction (ascending, descending, or both) centered on the point. At high latitudes where ascending and descending directions converge, redundant tiles may be automatically merged.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
point | PointLocation | Point to tessellate | required |
Returns:
| Type | Description |
|---|---|
list[PolygonLocation] | list[PolygonLocation]: Tessellated tiles with metadata properties |
tessellate_polygon method descriptor ¶
tessellate_polygon(polygon: PolygonLocation) -> list[PolygonLocation]
Tessellate a polygon location into rectangular tiles.
Divides the polygon into cross-track strips aligned with satellite ground tracks, then subdivides each strip along-track into tiles. Handles concave polygons by detecting gaps in the along-track direction.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
polygon | PolygonLocation | Polygon to tessellate | required |
Returns:
| Type | Description |
|---|---|
list[PolygonLocation] | list[PolygonLocation]: Tessellated tiles with metadata properties |
tile_merge_orbit_geometry¶
tile_merge_orbit_geometry builtin ¶
tile_merge_orbit_geometry(tiles: list[PolygonLocation], at_overlap: float = 200.0, ct_overlap: float = 200.0, mergable_range_deg: float = 2.0) -> list[PolygonLocation]
Merge tessellation tiles from multiple spacecraft.
When multiple spacecraft can image the same area with similar ground-track directions, tiles from one spacecraft can be merged onto another by adding the alternate spacecraft's ID to the base tile's spacecraft_ids property.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tiles | list[PolygonLocation] | All tiles from all spacecraft | required |
at_overlap | float | Along-track overlap in meters | 200.0 |
ct_overlap | float | Cross-track overlap in meters | 200.0 |
mergable_range_deg | float | Maximum angular difference in degrees for grouping directions | 2.0 |
Returns:
| Type | Description |
|---|---|
list[PolygonLocation] | list[PolygonLocation]: Reduced set of tiles with merged spacecraft_ids |