processing_library/util/coordinate_support.py
def xyz_at_latitude(local_xyz, lat):
    """
    Rotate local XYZ coordinates into celestial XYZ coordinates. These
    coordinate systems are very similar, with X pointing towards the
    geographical east in both cases. However, before the rotation Z
    points towards the zenith, whereas afterwards it will point towards
    celestial north (parallel to the earth axis).

    :param lat: target latitude (radians or astropy quantity)
    :param local_xyz: Array of local XYZ coordinates
    :return: Celestial XYZ coordinates
    """
    
    x, y, z = numpy.hsplit(local_xyz, 3)  # pylint: disable=unbalanced-tuple-unpacking
    
    lat2 = numpy.pi / 2 - lat
    y2 = -z * numpy.sin(lat2) + y * numpy.cos(lat2)
    z2 = z * numpy.cos(lat2) + y * numpy.sin(lat2)
    
    return numpy.hstack([x, y2, z2])

    Rotate local XYZ coordinates into celestial XYZ coordinates. These
    coordinate systems are very similar, with X pointing towards the
    geographical east in both cases. However, before the rotation Z
    points towards the zenith, whereas afterwards it will point towards
    celestial north (parallel to the earth axis).

    :param lat: target latitude (radians or astropy quantity)
    :param local_xyz: Array of local XYZ coordinates
    :return: Celestial XYZ coordinates
    
Rotate local XYZ coordinates into celestial XYZ coordinates. These
coordinate systems are very similar, with X pointing towards the
geographical east in both cases. However, before the rotation Z
points towards the zenith, whereas afterwards it will point towards
celestial north (parallel to the earth axis).
Rotate local XYZ coordinates into celestial XYZ coordinates . These coordinate systems are very similar with X pointing towards the geographical east in both cases . However before the rotation Z points towards the zenith whereas afterwards it will point towards celestial north ( parallel to the earth axis ) .
def xyz_at_latitude(local_xyz, lat):
    x, y, z = numpy.hsplit(local_xyz, 3)  
    lat2 = numpy.pi / 2 - lat
    y2 = -z * numpy.sin(lat2) + y * numpy.cos(lat2)
    z2 = z * numpy.cos(lat2) + y * numpy.sin(lat2)
    return numpy.hstack([x, y2, z2])
def xyz_at_latitude ( local_xyz , lat ) : x , y , z = numpy . hsplit ( local_xyz , 3 ) lat2 = numpy . pi / 2 - lat y2 = - z * numpy . sin ( lat2 ) + y * numpy . cos ( lat2 ) z2 = z * numpy . cos ( lat2 ) + y * numpy . sin ( lat2 ) return numpy . hstack ( [ x , y2 , z2 ] )
Rotate local XYZ coordinates into celestial XYZ coordinates.
Rotate local XYZ coordinates into celestial XYZ coordinates .
"""
    Rotate local XYZ coordinates into celestial XYZ coordinates. These
    coordinate systems are very similar, with X pointing towards the
    geographical east in both cases. However, before the rotation Z
    points towards the zenith, whereas afterwards it will point towards
    celestial north (parallel to the earth axis).

    :param lat: target latitude (radians or astropy quantity)
    :param local_xyz: Array of local XYZ coordinates
    :return: Celestial XYZ coordinates
    """ # pylint: disable=unbalanced-tuple-unpacking
Celestial XYZ coordinates
Celestial XYZ coordinates
local_xyz
Array of local XYZ coordinates
Array of local XYZ coordinates
lat
target latitude (radians or astropy quantity)
target latitude ( radians or astropy quantity )