mirror of
https://github.com/miaowware/qrm2.git
synced 2024-11-23 00:08:38 -05:00
fix regression in grid (continuations)
This commit is contained in:
parent
ea8c3a9045
commit
74558c7f27
15
exts/grid.py
15
exts/grid.py
@ -83,18 +83,21 @@ If two grid squares are given, the distance and azimuth between them is calculat
|
|||||||
# Haversine formula
|
# Haversine formula
|
||||||
d_lat = math.radians(loc2[0] - loc[0])
|
d_lat = math.radians(loc2[0] - loc[0])
|
||||||
d_lon = math.radians(loc2[1] - loc[1])
|
d_lon = math.radians(loc2[1] - loc[1])
|
||||||
a = math.sin(d_lat/2) ** 2
|
a = (math.sin(d_lat/2) ** 2
|
||||||
a += math.cos(math.radians(loc[0])) * math.cos(math.radians(loc2[0]))
|
+ math.cos(math.radians(loc[0]))
|
||||||
a *= math.sin(d_lon/2) ** 2
|
* math.cos(math.radians(loc2[0]))
|
||||||
|
* math.sin(d_lon/2) ** 2)
|
||||||
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
|
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
|
||||||
d = radius * c
|
d = radius * c
|
||||||
d_mi = 0.6213712 * d
|
d_mi = 0.6213712 * d
|
||||||
|
|
||||||
# Bearing
|
# Bearing
|
||||||
y_dist = math.sin(math.radians(loc2[1]-loc[1])) * math.cos(math.radians(loc2[0]))
|
y_dist = math.sin(math.radians(loc2[1]-loc[1])) * math.cos(math.radians(loc2[0]))
|
||||||
x_dist = math.cos(math.radians(loc[0])) * math.sin(math.radians(loc2[0]))
|
x_dist = (math.cos(math.radians(loc[0]))
|
||||||
x_dist -= math.sin(math.radians(loc[0])) * math.cos(math.radians(loc2[0]))
|
* math.sin(math.radians(loc2[0]))
|
||||||
x_dist *= math.cos(math.radians(loc2[1] - loc[1]))
|
- math.sin(math.radians(loc[0]))
|
||||||
|
* math.cos(math.radians(loc2[0]))
|
||||||
|
* math.cos(math.radians(loc2[1] - loc[1])))
|
||||||
bearing = (math.degrees(math.atan2(y_dist, x_dist)) + 360) % 360
|
bearing = (math.degrees(math.atan2(y_dist, x_dist)) + 360) % 360
|
||||||
|
|
||||||
embed = cmn.embed_factory(ctx)
|
embed = cmn.embed_factory(ctx)
|
||||||
|
Loading…
Reference in New Issue
Block a user