Conditions | 1 |
Total Lines | 14 |
Code Lines | 6 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | import numpy as np |
||
15 | def wrap180deg(deg: np.ndarray) -> np.ndarray: |
||
16 | """ |
||
17 | Make sure that degrees (e.g. lon) is within +/-(0-180) range. |
||
18 | |||
19 | Ref: https://www.movable-type.co.uk/scripts/latlong-vincenty.html |
||
20 | """ |
||
21 | # experimental value to fix https://github.com/omdv/geovectors/issues/2 |
||
22 | eps = 1e-6 |
||
23 | |||
24 | mask = (deg <= -180) | (deg >= 180) |
||
25 | deg[mask] = (deg[mask] + 540) % 360 - 180 |
||
26 | |||
27 | deg = np.where(deg > 180 - eps, -180, deg) |
||
28 | return deg |
||
29 | |||
40 |