def _do_overlap(rect_1,
                rect_2):
    """
    Determines whether the two rectangles have overlap.

    Args:
        rect_1: Tuple :code:`(lat_min, lon_min, lat_max, lon_max) describing
                a rectangular tile.
        rect_2: Tuple :code:`(lat_min, lon_min, lat_max, lon_max) describing
                a rectangular tile.

    Returns:
        True if the two rectangles overlap.
    """
    lat_min_1, lon_min_1, lat_max_1, lon_max_1 = rect_1
    lat_min_2, lon_min_2, lat_max_2, lon_max_2 = rect_2
    lat_min = max(lat_min_1, lat_min_2)
    lon_min = max(lon_min_1, lon_min_2)
    lat_max = min(lat_max_1, lat_max_2)
    lon_max = min(lon_max_1, lon_max_2)
    return (lat_min < lat_max) and (lon_min < lon_max)