def _within_parks(line_geometry, park_polygons):
    """
    The function supports the along_within_parks function. Returns a list containing the barrierID of possibly intersecting parks (should be one).
        
    Parameters
    ----------
    line_geometry: LineString 
        street segment geometry
    park_polygons: Polygon GeoDataFrame
        Parks GeoDataFrame
      
    Returns
    -------
    within: List
        a list of street segments within a given park's polygon
    """
    
    within = []
    intersecting_parks = park_polygons[park_polygons.geometry.intersects(line_geometry)]
    touching_parks = park_polygons[park_polygons.geometry.touches(line_geometry)]
    if len(intersecting_parks) == 0: 
        return within
    intersecting_parks = intersecting_parks[~intersecting_parks.barrierID.isin(list(touching_parks.barrierID))]
    within = list(intersecting_parks.barrierID)
    return within