def _clip_points(shp, clip_obj):
    """ A function to clip point geometry using geopandas. Takes an
    input point GeoDataFrame that will be clipped to the clip_obj
    GeoDataFrame.

    Points that intersect with the geometry of clip_obj are extracted
    and returned.

    Parameters
    ----------
    shp : GeoDataFrame
        Composed of point geometry that is clipped to clip_obj.

    clip_obj : GeoDataFrame
        Reference polygon for clipping.

    Returns
    -------
    GeoDataFrame
        The returned GeoDataFrame is a subset of shp that intersects
        with clip_obj.
    """
    poly = clip_obj.geometry.unary_union
    return shp[shp.geometry.intersects(poly)]