Advertisement
daniilak

Untitled

Jun 4th, 2023
870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.04 KB | None | 0 0
  1.  
  2. def get_azimuth(region, latitude, longitude):
  3.  
  4.     rad = 6372795
  5.     city_center_coordinates = regions_coordinates[int(region)]
  6.     llat1 = city_center_coordinates[0]
  7.     llong1 = city_center_coordinates[1]
  8.     llat2 = latitude
  9.     llong2 = longitude
  10.  
  11.     lat1 = llat1*math.pi/180.
  12.     lat2 = llat2*math.pi/180.
  13.     long1 = llong1*math.pi/180.
  14.     long2 = llong2*math.pi/180.
  15.  
  16.     cl1 = math.cos(lat1)
  17.     cl2 = math.cos(lat2)
  18.     sl1 = math.sin(lat1)
  19.     sl2 = math.sin(lat2)
  20.     delta = long2 - long1
  21.     cdelta = math.cos(delta)
  22.     sdelta = math.sin(delta)
  23.  
  24.     y = math.sqrt(math.pow(cl2*sdelta,2)+math.pow(cl1*sl2-sl1*cl2*cdelta,2))
  25.     x = sl1*sl2+cl1*cl2*cdelta
  26.     ad = math.atan2(y,x)
  27.  
  28.     x = (cl1*sl2) - (sl1*cl2*cdelta)
  29.     y = sdelta*cl2
  30.     z = math.degrees(math.atan(-y/x))
  31.  
  32.     if (x < 0):
  33.         z = z+180.
  34.  
  35.     z2 = (z+180.) % 360. - 180.
  36.     z2 = - math.radians(z2)
  37.     anglerad2 = z2 - ((2*math.pi)*math.floor((z2/(2*math.pi))) )
  38.     angledeg = (anglerad2*180.)/math.pi
  39.    
  40.     return round(angledeg, 2)
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement