Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_azimuth(region, latitude, longitude):
- rad = 6372795
- city_center_coordinates = regions_coordinates[int(region)]
- llat1 = city_center_coordinates[0]
- llong1 = city_center_coordinates[1]
- llat2 = latitude
- llong2 = longitude
- lat1 = llat1*math.pi/180.
- lat2 = llat2*math.pi/180.
- long1 = llong1*math.pi/180.
- long2 = llong2*math.pi/180.
- cl1 = math.cos(lat1)
- cl2 = math.cos(lat2)
- sl1 = math.sin(lat1)
- sl2 = math.sin(lat2)
- delta = long2 - long1
- cdelta = math.cos(delta)
- sdelta = math.sin(delta)
- y = math.sqrt(math.pow(cl2*sdelta,2)+math.pow(cl1*sl2-sl1*cl2*cdelta,2))
- x = sl1*sl2+cl1*cl2*cdelta
- ad = math.atan2(y,x)
- x = (cl1*sl2) - (sl1*cl2*cdelta)
- y = sdelta*cl2
- z = math.degrees(math.atan(-y/x))
- if (x < 0):
- z = z+180.
- z2 = (z+180.) % 360. - 180.
- z2 = - math.radians(z2)
- anglerad2 = z2 - ((2*math.pi)*math.floor((z2/(2*math.pi))) )
- angledeg = (anglerad2*180.)/math.pi
- return round(angledeg, 2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement