-
Notifications
You must be signed in to change notification settings - Fork 2
/
h3.stub.php
304 lines (212 loc) · 6.15 KB
/
h3.stub.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
<?php
/** @generate-class-entries */
namespace H3;
function degs_to_rads(float $degrees): float {}
function rads_to_degs(float $radians): float {}
/**
* @throws H3Exception if invalid resolution given
*/
function hex_area(int $res, int $unit): float {}
/**
* @throws H3Exception if invalid resolution given
*/
function edge_length(int $res, int $unit): float {}
/**
* @throws H3Exception if invalid resolution given
*/
function num_hexagons(int $res): int {}
/**
* @return H3Index[]
*/
function get_res0_indexes(): array {}
/**
* @return H3Index[]
* @throws H3Exception
*/
function get_pentagon_indexes(int $res): array {}
function point_dist(GeoCoord $a, GeoCoord $b, int $unit): float {}
/**
* @param H3Index[] $indexes
* @return H3Index[]
* @throws H3Exception
*/
function compact(array $indexes): array {}
/**
* @param H3Index[] $indexes
* @return H3Index[]
* @throws H3Exception if invalid resolution given
*/
function uncompact(array $indexes, int $res): array {}
/**
* @return H3Index[]
* @throws H3Exception
*/
function line(H3Index $start, H3Index $end): array {}
function distance(H3Index $a, H3Index $b): int {}
function indexes_are_neighbors(H3Index $origin, H3Index $destination): bool {}
/**
* @return H3Index[]
* @throws H3Exception
*/
function polyfill(GeoPolygon $polygon, int $res): array {}
/**
* @param H3Index[] $indexes
* @throws H3Exception
*/
function h3_set_to_multi_polygon(array $indexes): GeoMultiPolygon {}
function experimental_h3_to_local_ij(H3Index $origin, H3Index $h): CoordIJ {}
function experimental_local_ij_to_h3(H3Index $origin, CoordIJ $ij): H3Index {}
final class H3Exception extends \RuntimeException {}
final class H3Index {
private int $index;
public function __construct(int $index) {}
public static function fromLong(int $index): H3Index {}
public static function fromString(string $value): H3Index {}
/**
* @throws H3Exception
*/
public static function fromGeo(GeoCoord $geo, int $res): H3Index {}
public function isValid(): bool {}
public function isResClassIII(): bool {}
public function isPentagon(): bool {}
public function getResolution(): int {}
public function getBaseCell(): int {}
/**
* @return int[]
*/
public function getFaces(): array {}
/**
* @return H3Index[]
*/
public function kRing(int $k): array {}
/**
* @return H3Index[][]
*/
public function kRingDistances(int $k): array {}
/**
* @return H3Index[]
* @throws H3Exception if pentagonal distortion is encountered
*/
public function hexRange(int $k): array {}
/**
* @return H3Index[]
* @throws H3Exception if pentagonal distortion is encountered
*/
public function hexRing(int $k): array {}
/**
* @return H3Index[][]
* @throws H3Exception if pentagonal distortion is encountered
*/
public function hexRangeDistances(int $k): array {}
public function getCellArea(int $unit): float {}
public function isNeighborTo(H3Index $destination): bool {}
/**
* @return H3Index[]
*/
public function getLineTo(H3Index $destination): array {}
public function getDistanceTo(H3Index $destination): int {}
/**
* @return H3UniEdge[]
*/
public function getUnidirectionalEdges(): array {}
public function getUnidirectionalEdge(H3Index $destination): H3UniEdge {}
/**
* @throws H3Exception if invalid resolution given
*/
public function toParent(int $res): H3Index {}
/**
* @return H3Index[]
* @throws H3Exception if invalid resolution given
*/
public function toChildren(int $res): array {}
/**
* @throws H3Exception if invalid resolution given
*/
public function toCenterChild(int $res): H3Index {}
public function toLong(): int {}
public function toString(): string {}
public function toGeo(): GeoCoord {}
public function toGeoBoundary(): GeoBoundary {}
public function __toString(): string {}
}
final class H3UniEdge {
private int $index;
public function __construct(int $index) {}
public static function fromLong(int $index): H3UniEdge {}
public static function fromString(string $value): H3UniEdge {}
public function isValid(): bool {}
public function getOrigin(): H3Index {}
public function getDestination(): H3Index {}
/**
* @return H3Index[]
*/
public function getIndexes(): array {}
public function getBoundary(): GeoBoundary {}
public function getLength(int $unit): float {}
public function toLong(): int {}
public function toString(): string {}
public function __toString(): string {}
}
final class GeoCoord {
private float $lat;
private float $lon;
public function __construct(float $lat, float $lon) {}
public function getLat(): float {}
public function getLon(): float {}
}
final class GeoBoundary {
/**
* @var GeoCoord[]
*/
private array $vertices;
/**
* @param GeoCoord[] $vertices
*/
public function __construct(array $vertices) {}
/**
* @return GeoCoord[]
*/
public function getVertices(): array {}
}
final class GeoPolygon {
private GeoBoundary $geofence;
/**
* @var GeoBoundary[]
*/
private array $holes;
/**
* @param GeoBoundary[] $holes
*/
public function __construct(GeoBoundary $geofence, array $holes = []) {}
public function getGeofence(): GeoBoundary {}
/**
* @return GeoBoundary[]
*/
public function getHoles(): array {}
}
final class GeoMultiPolygon {
/**
* @var GeoPolygon[]
*/
private array $polygons;
/**
* @param GeoPolygon[] $polygons
*/
public function __construct(array $polygons) {}
/**
* @return GeoPolygon[]
*/
public function getPolygons(): array {}
/**
* @return float[][][][]
* @throws H3Exception if this object is not valid
*/
public function toGeoJson(): array {}
}
final class CoordIJ {
private int $i;
private int $j;
public function __construct(int $i, int $j) {}
public function getI(): int {}
public function getJ(): int {}
}