У меня есть проблема, которая на какое-то время притягивает меня назад в каком-то проекте.
Я в основном пытаюсь поймать многоугольник, используя точки x, y, нарисованные ранее написанным сценарием.lat1, lon1 - центральные gps-шнуры многоугольника, и я ищу его окружающий многоугольник.
вот часть моего кода на python:
def getcords(lat1,lon1,dr,bearing):
lat2=asin(sin(lat1)*cos(dr)+cos(lat1)*sin(dr)*cos(bearing))
lon2=lon1+atan2(sin(bearing)*sin(dr)*cos(lat1),cos(dr)-sin(lat1)*sin(lat2))
return [lat2,lon2]
мой ввод выглядит так: lat1, lon1 - даны в десятичных градусах.-dr - это угол, вычисленный путем деления расстояния в милях на -излучения (= 3958,82) Земли между 0-360 градусами.
однако для входных данных getcorsds1 (42.189275, -76.85823,0.5 / 3958.82,30) я получаю [-1.3485899508698462, -76.8576637627568], однако [42.2516666666667, -76.8097222222222] - правильный ответ.
что касается углового расстояния, то я вычисляю его просто путем деления расстояния в милях на радиусы Земли (= 3958,82).
Кто-нибудь?