@staticmethod
def _norm_d_pos(observer, target):
    """
        Calculate the normalized position vector between two frames.

        Parameters
        ----------
        observer : `~astropy.coordinates.BaseCoordinateFrame` or `~astropy.coordinates.SkyCoord`
            The observation frame or coordinate.
        target : `~astropy.coordinates.BaseCoordinateFrame` or `~astropy.coordinates.SkyCoord`
            The target frame or coordinate.

        Returns
        -------
        pos_hat : `BaseRepresentation`
            Position representation.
        """
    d_pos = (target.data.without_differentials() - observer.data.
        without_differentials()).to_cartesian()
    dp_norm = d_pos.norm()
    dp_norm.ravel()[dp_norm.ravel() == 0] = 1 * dp_norm.unit
    pos_hat = d_pos / dp_norm
    return pos_hat
