gemgis.vector.remove_objects_within_buffer
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
orFalse
, default set toFalse
remove_empty_geometries (bool) – Variable to remove empty geometries. Options include:
True
orFalse
, default set toFalse
extract_coordinates (bool) – Variable to extract X and Y coordinates from resulting Shapely Objects. Options include:
True
orFalse
, default set toFalse
buffer (bool) – Variable to create a buffer. Options include:
True
orFalse
, default set toTrue
- 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