structure saas with tools
This commit is contained in:
55
.venv/lib/python3.10/site-packages/shapely/validation.py
Normal file
55
.venv/lib/python3.10/site-packages/shapely/validation.py
Normal file
@@ -0,0 +1,55 @@
|
||||
"""Validate geometries and make them valid."""
|
||||
# TODO: allow for implementations using other than GEOS
|
||||
|
||||
import shapely
|
||||
|
||||
__all__ = ["explain_validity", "make_valid"]
|
||||
|
||||
|
||||
def explain_validity(ob):
|
||||
"""Explain the validity of the input geometry, if it is invalid.
|
||||
|
||||
This will describe why the geometry is invalid, and might
|
||||
include a location if there is a self-intersection or a
|
||||
ring self-intersection.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
ob: Geometry
|
||||
A shapely geometry object
|
||||
|
||||
Returns
|
||||
-------
|
||||
str
|
||||
A string describing the reason the geometry is invalid.
|
||||
|
||||
"""
|
||||
return shapely.is_valid_reason(ob)
|
||||
|
||||
|
||||
def make_valid(ob):
|
||||
"""Make the input geometry valid according to the GEOS MakeValid algorithm.
|
||||
|
||||
If the input geometry is already valid, then it will be returned.
|
||||
|
||||
If the geometry must be split into multiple parts of the same type to be
|
||||
made valid, then a multi-part geometry will be returned.
|
||||
|
||||
If the geometry must be split into multiple parts of different types to be
|
||||
made valid, then a GeometryCollection will be returned.
|
||||
|
||||
Parameters
|
||||
----------
|
||||
ob : Geometry
|
||||
A shapely geometry object which should be made valid. If the object is
|
||||
already valid, it will be returned as-is.
|
||||
|
||||
Returns
|
||||
-------
|
||||
Geometry
|
||||
The input geometry, made valid according to the GEOS MakeValid algorithm.
|
||||
|
||||
"""
|
||||
if ob.is_valid:
|
||||
return ob
|
||||
return shapely.make_valid(ob)
|
||||
Reference in New Issue
Block a user