Daha çox

Rulman hesablanması ilə məsafə işləmir


Pythonda bu funksiyanı daşıyıcı ilə bir nöqtədən məsafəni hesablayan var. Problem genişlik hissəsinin səhv cavab yaratmasıdır və harada səhv etdiyimi anlaya bilmirəm:

def add_distance (öz, lat, lon, rulman, məsafə): d = məsafə / 6371 x = sin (lat) * cos (d) + cos (lat) * sin (d) * cos (rulman) new_lat = asin (üzmək) (x)) new_lon = lon + atan2 (sin (rulman) * sin (məsafə / 6371) * cos (lat), cos (məsafə / 6371) -sin (lat) * sin (new_lat)) çap ' tYeni Lat: % s '% (new_lat) print'  tNew Lon:% s '% new_lon return "

Verilən parametrlər (lat, uzun, rulman, məsafə) üçün yeni enlem və boylam tapmaq üçün kod getməyə hazırıq. Bunun kömək edəcəyinə ümid edirəm.

# tələb olunan idxal math # standart yer radiusu EARTH_RADIUS = 6371.00 def add_distance (self, lat, lon, rulman, məsafə): # Latitude and Boylam # -i hesablama üçün radianlara çevirmək = math.radians (lat) longitute = math.radians ( lon) # növbəti enliyi hesablayın next_latitude = math.asin (math.sin (Enlem) * math.cos (məsafə / EARTH_RADIUS) + math.cos (enlem) * math.sin (məsafə / EARTH_RADIUS) * math.cos (math. radians (hesablanan))) # növbəti boylamı hesablayın next_ Boylam = uzunluqlu + (math.atan2 (math.sin (math.radians (hesablanan))) * math.sin (məsafə / EARTH_RADIUS) * math.cos (en), math.cos (məsafə / EARTH_RADIUS) - math.sin (enlem) * math.sin (next_latitude))) # nöqtələri ondalık dərəcələrə çevirmək new_lat = math.degrees (next_latitude) new_lon = math.degrees (next_longitude) # yeni enlem və boylam çapı ' tNew Lat: {0}'. format (new_lat) print ' tNew Lon: {0}'. format (new_lon)

Zövq alın!


Videoya baxın: RULMAN bearing güç aktarım sistemleri (Oktyabr 2021).