mt_metadata.common.location =========================== .. py:module:: mt_metadata.common.location Classes ------- .. autoapisummary:: mt_metadata.common.location.BasicLocationNoDatum mt_metadata.common.location.BasicLocation mt_metadata.common.location.Location mt_metadata.common.location.StationLocation Module Contents --------------- .. py:class:: BasicLocationNoDatum(**data) Bases: :py:obj:`mt_metadata.base.MetadataBase` A partial location class that only includes the latitude, longitude, and elevation. This is used to avoid circular imports. .. py:attribute:: latitude :type: Annotated[float | None, Field(default=0.0, description='Latitude of the location.', validation_alias=AliasChoices('latitude', 'lat'), json_schema_extra={'units': 'degrees', 'required': False, 'examples': ['12.324']})] .. py:attribute:: longitude :type: Annotated[float | None, Field(default=0.0, description='Longitude of the location.', validation_alias=AliasChoices('longitude', 'lon', 'long'), json_schema_extra={'units': 'degrees', 'required': False, 'examples': ['12.324']})] .. py:attribute:: elevation :type: Annotated[float, Field(default=0.0, description='Elevation of the location.', alias=None, json_schema_extra={'units': 'meters', 'required': False, 'examples': ['1234.0']})] .. py:method:: validate_position(value, info) :classmethod: .. py:class:: BasicLocation(**data) Bases: :py:obj:`BasicLocationNoDatum` A partial location class that only includes the latitude, longitude, and elevation. This is used to avoid circular imports. .. py:attribute:: datum :type: Annotated[str | int, Field(default='WGS 84', description='Datum of the location values. Usually a well known datum like WGS84.', alias=None, json_schema_extra={'units': None, 'required': False, 'examples': ['WGS 84']})] .. py:attribute:: x :type: Annotated[float, Field(default=0.0, description='relative distance to the center of the station', validation_alias=AliasChoices('x', 'easting', 'east'), json_schema_extra={'units': 'meters', 'required': False, 'examples': ['10.0']})] .. py:attribute:: y :type: Annotated[float, Field(default=0.0, description='relative distance to the center of the station', validation_alias=AliasChoices('y', 'north', 'northing'), json_schema_extra={'units': 'meters', 'required': False, 'examples': ['10.0']})] .. py:attribute:: z :type: Annotated[float, Field(default=0.0, description='relative elevation to the center of the station', alias=None, json_schema_extra={'units': 'meters', 'required': False, 'examples': ['10.0']})] .. py:method:: validate_datum(value) :classmethod: Validate the datum value and convert it to the appropriate enum type. .. py:class:: Location(**data) Bases: :py:obj:`BasicLocation` Positional location of a geographic point .. py:attribute:: latitude_uncertainty :type: Annotated[float, Field(default=0.0, description='uncertainty in latitude estimation in degrees', alias=None, json_schema_extra={'units': 'degrees', 'required': False, 'examples': ['0.01']})] .. py:attribute:: longitude_uncertainty :type: Annotated[float, Field(default=0.0, description='uncertainty in longitude estimation in degrees', alias=None, json_schema_extra={'units': 'degrees', 'required': False, 'examples': ['0.01']})] .. py:attribute:: elevation_uncertainty :type: Annotated[float, Field(default=0.0, description='uncertainty in elevation estimation', alias=None, json_schema_extra={'units': 'meters', 'required': False, 'examples': ['0.01']})] .. py:attribute:: x2 :type: Annotated[float, Field(default=0.0, description='relative distance to the center of the station', validation_alias=AliasChoices('x2', 'east', 'easting'), json_schema_extra={'units': 'meters', 'required': False, 'examples': ['10.0']})] .. py:attribute:: y2 :type: Annotated[float, Field(default=0.0, description='relative distance to the center of the station', validation_alias=AliasChoices('y2', 'north', 'northing'), json_schema_extra={'units': 'meters', 'required': False, 'examples': ['10.0']})] .. py:attribute:: z2 :type: Annotated[float, Field(default=0.0, description='relative elevation to the center of the station', alias=None, json_schema_extra={'units': 'meters', 'required': False, 'examples': ['10.0']})] .. py:attribute:: x_uncertainty :type: Annotated[float, Field(default=0.0, description='uncertainty in longitude estimation in x-direction', alias=None, json_schema_extra={'units': 'meters', 'required': False, 'examples': ['0.01']})] .. py:attribute:: y_uncertainty :type: Annotated[float, Field(default=0.0, description='uncertainty in longitude estimation in y-direction', alias=None, json_schema_extra={'units': 'meters', 'required': False, 'examples': ['0.01']})] .. py:attribute:: z_uncertainty :type: Annotated[float, Field(default=0.0, description='uncertainty in longitude estimation in z-direction', alias=None, json_schema_extra={'units': 'meters', 'required': False, 'examples': ['0.01']})] .. py:class:: StationLocation(**data) Bases: :py:obj:`Location` A class that represents the location of a station. It includes latitude, longitude, elevation, and other related attributes. .. py:attribute:: declination :type: Annotated[mt_metadata.common.Declination, Field(default_factory=Declination, description='Declination of the location.', alias=None, json_schema_extra={'units': 'degrees', 'required': False, 'examples': ['Declination(10.0)']})] .. py:attribute:: geographic_location :type: Annotated[mt_metadata.common.GeographicLocation, Field(default_factory=GeographicLocation, description='Geographic location of the station.', alias=None, json_schema_extra={'units': None, 'required': False, 'examples': ['GeographicLocation(latitude=12.34, longitude=56.78)']})]