Parse a latitude formatted as sexagesimal degrees into an angle.

    This function converts a textual representation of a latitude, measured in
    degrees, into a floating point value measured in radians. The format of
    *latstr* is very limited: it may not have leading or trailing whitespace,
    and the components of the sexagesimal representation must be separated by
    colons. The input must therefore resemble something like
    ``"-00:12:34.5"``. A :exc:`ValueError` will be raised if the input does
    not resemble this template. Latitudes greater than 90 or less than -90
    degrees are not allowed.

def parsedeglat (latstr):
    """Parse a latitude formatted as sexagesimal degrees into an angle.

    This function converts a textual representation of a latitude, measured in
    degrees, into a floating point value measured in radians. The format of
    *latstr* is very limited: it may not have leading or trailing whitespace,
    and the components of the sexagesimal representation must be separated by
    colons. The input must therefore resemble something like
    ``"-00:12:34.5"``. A :exc:`ValueError` will be raised if the input does
    not resemble this template. Latitudes greater than 90 or less than -90
    degrees are not allowed.

    """
    deg = _parsesexagesimal (latstr, 'latitude', True)
    if abs (deg) > 90:
        raise ValueError ('illegal latitude specification: ' + latstr)
    return deg * D2R