11from collections .abc import Sequence
22from typing import Any , Literal , SupportsIndex , overload
3+ from typing_extensions import TypeAlias
34
45from ._enum import ParamEnum
56from ._typing import ArrayLike , ArrayLikeSeq , GeoArray , OptGeoArrayLike , OptGeoArrayLikeSeq , OptGeoT
@@ -12,32 +13,38 @@ __all__ = [
1213 "BufferJoinStyle" ,
1314 "boundary" ,
1415 "buffer" ,
15- "offset_curve " ,
16+ "build_area " ,
1617 "centroid" ,
1718 "clip_by_rect" ,
1819 "concave_hull" ,
20+ "constrained_delaunay_triangles" ,
1921 "convex_hull" ,
2022 "delaunay_triangles" ,
21- "segmentize" ,
2223 "envelope" ,
2324 "extract_unique_points" ,
24- "build_area" ,
2525 "make_valid" ,
26- "normalize" ,
26+ "maximum_inscribed_circle" ,
27+ "minimum_bounding_circle" ,
28+ "minimum_clearance_line" ,
29+ "minimum_rotated_rectangle" ,
2730 "node" ,
31+ "normalize" ,
32+ "offset_curve" ,
33+ "orient_polygons" ,
34+ "oriented_envelope" ,
2835 "point_on_surface" ,
2936 "polygonize" ,
3037 "polygonize_full" ,
3138 "remove_repeated_points" ,
3239 "reverse" ,
40+ "segmentize" ,
3341 "simplify" ,
3442 "snap" ,
3543 "voronoi_polygons" ,
36- "oriented_envelope" ,
37- "minimum_rotated_rectangle" ,
38- "minimum_bounding_circle" ,
3944]
4045
46+ _Method : TypeAlias = Literal ["linework" , "structure" ]
47+
4148class BufferCapStyle (ParamEnum ):
4249 round = 1
4350 flat = 2
@@ -229,6 +236,14 @@ def delaunay_triangles(
229236 geometry : OptGeoArrayLikeSeq , tolerance : ArrayLike [float ] = 0.0 , only_edges : ArrayLike [bool ] = False , ** kwargs
230237) -> GeoArray : ...
231238@overload
239+ def constrained_delaunay_triangles (geometry : Geometry , ** kwargs ) -> GeometryCollection : ...
240+ @overload
241+ def constrained_delaunay_triangles (geometry : None , ** kwargs ) -> None : ...
242+ @overload
243+ def constrained_delaunay_triangles (geometry : Geometry | None , ** kwargs ) -> GeometryCollection | None : ...
244+ @overload
245+ def constrained_delaunay_triangles (geometry : OptGeoArrayLikeSeq | OptGeoArrayLike , ** kwargs ) -> GeoArray : ...
246+ @overload
232247def envelope (geometry : Point , ** kwargs ) -> Point : ...
233248@overload
234249def envelope (geometry : Geometry , ** kwargs ) -> BaseGeometry : ...
@@ -255,13 +270,37 @@ def build_area(geometry: Geometry | None, **kwargs) -> BaseGeometry | None: ...
255270@overload
256271def build_area (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> GeoArray : ...
257272@overload
258- def make_valid (geometry : Geometry , ** kwargs ) -> BaseGeometry : ...
273+ def make_valid (geometry : Geometry , * , method : _Method = "linework" , keep_collapsed : bool = True , ** kwargs ) -> BaseGeometry : ...
274+ @overload
275+ def make_valid (geometry : None , * , method : _Method = "linework" , keep_collapsed : bool = True , ** kwargs ) -> None : ...
276+ @overload
277+ def make_valid (
278+ geometry : Geometry | None , * , method : Literal ["structure" ], keep_collapsed : bool = True , ** kwargs
279+ ) -> BaseGeometry | None : ...
280+ @overload
281+ def make_valid (
282+ geometry : Geometry | None , * , method : Literal ["linework" ], keep_collapsed : Literal [True ], ** kwargs
283+ ) -> BaseGeometry | None : ...
284+ @overload
285+ def make_valid (
286+ geometry : OptGeoArrayLikeSeq , * , method : Literal ["structure" ], keep_collapsed : bool = True , ** kwargs
287+ ) -> GeoArray : ...
288+ @overload
289+ def make_valid (
290+ geometry : OptGeoArrayLikeSeq , * , method : Literal ["linework" ], keep_collapsed : Literal [True ], ** kwargs
291+ ) -> GeoArray : ...
292+ @overload
293+ def minimum_clearance_line (geometry : Point , ** kwargs ) -> Point : ...
259294@overload
260- def make_valid (geometry : None , ** kwargs ) -> None : ...
295+ def minimum_clearance_line (geometry : LineString | Polygon | BaseMultipartGeometry , ** kwargs ) -> Polygon : ...
261296@overload
262- def make_valid (geometry : Geometry | None , ** kwargs ) -> BaseGeometry | None : ...
297+ def minimum_clearance_line (geometry : Geometry , ** kwargs ) -> Polygon | Point : ...
263298@overload
264- def make_valid (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> GeoArray : ...
299+ def minimum_clearance_line (geometry : None , ** kwargs ) -> None : ...
300+ @overload
301+ def minimum_clearance_line (geometry : Geometry | None , ** kwargs ) -> Polygon | Point | None : ...
302+ @overload
303+ def minimum_clearance_line (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> GeoArray : ...
265304@overload
266305def normalize (geometry : OptGeoT , ** kwargs ) -> OptGeoT : ...
267306@overload
@@ -335,34 +374,61 @@ def snap(geometry: OptGeoArrayLike, reference: OptGeoArrayLikeSeq, tolerance: Ar
335374def snap (geometry : OptGeoArrayLike , reference : OptGeoArrayLike , tolerance : ArrayLikeSeq [float ], ** kwargs ) -> GeoArray : ...
336375@overload
337376def voronoi_polygons (
338- geometry : Geometry , tolerance : float = 0.0 , extend_to : Geometry | None = None , only_edges : Literal [False ] = False , ** kwargs
377+ geometry : Geometry ,
378+ tolerance : float = 0.0 ,
379+ extend_to : Geometry | None = None ,
380+ only_edges : Literal [False ] = False ,
381+ ordered : bool = False ,
382+ ** kwargs ,
339383) -> GeometryCollection [Polygon ]: ...
340384@overload
341385def voronoi_polygons (
342- geometry : Geometry , tolerance : float , extend_to : Geometry | None , only_edges : Literal [True ], ** kwargs
386+ geometry : Geometry , tolerance : float , extend_to : Geometry | None , only_edges : Literal [True ], ordered : bool = False , ** kwargs
343387) -> LineString | MultiLineString : ...
344388@overload
345389def voronoi_polygons (
346- geometry : Geometry , tolerance : float = 0.0 , extend_to : Geometry | None = None , * , only_edges : Literal [True ], ** kwargs
390+ geometry : Geometry ,
391+ tolerance : float = 0.0 ,
392+ extend_to : Geometry | None = None ,
393+ * ,
394+ only_edges : Literal [True ],
395+ ordered : bool = False ,
396+ ** kwargs ,
347397) -> LineString | MultiLineString : ...
348398@overload
349399def voronoi_polygons (
350- geometry : Geometry , tolerance : float = 0.0 , extend_to : Geometry | None = None , only_edges : bool = False , ** kwargs
400+ geometry : Geometry ,
401+ tolerance : float = 0.0 ,
402+ extend_to : Geometry | None = None ,
403+ only_edges : bool = False ,
404+ ordered : bool = False ,
405+ ** kwargs ,
351406) -> GeometryCollection [Polygon ] | LineString | MultiLineString : ...
352407@overload
353408def voronoi_polygons (
354- geometry : None , tolerance : float = 0.0 , extend_to : Geometry | None = None , only_edges : bool = False , ** kwargs
409+ geometry : None ,
410+ tolerance : float = 0.0 ,
411+ extend_to : Geometry | None = None ,
412+ only_edges : bool = False ,
413+ ordered : bool = False ,
414+ ** kwargs ,
355415) -> None : ...
356416@overload
357417def voronoi_polygons (
358- geometry : Geometry | None , tolerance : float = 0.0 , extend_to : Geometry | None = None , only_edges : bool = False , ** kwargs
418+ geometry : Geometry | None ,
419+ tolerance : float = 0.0 ,
420+ extend_to : Geometry | None = None ,
421+ only_edges : bool = False ,
422+ ordered : bool = False ,
423+ ** kwargs ,
359424) -> GeometryCollection [Polygon ] | LineString | MultiLineString | None : ...
360425@overload
361426def voronoi_polygons (
362427 geometry : OptGeoArrayLikeSeq ,
363428 tolerance : ArrayLike [float ] = 0.0 ,
364429 extend_to : OptGeoArrayLike = None ,
365430 only_edges : ArrayLike [bool ] = False ,
431+ ordered : bool = False ,
366432 ** kwargs ,
367433) -> GeoArray : ...
368434@overload
@@ -371,6 +437,7 @@ def voronoi_polygons(
371437 tolerance : ArrayLikeSeq [float ],
372438 extend_to : OptGeoArrayLike = None ,
373439 only_edges : ArrayLike [bool ] = False ,
440+ ordered : bool = False ,
374441 ** kwargs ,
375442) -> GeoArray : ...
376443@overload
@@ -379,6 +446,7 @@ def voronoi_polygons(
379446 tolerance : ArrayLike [float ],
380447 extend_to : OptGeoArrayLikeSeq ,
381448 only_edges : ArrayLike [bool ] = False ,
449+ ordered : bool = False ,
382450 ** kwargs ,
383451) -> GeoArray : ...
384452@overload
@@ -388,11 +456,17 @@ def voronoi_polygons(
388456 * ,
389457 extend_to : OptGeoArrayLikeSeq ,
390458 only_edges : ArrayLike [bool ] = False ,
459+ ordered : bool = False ,
391460 ** kwargs ,
392461) -> GeoArray : ...
393462@overload
394463def voronoi_polygons (
395- geometry : OptGeoArrayLike , tolerance : ArrayLike [float ], extend_to : OptGeoArrayLike , only_edges : ArrayLikeSeq [bool ], ** kwargs
464+ geometry : OptGeoArrayLike ,
465+ tolerance : ArrayLike [float ],
466+ extend_to : OptGeoArrayLike ,
467+ only_edges : ArrayLikeSeq [bool ],
468+ ordered : bool = False ,
469+ ** kwargs ,
396470) -> GeoArray : ...
397471@overload
398472def voronoi_polygons (
@@ -401,6 +475,7 @@ def voronoi_polygons(
401475 extend_to : OptGeoArrayLike = None ,
402476 * ,
403477 only_edges : ArrayLikeSeq [bool ],
478+ ordered : bool = False ,
404479 ** kwargs ,
405480) -> GeoArray : ...
406481@overload
@@ -428,3 +503,27 @@ def minimum_bounding_circle(geometry: None, **kwargs) -> None: ...
428503def minimum_bounding_circle (geometry : Geometry | None , ** kwargs ) -> Polygon | Point | None : ...
429504@overload
430505def minimum_bounding_circle (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> GeoArray : ...
506+ @overload
507+ def maximum_inscribed_circle (geometry : Point , tolerance : float | None = None , ** kwargs ) -> Point : ...
508+ @overload
509+ def maximum_inscribed_circle (
510+ geometry : LineString | Polygon | BaseMultipartGeometry , tolerance : float | None = None , ** kwargs
511+ ): ...
512+ @overload
513+ def maximum_inscribed_circle (geometry : Geometry , tolerance : float | None = None , ** kwargs ) -> Polygon | Point : ...
514+ @overload
515+ def maximum_inscribed_circle (geometry : None , tolerance : float | None = None , ** kwargs ) -> None : ...
516+ @overload
517+ def maximum_inscribed_circle (geometry : Geometry | None , tolerance : float | None = None , ** kwargs ) -> Polygon | Point | None : ...
518+ @overload
519+ def maximum_inscribed_circle (geometry : OptGeoArrayLikeSeq , tolerance : ArrayLike [float ] | None = None , ** kwargs ) -> GeoArray : ...
520+ @overload
521+ def orient_polygons (geometry : Point , * , exterior_cw : bool = False , ** kwargs ) -> Point : ...
522+ @overload
523+ def orient_polygons (geometry : Geometry , * , exterior_cw : bool = False , ** kwargs ) -> BaseGeometry : ...
524+ @overload
525+ def orient_polygons (geometry : None , * , exterior_cw : bool = False , ** kwargs ) -> None : ...
526+ @overload
527+ def orient_polygons (geometry : Geometry | None , * , exterior_cw : bool = False , ** kwargs ) -> BaseGeometry | None : ...
528+ @overload
529+ def orient_polygons (geometry : OptGeoArrayLikeSeq , * , exterior_cw : bool = False , ** kwargs ) -> GeoArray : ...
0 commit comments