sondera package

Subpackages

Submodules

sondera.datatypes module

sondera data types

class sondera.datatypes.Coordinate(y: float, x: float, z: float = None, epsg_xy: int = None, epsg_z: int = None)[source]

Bases: object

distance_to(other) float[source]

Distance to other Coordinate in meters

Distance is calculated by converting booth coordinates to WGS84 (epsg:4326) and then calculating Haversine distance.

Both the instance and other need epsg_xy attribute set

epsg_xy: int = None
epsg_z: int = None
to_wgs84()[source]

Convert the 2D coordinates (x, y) to WGS84 epsg:4326

x: float
y: float
z: float = None
class sondera.datatypes.DataSeries(station: Station, data: pd.Series[int | float], parameter: Enum, metadata: str, start_date: datetime, end_date: datetime, aux_data: DataFrame | None = None)[source]

Bases: object

General class for observed data time series at a station

aux_data: DataFrame | None = None
data: pd.Series[int | float]
end_date: datetime
metadata: str
parameter: Enum
start_date: datetime
station: Station
class sondera.datatypes.Station(name: str, id: int, agency: str, position: Coordinate, station_type: StationType, active_station: bool, active_period: List[datetime], last_updated: datetime, station_info: dict[str, Any], position_history: List | None = None)[source]

Bases: object

Class for measurement station

active_period: List[datetime]
active_station: bool
agency: str
id: int
last_updated: datetime
name: str
position: Coordinate
position_history: List | None = None
station_info: dict[str, Any]
station_type: StationType
class sondera.datatypes.StationType(value)[source]

Bases: Enum

An enumeration.

GWStation = 3
HydroStation = 1
MetStation = 2

sondera.exceptions module

exception sondera.exceptions.APIError(status_code, message)[source]

Bases: Exception

General exception API error

status_code

status code from api

Type:

int

message

error message

Type:

str

exception sondera.exceptions.SonderaError(message, report_issue=False, issue_messages=None)[source]

Bases: Exception

General exception for sondera errors .. attribute:: message

error message

type:

str

report_issue

flag for including reporting issue message

Type:

bool

issue_messages

if report_issue, then provide details related to error

Type:

list

sondera.geo_utils module

Geographical functions for sondera

sondera.geo_utils.distance_euclidean(coord1: Coordinate, coord2: Coordinate) float[source]

Euclidean Distance in meter between two coordinates

Parameters:
  • coord1

  • coord2

Return type:

Distance between coord1 and coord2 in meters

sondera.geo_utils.distance_haversine(coord1: Coordinate, coord2: Coordinate) float[source]

Distance in meter between two spherical coordinates on Earth using Haversine method

Parameters:
  • coord1

  • coord2

Return type:

Distance between coord1 and coord2 in meters

sondera.geo_utils.find_nearby_stations()[source]
sondera.geo_utils.find_stations_in_polygon()[source]
sondera.geo_utils.transform_coordinate(coord_in: Coordinate, epsg_out: int)[source]

Transform a Coordinate object’s 2D coordinates with epsg code

Parameters:
  • coord_in

  • epsg_out

Module contents

Top-level package for sondera.