1
+ import sys
1
2
from typing import Any , Literal , overload
2
- from typing_extensions import TypeGuard
3
+ from typing_extensions import TypeAlias , TypeGuard
3
4
4
5
import numpy as np
5
6
from numpy .typing import NDArray
@@ -8,6 +9,13 @@ from ._typing import ArrayLike, ArrayLikeSeq, OptGeoArrayLike, OptGeoArrayLikeSe
8
9
from .geometry .base import BaseGeometry
9
10
from .lib import Geometry
10
11
12
+ if sys .version_info >= (3 , 10 ):
13
+ _NPTrue : TypeAlias = np .bool_ [Literal [True ]]
14
+ _NPFalse : TypeAlias = np .bool_ [Literal [False ]]
15
+ else :
16
+ _NPTrue : TypeAlias = np .bool_
17
+ _NPFalse : TypeAlias = np .bool_
18
+
11
19
__all__ = [
12
20
"contains" ,
13
21
"contains_properly" ,
@@ -43,57 +51,61 @@ __all__ = [
43
51
]
44
52
45
53
@overload
46
- def has_z (geometry : Geometry | None , ** kwargs ) -> bool : ...
54
+ def has_z (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
47
55
@overload
48
56
def has_z (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
49
57
@overload
50
- def has_m (geometry : Geometry | None , ** kwargs ) -> bool : ...
58
+ def has_m (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
51
59
@overload
52
60
def has_m (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
53
61
@overload
54
- def is_ccw (geometry : Geometry | None , ** kwargs ) -> bool : ...
62
+ def is_ccw (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
55
63
@overload
56
64
def is_ccw (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
57
65
@overload
58
- def is_closed (geometry : Geometry | None , ** kwargs ) -> bool : ...
66
+ def is_closed (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
59
67
@overload
60
68
def is_closed (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
61
69
@overload
62
- def is_empty (geometry : Geometry | None , ** kwargs ) -> bool : ...
70
+ def is_empty (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
63
71
@overload
64
72
def is_empty (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
65
73
@overload
66
- def is_geometry (geometry : Geometry , ** kwargs ) -> Literal [True ]: ...
74
+ def is_geometry (geometry : Geometry , ** kwargs ) -> _NPTrue : ...
75
+ @overload
76
+ def is_geometry (geometry : None , ** kwargs ) -> _NPFalse : ...
67
77
@overload
68
78
def is_geometry (geometry : ArrayLikeSeq [Any ], ** kwargs ) -> NDArray [np .bool_ ]: ... # type: ignore[overload-overlap]
69
79
@overload
70
80
def is_geometry (geometry : object , ** kwargs ) -> TypeGuard [BaseGeometry ]: ...
71
81
@overload
72
- def is_missing (geometry : Geometry , ** kwargs ) -> Literal [True ]: ...
82
+ def is_missing (geometry : Geometry , ** kwargs ) -> _NPFalse : ...
83
+ @overload
84
+ def is_missing (geometry : None , ** kwargs ) -> _NPTrue : ...
73
85
@overload
74
86
def is_missing (geometry : ArrayLikeSeq [Any ], ** kwargs ) -> NDArray [np .bool_ ]: ... # type: ignore[overload-overlap]
75
87
@overload
76
- def is_missing (geometry : object , ** kwargs ) -> TypeGuard [BaseGeometry ]: ...
88
+ def is_missing (geometry : object , ** kwargs ) -> TypeGuard [None ]: ...
77
89
@overload
78
- def is_prepared (geometry : Geometry | None , ** kwargs ) -> bool : ...
90
+ def is_prepared (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
79
91
@overload
80
92
def is_prepared (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
81
93
@overload
82
- def is_valid_input (geometry : Geometry | None , ** kwargs ) -> Literal [ True ] : ...
94
+ def is_valid_input (geometry : Geometry | None , ** kwargs ) -> _NPTrue : ...
83
95
@overload
84
96
def is_valid_input (geometry : ArrayLikeSeq [Any ], ** kwargs ) -> NDArray [np .bool_ ]: ... # type: ignore[overload-overlap]
85
97
@overload
86
98
def is_valid_input (geometry : object , ** kwargs ) -> TypeGuard [BaseGeometry | None ]: ...
87
99
@overload
88
- def is_ring (geometry : Geometry | None , ** kwargs ) -> bool : ...
100
+ def is_ring (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
89
101
@overload
90
102
def is_ring (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
91
103
@overload
92
- def is_simple (geometry : Geometry | None , ** kwargs ) -> bool : ...
104
+ def is_simple (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
93
105
@overload
94
106
def is_simple (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
95
107
@overload
96
- def is_valid (geometry : Geometry | None , ** kwargs ) -> bool : ...
108
+ def is_valid (geometry : Geometry | None , ** kwargs ) -> np . bool_ : ...
97
109
@overload
98
110
def is_valid (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
99
111
@overload
@@ -103,75 +115,75 @@ def is_valid_reason(geometry: Geometry, **kwargs) -> str: ...
103
115
@overload
104
116
def is_valid_reason (geometry : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .object_ ]: ...
105
117
@overload
106
- def crosses (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
118
+ def crosses (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
107
119
@overload
108
120
def crosses (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
109
121
@overload
110
122
def crosses (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
111
123
@overload
112
- def contains (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
124
+ def contains (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
113
125
@overload
114
126
def contains (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
115
127
@overload
116
128
def contains (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
117
129
@overload
118
- def contains_properly (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
130
+ def contains_properly (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
119
131
@overload
120
132
def contains_properly (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
121
133
@overload
122
134
def contains_properly (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
123
135
@overload
124
- def covered_by (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
136
+ def covered_by (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
125
137
@overload
126
138
def covered_by (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
127
139
@overload
128
140
def covered_by (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
129
141
@overload
130
- def covers (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
142
+ def covers (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
131
143
@overload
132
144
def covers (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
133
145
@overload
134
146
def covers (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
135
147
@overload
136
- def disjoint (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
148
+ def disjoint (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
137
149
@overload
138
150
def disjoint (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
139
151
@overload
140
152
def disjoint (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
141
153
@overload
142
- def equals (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
154
+ def equals (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
143
155
@overload
144
156
def equals (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
145
157
@overload
146
158
def equals (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
147
159
@overload
148
- def intersects (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
160
+ def intersects (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
149
161
@overload
150
162
def intersects (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
151
163
@overload
152
164
def intersects (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
153
165
@overload
154
- def overlaps (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
166
+ def overlaps (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
155
167
@overload
156
168
def overlaps (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
157
169
@overload
158
170
def overlaps (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
159
171
@overload
160
- def touches (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
172
+ def touches (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
161
173
@overload
162
174
def touches (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
163
175
@overload
164
176
def touches (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
165
177
@overload
166
- def within (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
178
+ def within (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
167
179
@overload
168
180
def within (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
169
181
@overload
170
182
def within (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .bool_ ]: ...
171
183
@overload
172
184
def equals_exact (
173
185
a : Geometry | None , b : Geometry | None , tolerance : float = 0.0 , * , normalize : bool = False , ** kwargs
174
- ) -> bool : ...
186
+ ) -> np . bool_ : ...
175
187
@overload
176
188
def equals_exact (
177
189
a : OptGeoArrayLike , b : OptGeoArrayLike , tolerance : ArrayLikeSeq [float ], * , normalize : bool = False , ** kwargs
@@ -185,7 +197,7 @@ def equals_exact(
185
197
a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , tolerance : ArrayLike [float ] = 0.0 , * , normalize : bool = False , ** kwargs
186
198
) -> NDArray [np .bool_ ]: ...
187
199
@overload
188
- def equals_identical (a : Geometry | None , b : Geometry | None , ** kwargs ) -> bool : ...
200
+ def equals_identical (a : Geometry | None , b : Geometry | None , ** kwargs ) -> np . bool_ : ...
189
201
@overload
190
202
def equals_identical (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , ** kwargs ) -> NDArray [np .bool_ ]: ...
191
203
@overload
@@ -201,19 +213,19 @@ def relate(a: OptGeoArrayLikeSeq, b: OptGeoArrayLike, **kwargs) -> NDArray[np.ob
201
213
@overload
202
214
def relate (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , ** kwargs ) -> NDArray [np .object_ ]: ...
203
215
@overload
204
- def relate_pattern (a : Geometry | None , b : Geometry | None , pattern : str , ** kwargs ) -> bool : ...
216
+ def relate_pattern (a : Geometry | None , b : Geometry | None , pattern : str , ** kwargs ) -> np . bool_ : ...
205
217
@overload
206
218
def relate_pattern (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , pattern : str , ** kwargs ) -> NDArray [np .bool_ ]: ...
207
219
@overload
208
220
def relate_pattern (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , pattern : str , ** kwargs ) -> NDArray [np .bool_ ]: ...
209
221
@overload
210
- def dwithin (a : Geometry | None , b : Geometry | None , distance : float , ** kwargs ) -> bool : ...
222
+ def dwithin (a : Geometry | None , b : Geometry | None , distance : float , ** kwargs ) -> np . bool_ : ...
211
223
@overload
212
224
def dwithin (a : OptGeoArrayLikeSeq , b : OptGeoArrayLike , distance : float , ** kwargs ) -> NDArray [np .bool_ ]: ...
213
225
@overload
214
226
def dwithin (a : OptGeoArrayLike , b : OptGeoArrayLikeSeq , distance : float , ** kwargs ) -> NDArray [np .bool_ ]: ...
215
227
@overload
216
- def contains_xy (geom : Geometry | None , x : float , y : float , ** kwargs ) -> bool : ...
228
+ def contains_xy (geom : Geometry | None , x : float , y : float , ** kwargs ) -> np . bool_ : ...
217
229
@overload
218
230
def contains_xy (geom : OptGeoArrayLike , x : ArrayLikeSeq [float ], y : None = None , ** kwargs ) -> NDArray [np .bool_ ]: ...
219
231
@overload
@@ -223,7 +235,7 @@ def contains_xy(geom: Geometry | None, x: ArrayLikeSeq[float], y: ArrayLike[floa
223
235
@overload
224
236
def contains_xy (geom : OptGeoArrayLikeSeq , x : ArrayLike [float ], y : ArrayLike [float ], ** kwargs ) -> NDArray [np .bool_ ]: ...
225
237
@overload
226
- def intersects_xy (geom : Geometry | None , x : float , y : float , ** kwargs ) -> bool : ...
238
+ def intersects_xy (geom : Geometry | None , x : float , y : float , ** kwargs ) -> np . bool_ : ...
227
239
@overload
228
240
def intersects_xy (geom : OptGeoArrayLike , x : ArrayLikeSeq [float ], y : None = None , ** kwargs ) -> NDArray [np .bool_ ]: ...
229
241
@overload
0 commit comments