aws.osml.features.geolocation module

class aws.osml.features.geolocation.LocationGridInterpolator(sensor_model: SensorModel, elevation_model: ElevationModel | None, grid_area_ulx: float, grid_area_uly: float, grid_area_width: float, grid_area_height: float, grid_resolution: int)[source]

Bases: object

This class can be used to approximate geodetic world coordinates from a grid of correspondences that is computed over a given area.

class aws.osml.features.geolocation.Geolocator(property_accessor: ImagedFeaturePropertyAccessor, sensor_model: SensorModel, elevation_model: ElevationModel | None = None, approximation_grid_size: int = 11)[source]

Bases: object

A Geolocator is a class that assign geographic coordinates for the features that are currently defined in image coordinates.

geolocate_features(features: List[Feature]) None[source]

Update the features to contain additional information from the context provided.

Parameters:

features – List[geojson.Feature] = the input features to refine

Returns:

None, the features are updated in place

static radians_coordinate_to_degrees(coordinate: GeodeticWorldCoordinate) Tuple[float, float, float][source]

GeoJSON coordinate order is a decimal longitude, latitude with an optional height as a 3rd value (i.e. [lon, lat, ht]). The WorldCoordinate uses the same ordering but the longitude and latitude are expressed in radians rather than degrees.

Parameters:

coordinate – GeodeticWorldCoordinate = the geodetic world coordinate (longitude, latitude, elevation)

Returns:

Tuple[float, float, float] = degrees(longitude), degrees(latitude), elevation