1
1
from collections .abc import Sequence
2
2
from typing import Any , Literal , SupportsIndex , overload
3
+ from typing_extensions import TypeAlias
3
4
4
5
from ._enum import ParamEnum
5
6
from ._typing import ArrayLike , ArrayLikeSeq , GeoArray , OptGeoArrayLike , OptGeoArrayLikeSeq , OptGeoT
@@ -12,32 +13,38 @@ __all__ = [
12
13
"BufferJoinStyle" ,
13
14
"boundary" ,
14
15
"buffer" ,
15
- "offset_curve " ,
16
+ "build_area " ,
16
17
"centroid" ,
17
18
"clip_by_rect" ,
18
19
"concave_hull" ,
20
+ "constrained_delaunay_triangles" ,
19
21
"convex_hull" ,
20
22
"delaunay_triangles" ,
21
- "segmentize" ,
22
23
"envelope" ,
23
24
"extract_unique_points" ,
24
- "build_area" ,
25
25
"make_valid" ,
26
- "normalize" ,
26
+ "maximum_inscribed_circle" ,
27
+ "minimum_bounding_circle" ,
28
+ "minimum_clearance_line" ,
29
+ "minimum_rotated_rectangle" ,
27
30
"node" ,
31
+ "normalize" ,
32
+ "offset_curve" ,
33
+ "orient_polygons" ,
34
+ "oriented_envelope" ,
28
35
"point_on_surface" ,
29
36
"polygonize" ,
30
37
"polygonize_full" ,
31
38
"remove_repeated_points" ,
32
39
"reverse" ,
40
+ "segmentize" ,
33
41
"simplify" ,
34
42
"snap" ,
35
43
"voronoi_polygons" ,
36
- "oriented_envelope" ,
37
- "minimum_rotated_rectangle" ,
38
- "minimum_bounding_circle" ,
39
44
]
40
45
46
+ _Method : TypeAlias = Literal ["linework" , "structure" ]
47
+
41
48
class BufferCapStyle (ParamEnum ):
42
49
round = 1
43
50
flat = 2
@@ -229,6 +236,14 @@ def delaunay_triangles(
229
236
geometry : OptGeoArrayLikeSeq , tolerance : ArrayLike [float ] = 0.0 , only_edges : ArrayLike [bool ] = False , ** kwargs
230
237
) -> GeoArray : ...
231
238
@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
232
247
def envelope (geometry : Point , ** kwargs ) -> Point : ...
233
248
@overload
234
249
def envelope (geometry : Geometry , ** kwargs ) -> BaseGeometry : ...
@@ -255,13 +270,37 @@ def build_area(geometry: Geometry | None, **kwargs) -> BaseGeometry | None: ...
255
270
@overload
256
271
def build_area (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> GeoArray : ...
257
272
@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 : ...
259
294
@overload
260
- def make_valid (geometry : None , ** kwargs ) -> None : ...
295
+ def minimum_clearance_line (geometry : LineString | Polygon | BaseMultipartGeometry , ** kwargs ) -> Polygon : ...
261
296
@overload
262
- def make_valid (geometry : Geometry | None , ** kwargs ) -> BaseGeometry | None : ...
297
+ def minimum_clearance_line (geometry : Geometry , ** kwargs ) -> Polygon | Point : ...
263
298
@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 : ...
265
304
@overload
266
305
def normalize (geometry : OptGeoT , ** kwargs ) -> OptGeoT : ...
267
306
@overload
@@ -335,34 +374,61 @@ def snap(geometry: OptGeoArrayLike, reference: OptGeoArrayLikeSeq, tolerance: Ar
335
374
def snap (geometry : OptGeoArrayLike , reference : OptGeoArrayLike , tolerance : ArrayLikeSeq [float ], ** kwargs ) -> GeoArray : ...
336
375
@overload
337
376
def 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 ,
339
383
) -> GeometryCollection [Polygon ]: ...
340
384
@overload
341
385
def 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
343
387
) -> LineString | MultiLineString : ...
344
388
@overload
345
389
def 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 ,
347
397
) -> LineString | MultiLineString : ...
348
398
@overload
349
399
def 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 ,
351
406
) -> GeometryCollection [Polygon ] | LineString | MultiLineString : ...
352
407
@overload
353
408
def 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 ,
355
415
) -> None : ...
356
416
@overload
357
417
def 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 ,
359
424
) -> GeometryCollection [Polygon ] | LineString | MultiLineString | None : ...
360
425
@overload
361
426
def voronoi_polygons (
362
427
geometry : OptGeoArrayLikeSeq ,
363
428
tolerance : ArrayLike [float ] = 0.0 ,
364
429
extend_to : OptGeoArrayLike = None ,
365
430
only_edges : ArrayLike [bool ] = False ,
431
+ ordered : bool = False ,
366
432
** kwargs ,
367
433
) -> GeoArray : ...
368
434
@overload
@@ -371,6 +437,7 @@ def voronoi_polygons(
371
437
tolerance : ArrayLikeSeq [float ],
372
438
extend_to : OptGeoArrayLike = None ,
373
439
only_edges : ArrayLike [bool ] = False ,
440
+ ordered : bool = False ,
374
441
** kwargs ,
375
442
) -> GeoArray : ...
376
443
@overload
@@ -379,6 +446,7 @@ def voronoi_polygons(
379
446
tolerance : ArrayLike [float ],
380
447
extend_to : OptGeoArrayLikeSeq ,
381
448
only_edges : ArrayLike [bool ] = False ,
449
+ ordered : bool = False ,
382
450
** kwargs ,
383
451
) -> GeoArray : ...
384
452
@overload
@@ -388,11 +456,17 @@ def voronoi_polygons(
388
456
* ,
389
457
extend_to : OptGeoArrayLikeSeq ,
390
458
only_edges : ArrayLike [bool ] = False ,
459
+ ordered : bool = False ,
391
460
** kwargs ,
392
461
) -> GeoArray : ...
393
462
@overload
394
463
def 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 ,
396
470
) -> GeoArray : ...
397
471
@overload
398
472
def voronoi_polygons (
@@ -401,6 +475,7 @@ def voronoi_polygons(
401
475
extend_to : OptGeoArrayLike = None ,
402
476
* ,
403
477
only_edges : ArrayLikeSeq [bool ],
478
+ ordered : bool = False ,
404
479
** kwargs ,
405
480
) -> GeoArray : ...
406
481
@overload
@@ -428,3 +503,27 @@ def minimum_bounding_circle(geometry: None, **kwargs) -> None: ...
428
503
def minimum_bounding_circle (geometry : Geometry | None , ** kwargs ) -> Polygon | Point | None : ...
429
504
@overload
430
505
def 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