o
    ×Ëh@  ã                   @   s*   d Z ddlmZ ddlmZ ddd„ZdS )	zOProvides functions for finding the pole of inaccessibility for a given polygon.é    )Ú	get_point)Úmaximum_inscribed_circleç      ð?c                 C   s   t | |ƒ}t|dƒS )aý  Find pole of inaccessibility for a given polygon.

    Based on Vladimir Agafonkin's https://github.com/mapbox/polylabel

    Parameters
    ----------
    polygon : shapely.geometry.Polygon
        Polygon for which to find the pole of inaccessibility.
    tolerance : int or float, optional
        `tolerance` represents the highest resolution in units of the
        input geometry that will be considered for a solution. (default
        value is 1.0).

    Returns
    -------
    shapely.geometry.Point
        A point representing the pole of inaccessibility for the given input
        polygon.

    Raises
    ------
    shapely.errors.TopologicalError
        If the input polygon is not a valid geometry.

    Examples
    --------
    >>> from shapely.ops import polylabel
    >>> from shapely import LineString
    >>> polygon = LineString([(0, 0), (50, 200), (100, 100), (20, 50),
    ... (-100, -20), (-150, -200)]).buffer(100)
    >>> polylabel(polygon, tolerance=0.001)
    <POINT (59.733 111.33)>

    r   )r   r   )ÚpolygonÚ	toleranceÚline© r   úW/var/www/html/scripts/venv/lib/python3.10/site-packages/shapely/algorithms/polylabel.pyÚ	polylabel   s   
#
r
   N)r   )Ú__doc__Úshapely._geometryr   Úshapely.constructiver   r
   r   r   r   r	   Ú<module>   s    