@staticmethod
def _validate_coordinate(coord, label=''):
    '\n        Checks the type of the frame and whether a velocity differential and a\n        distance has been defined on the frame object.\n\n        If no distance is defined, the target is assumed to be "really far\n        away", and the observer is assumed to be "in the solar system".\n\n        Parameters\n        ----------\n        coord : `~astropy.coordinates.BaseCoordinateFrame`\n            The new frame to be used for target or observer.\n        label : str, optional\n            The name of the object being validated (e.g. \'target\' or \'observer\'),\n            which is then used in error messages.\n        '
    if (coord is None):
        return
    if (not issubclass(coord.__class__, BaseCoordinateFrame)):
        if isinstance(coord, SkyCoord):
            coord = coord.frame
        else:
            raise TypeError(f'{label} must be a SkyCoord or coordinate frame instance')
    with np.errstate(all='ignore'):
        distance = getattr(coord, 'distance', None)
    if ((distance is not None) and (distance.unit.physical_type == 'dimensionless')):
        coord = SkyCoord(coord, distance=DEFAULT_DISTANCE)
        warnings.warn(f'Distance on coordinate object is dimensionless, an abritrary distance value of {DEFAULT_DISTANCE} will be set instead.', NoDistanceWarning)
    if ('s' not in coord.data.differentials):
        warnings.warn('No velocity defined on frame, assuming {}.'.format(ZERO_VELOCITIES), NoVelocityWarning)
        coord = attach_zero_velocities(coord)
    return coord
Checks the type of the frame and whether a velocity differential and a
distance has been defined on the frame object.

If no distance is defined, the target is assumed to be "really far
away", and the observer is assumed to be "in the solar system".

Parameters
----------
coord : `~astropy.coordinates.BaseCoordinateFrame`
    The new frame to be used for target or observer.
label : str, optional
    The name of the object being validated (e.g. 'target' or 'observer'),
    which is then used in error messages.
@staticmethod
def _validate_coordinate(coord, label=):
    '\n        Checks the type of the frame and whether a velocity differential and a\n        distance has been defined on the frame object.\n\n        If no distance is defined, the target is assumed to be "really far\n        away", and the observer is assumed to be "in the solar system".\n\n        Parameters\n        ----------\n        coord : `~astropy.coordinates.BaseCoordinateFrame`\n            The new frame to be used for target or observer.\n        label : str, optional\n            The name of the object being validated (e.g. \'target\' or \'observer\'),\n            which is then used in error messages.\n        '
    if (coord is None):
        return
    if (not issubclass(coord.__class__, BaseCoordinateFrame)):
        if isinstance(coord, SkyCoord):
            coord = coord.frame
        else:
            raise TypeError(f'{label} must be a SkyCoord or coordinate frame instance')
    with np.errstate(all='ignore'):
        distance = getattr(coord, 'distance', None)
    if ((distance is not None) and (distance.unit.physical_type == 'dimensionless')):
        coord = SkyCoord(coord, distance=DEFAULT_DISTANCE)
        warnings.warn(f'Distance on coordinate object is dimensionless, an abritrary distance value of {DEFAULT_DISTANCE} will be set instead.', NoDistanceWarning)
    if ('s' not in coord.data.differentials):
        warnings.warn('No velocity defined on frame, assuming {}.'.format(ZERO_VELOCITIES), NoVelocityWarning)
        coord = attach_zero_velocities(coord)
    return coord