Locations¶
Location types represent ground positions or areas that satellites can access.
PointLocation¶
PointLocation ¶
A single point location on Earth's surface.
Represents a discrete point with geodetic coordinates (longitude, latitude, altitude). Commonly used for ground stations, imaging targets, or tessellated polygon tiles.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
lon | float | Longitude in degrees (-180 to 180) | required |
lat | float | Latitude in degrees (-90 to 90) | required |
alt | float | Altitude above ellipsoid in meters (default: 0.0) | 0.0 |
Example
Initialize instance.
properties property ¶
properties: PropertiesDict
Get custom properties dictionary.
Returns:
| Name | Type | Description |
|---|---|---|
PropertiesDict | PropertiesDict | Dictionary-like wrapper for properties that supports assignment |
Example
_get_properties_dict method descriptor ¶
Internal method: Get properties as a plain Python dict.
_set_property method descriptor ¶
Internal method: Set a property value.
add_property method descriptor ¶
add_property(key: str, value: Any) -> PointLocation
Add a custom property (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key | str | Property name | required |
value | Any | Property value (must be JSON-serializable) | required |
Returns:
| Name | Type | Description |
|---|---|---|
PointLocation | PointLocation | Self for chaining |
center_ecef method descriptor ¶
center_ecef() -> ndarray
Get center position in ECEF coordinates [x, y, z].
Returns:
| Name | Type | Description |
|---|---|---|
ndarray | ndarray | ECEF position in meters [x, y, z] |
center_geodetic method descriptor ¶
center_geodetic() -> ndarray
Get center coordinates in geodetic format [lon, lat, alt].
Returns:
| Name | Type | Description |
|---|---|---|
ndarray | ndarray | Geodetic coordinates [longitude_deg, latitude_deg, altitude_m] |
from_geojson builtin ¶
from_geojson(geojson: dict) -> PointLocation
Create from GeoJSON Point Feature.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
geojson | dict | GeoJSON Feature object with Point geometry | required |
Returns:
| Name | Type | Description |
|---|---|---|
PointLocation | PointLocation | New location instance |
Raises:
| Type | Description |
|---|---|
ValueError | If GeoJSON is invalid or not a Point Feature |
get_uuid method descriptor ¶
get_uuid() -> str
Get the UUID as a string.
Returns:
| Type | Description |
|---|---|
str | str | None: UUID string if set, None otherwise |
latitude method descriptor ¶
latitude(angle_format: AngleFormat) -> float
Get latitude with angle format conversion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
angle_format | AngleFormat | Desired output format (DEGREES or RADIANS) | required |
Returns:
| Name | Type | Description |
|---|---|---|
float | float | Latitude in specified format |
longitude method descriptor ¶
longitude(angle_format: AngleFormat) -> float
Get longitude with angle format conversion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
angle_format | AngleFormat | Desired output format (DEGREES or RADIANS) | required |
Returns:
| Name | Type | Description |
|---|---|---|
float | float | Longitude in specified format |
set_id method descriptor ¶
Set the numeric ID (mutating).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id | int | None | ID to set, or None to clear | required |
set_name method descriptor ¶
Set the name (mutating).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name | str | None | Name to set, or None to clear | required |
to_geojson method descriptor ¶
to_geojson() -> dict
Export to GeoJSON Feature format.
Returns:
| Name | Type | Description |
|---|---|---|
dict | dict | GeoJSON Feature object |
Example
with_id method descriptor ¶
with_id(id: int) -> PointLocation
Set the numeric ID (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id | int | Numeric identifier | required |
Returns:
| Name | Type | Description |
|---|---|---|
PointLocation | PointLocation | Self for chaining |
with_name method descriptor ¶
with_name(name: str) -> PointLocation
Set the name (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name | str | Human-readable name | required |
Returns:
| Name | Type | Description |
|---|---|---|
PointLocation | PointLocation | Self for chaining |
with_new_uuid method descriptor ¶
with_new_uuid() -> PointLocation
Generate a new UUID (builder pattern).
Returns:
| Name | Type | Description |
|---|---|---|
PointLocation | PointLocation | Self for chaining |
with_uuid method descriptor ¶
with_uuid(uuid_str: str) -> PointLocation
Set the UUID from a string (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
uuid_str | str | UUID string | required |
Returns:
| Name | Type | Description |
|---|---|---|
PointLocation | PointLocation | Self for chaining |
Raises:
| Type | Description |
|---|---|
ValueError | If UUID string is invalid |
PolygonLocation¶
PolygonLocation ¶
A polygonal area on Earth's surface.
Represents a closed polygon with multiple vertices. Commonly used for areas of interest, no-fly zones, or imaging footprints.
The polygon is automatically closed if the first and last vertices don't match.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vertices | list[list[float]] | List of [lon, lat, alt] vertices in degrees and meters | required |
Raises:
| Type | Description |
|---|---|
ValueError | If polygon has fewer than 4 vertices or has validation errors |
Example
Initialize instance.
lat property ¶
lat: float
Get center latitude in degrees.
Returns:
| Name | Type | Description |
|---|---|---|
float | float | Center latitude in degrees |
lon property ¶
lon: float
Get center longitude in degrees.
Returns:
| Name | Type | Description |
|---|---|---|
float | float | Center longitude in degrees |
num_vertices property ¶
num_vertices: int
Get number of unique vertices (excluding closure).
Returns:
| Name | Type | Description |
|---|---|---|
int | int | Number of unique vertices |
properties property ¶
properties: PropertiesDict
Get custom properties dictionary.
Returns:
| Name | Type | Description |
|---|---|---|
PropertiesDict | PropertiesDict | Dictionary-like wrapper for properties that supports assignment |
Example
vertices property ¶
vertices: ndarray
Get polygon vertices.
Returns all vertices including the closure vertex (first == last).
Returns:
| Name | Type | Description |
|---|---|---|
ndarray | ndarray | Vertices as Nx3 array [[lon, lat, alt], ...] |
_get_properties_dict method descriptor ¶
Internal method: Get properties as a plain Python dict.
_set_property method descriptor ¶
Internal method: Set a property value.
add_property method descriptor ¶
add_property(key: str, value: Any) -> PolygonLocation
Add a custom property (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key | str | Property name | required |
value | Any | Property value (must be JSON-serializable) | required |
Returns:
| Name | Type | Description |
|---|---|---|
PolygonLocation | PolygonLocation | Self for chaining |
center_ecef method descriptor ¶
center_ecef() -> ndarray
Get center position in ECEF coordinates [x, y, z].
Returns:
| Name | Type | Description |
|---|---|---|
ndarray | ndarray | ECEF position in meters [x, y, z] |
center_geodetic method descriptor ¶
center_geodetic() -> ndarray
Get center coordinates in geodetic format [lon, lat, alt].
Returns:
| Name | Type | Description |
|---|---|---|
ndarray | ndarray | Geodetic coordinates [longitude_deg, latitude_deg, altitude_m] |
from_geojson builtin ¶
from_geojson(geojson: dict) -> PolygonLocation
Create from GeoJSON Polygon Feature.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
geojson | dict | GeoJSON Feature object with Polygon geometry | required |
Returns:
| Name | Type | Description |
|---|---|---|
PolygonLocation | PolygonLocation | New polygon instance |
Raises:
| Type | Description |
|---|---|
ValueError | If GeoJSON is invalid or not a Polygon Feature |
Example
get_uuid method descriptor ¶
get_uuid() -> str
Get the UUID as a string.
Returns:
| Type | Description |
|---|---|
str | str | None: UUID string if set, None otherwise |
latitude method descriptor ¶
latitude(angle_format: AngleFormat) -> float
Get center latitude with angle format conversion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
angle_format | AngleFormat | Desired output format (DEGREES or RADIANS) | required |
Returns:
| Name | Type | Description |
|---|---|---|
float | float | Center latitude in specified format |
longitude method descriptor ¶
longitude(angle_format: AngleFormat) -> float
Get center longitude with angle format conversion.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
angle_format | AngleFormat | Desired output format (DEGREES or RADIANS) | required |
Returns:
| Name | Type | Description |
|---|---|---|
float | float | Center longitude in specified format |
set_id method descriptor ¶
Set the numeric ID (mutating).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id | int | None | ID to set, or None to clear | required |
set_name method descriptor ¶
Set the name (mutating).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name | str | None | Name to set, or None to clear | required |
with_id method descriptor ¶
with_id(id: int) -> PolygonLocation
Set the numeric ID (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
id | int | Numeric identifier | required |
Returns:
| Name | Type | Description |
|---|---|---|
PolygonLocation | PolygonLocation | Self for chaining |
with_name method descriptor ¶
with_name(name: str) -> PolygonLocation
Set the name (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name | str | Human-readable name | required |
Returns:
| Name | Type | Description |
|---|---|---|
PolygonLocation | PolygonLocation | Self for chaining |
with_new_uuid method descriptor ¶
with_new_uuid() -> PolygonLocation
Generate a new UUID (builder pattern).
Returns:
| Name | Type | Description |
|---|---|---|
PolygonLocation | PolygonLocation | Self for chaining |
with_uuid method descriptor ¶
with_uuid(uuid_str: str) -> PolygonLocation
Set the UUID from a string (builder pattern).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
uuid_str | str | UUID string | required |
Returns:
| Name | Type | Description |
|---|---|---|
PolygonLocation | PolygonLocation | Self for chaining |
Raises:
| Type | Description |
|---|---|
ValueError | If UUID string is invalid |