Source code for kmlorm.spatial.exceptions

"""
Spatial calculation exceptions.

This module defines exceptions specific to spatial calculations and operations.
These exceptions provide detailed context for spatial calculation failures.
"""


[docs] class SpatialCalculationError(Exception): """ Base exception for spatial calculations. Raised when spatial calculations encounter errors that cannot be handled gracefully, such as mathematical errors or invalid geometric configurations. """
[docs] class InvalidCoordinateError(SpatialCalculationError): """ Raised when coordinates are invalid or out of bounds. This includes: - Longitude not in range [-180, 180] - Latitude not in range [-90, 90] - Non-numeric coordinate values - NaN or infinite coordinate values Examples: >>> from kmlorm.models.point import Coordinate >>> try: ... coord = Coordinate(longitude=200, latitude=45) # Invalid longitude ... except InvalidCoordinateError as e: ... print(f"Invalid coordinate: {e}") """
[docs] class InsufficientDataError(SpatialCalculationError): """ Raised when not enough data is available for spatial calculation. This occurs when: - Objects don't have coordinate information - Required coordinate components are missing - Input data is incomplete for the requested calculation Examples: >>> from kmlorm.spatial.calculations import SpatialCalculations >>> from kmlorm.models.placemark import Placemark >>> placemark_no_coords = Placemark(name="No coordinates") >>> coord = Coordinate(longitude=0, latitude=0) >>> try: ... distance = SpatialCalculations.distance_between(placemark_no_coords, coord) ... except InsufficientDataError as e: ... print(f"Cannot calculate: {e}") """