সমস্যা
আমি কীভাবে 2 জিপিএস পয়েন্টের মধ্যে দূরত্ব এবং ভারবহন পেতে পারি তা জানতে চাই । আমি haversine সূত্র উপর গবেষণা করেছি। কেউ আমাকে বলেছিল যে একই ডেটা ব্যবহার করে আমি বেয়ারিংটিও খুঁজে পেতে পারি।
সম্পাদন করা
সবকিছু ঠিকঠাক চলছে তবে ভারবহন সঠিকভাবে এখনও কাজ করে না। ভারবহন আউটপুটগুলি নেতিবাচক তবে 0 - 360 ডিগ্রির মধ্যে হওয়া উচিত। সেট ডেটাটি অনুভূমিক ভারবহন করা উচিত 96.02166666666666
এবং তা হ'ল:
Start point: 53.32055555555556 , -1.7297222222222221
Bearing: 96.02166666666666
Distance: 2 km
Destination point: 53.31861111111111, -1.6997222222222223
Final bearing: 96.04555555555555
আমার নতুন কোডটি এখানে:
from math import *
Aaltitude = 2000
Oppsite = 20000
lat1 = 53.32055555555556
lat2 = 53.31861111111111
lon1 = -1.7297222222222221
lon2 = -1.6997222222222223
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * atan2(sqrt(a), sqrt(1-a))
Base = 6371 * c
Bearing =atan2(cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon2-lon1), sin(lon2-lon1)*cos(lat2))
Bearing = degrees(Bearing)
print ""
print ""
print "--------------------"
print "Horizontal Distance:"
print Base
print "--------------------"
print "Bearing:"
print Bearing
print "--------------------"
Base2 = Base * 1000
distance = Base * 2 + Oppsite * 2 / 2
Caltitude = Oppsite - Aaltitude
a = Oppsite/Base
b = atan(a)
c = degrees(b)
distance = distance / 1000
print "The degree of vertical angle is:"
print c
print "--------------------"
print "The distance between the Balloon GPS and the Antenna GPS is:"
print distance
print "--------------------"
atan2(sqrt(a), sqrt(1-a))
হিসাবে একইasin(sqrt(a))