gemgis.vector.remove_objects_within_buffer#

gemgis.vector.remove_objects_within_buffer(buffer_object: shapely.geometry.base.BaseGeometry, buffered_objects_gdf: Union[geopandas.geodataframe.GeoDataFrame, List[shapely.geometry.base.BaseGeometry]], distance: Union[int, float] = None, return_gdfs: bool = False, remove_empty_geometries: bool = False, extract_coordinates: bool = False, buffer: bool = True) Tuple[Union[List[shapely.geometry.base.BaseGeometry], geopandas.geodataframe.GeoDataFrame], Union[List[shapely.geometry.base.BaseGeometry], geopandas.geodataframe.GeoDataFrame]]#

Removing objects from a buffered object by providing a distance

Parameters
  • buffer_object (shapely.geometry.base.BaseGeometry) – Shapely object for which a buffer will be created, e.g. buffer_object=Point(0, 0)

  • buffered_object_gdf (Union[gpd.geodataframe.GeoDataFrame, List[shapely.geometry.base.BaseGeometry]]) – GeoDataFrame or List of Base Geometries containing Shapely objects that will be buffered by the buffer object

  • distance (float, int) – Distance of the buffer around the geometry object, e.g. distance=10

  • return_gdfs (bool) – Variable to create GeoDataFrames of the created list of Shapely Objects. Options include: True or False, default set to False

  • remove_empty_geometries (bool) – Variable to remove empty geometries. Options include: True or False, default set to False

  • extract_coordinates (bool) – Variable to extract X and Y coordinates from resulting Shapely Objects. Options include: True or False, default set to False

  • buffer (bool) – Variable to create a buffer. Options include: True or False, default set to True

Returns

  • result_out (list, gpd.geodataframe.GeoDataFrame) – List or GeoDataFrame of Shapely objects that remain after the buffering (outside the buffer)

  • result_in (list, gpd.geodataframe.GeoDataFrame) – List or GeoDataFrame of Shapely objects that was buffered (inside the buffer)

New in version 1.0.x.

Example

>>> # Loading Libraries and creating Point
>>> import gemgis as gg
>>> from shapely.geometry import Point, LineString
>>> point = Point(0, 0)
>>> point.wkt
'POINT (0 0)'
>>> # Creating first LineString
>>> linestring1 = LineString([(0, 0), (10, 10), (20, 20)])
>>> linestring1.wkt
'LINESTRING (0 0, 10 10, 20 20)'
>>> # Creating second LineString
>>> linestring2 = LineString([(10, 0), (20, 10), (30, 20)])
>>> linestring2.wkt
'LINESTRING (0 0, 10 10, 20 20)'
>>> # Create list of buffer objects
>>> buffer_objects = [linestring1, linestring2]
>>> # Removing objects within buffer
>>> result_out, result_in = gg.vector.remove_objects_within_buffer(buffer_object=point, buffered_object_gdf=buffer_objects, distance=10)
>>> # Inspecting the Base Geometries that remain outside
>>> result_out
[<shapely.geometry.linestring.LineString at 0x2515421e4f0>,
<shapely.geometry.linestring.LineString at 0x2515421e3d0>]
>>> # Inspecting the Base Geometries that remain inside
>>> result_in
[<shapely.geometry.linestring.LineString at 0x2515421e310>,
<shapely.geometry.linestring.LineString at 0x2515421e6a0>]

See also

remove_object_within_buffer

Removing one object from one buffered object

remove_interfaces_within_fault_buffers

Removing interfaces of layer boundaries within fault line buffers