Проблема
Я хотел бы знать, как определить расстояние и направление между двумя точками GPS.
Я исследовал хаверсинусное расстояние. Кто-то сказал мне, что я также могу найти направление, используя те же данные.
Все работает нормально, но подшипник пока работает не совсем правильно. Подшипник выдает отрицательный сигнал, но он должен находиться в диапазоне от 0 до 360 градусов.
Заданные данные должны соответствовать горизонтальному направлению 96.02166666666666 и это:
Начальная точка: 53.32055555555556, -1.7297222222222221 Подшипник: 96.02166666666666 Расстояние: 2 км Пункт назначения: 53.31861111111111, -1.6997222222222223. Конечный подшипник: 96.04555555555555 Вот мой новый код:
из математического импорта * Высота = 2000 Напротив = 20000 lat1 = 53,32055555555556 lat2 = 53,31861111111111 lon1 = -1,7297222222222221 lon2 = -1,6997222222222223 lon1, lat1, lon2, lat2 = map(радианы, [lon1, lat1, lon2, lat2]) дллон = лон2 - лон1 dlat = широта2 - широта1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * atan2(sqrt(a), sqrt(1-a)) База = 6371*с Азимут = atan2(cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon2-lon1), sin(lon2-lon1)*cos(lat2)) Подшипник = градусы (Подшипник) Распечатать "" Распечатать "" Распечатать "--------------------" напечатайте «Горизонтальное расстояние:» распечатать базу Распечатать "--------------------" напечатать "Подшипник: " печать подшипник Распечатать "--------------------" База2 = База * 1000 расстояние = База * 2 + Противоположная точка * 2/2 Калтитуда = Противоположная сторона - Высота над уровнем моря а = Противоположный/Основной б = атан(а) с = градусы (б) расстояние = расстояние / 1000 print "Градус вертикального угла равен: " распечатать с Распечатать "--------------------" print "Расстояние между воздушным шаром GPS и антенной GPS составляет: " расстояние печати Распечатать "--------------------"
Формула гаверсинуса в Python (азимут и расстояние между двумя точками GPS) ⇐ Python
Программы на Python
1704216449
Anonymous
Проблема
Я хотел бы знать, как определить расстояние и направление между двумя точками GPS.
Я исследовал хаверсинусное расстояние. Кто-то сказал мне, что я также могу найти направление, используя те же данные.
Все работает нормально, но подшипник пока работает не совсем правильно. Подшипник выдает отрицательный сигнал, но он должен находиться в диапазоне от 0 до 360 градусов.
Заданные данные должны соответствовать горизонтальному направлению 96.02166666666666 и это:
Начальная точка: 53.32055555555556, -1.7297222222222221 Подшипник: 96.02166666666666 Расстояние: 2 км Пункт назначения: 53.31861111111111, -1.6997222222222223. Конечный подшипник: 96.04555555555555 Вот мой новый код:
из математического импорта * Высота = 2000 Напротив = 20000 lat1 = 53,32055555555556 lat2 = 53,31861111111111 lon1 = -1,7297222222222221 lon2 = -1,6997222222222223 lon1, lat1, lon2, lat2 = map(радианы, [lon1, lat1, lon2, lat2]) дллон = лон2 - лон1 dlat = широта2 - широта1 a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2 c = 2 * atan2(sqrt(a), sqrt(1-a)) База = 6371*с Азимут = atan2(cos(lat1)*sin(lat2)-sin(lat1)*cos(lat2)*cos(lon2-lon1), sin(lon2-lon1)*cos(lat2)) Подшипник = градусы (Подшипник) Распечатать "" Распечатать "" Распечатать "--------------------" напечатайте «Горизонтальное расстояние:» распечатать базу Распечатать "--------------------" напечатать "Подшипник: " печать подшипник Распечатать "--------------------" База2 = База * 1000 расстояние = База * 2 + Противоположная точка * 2/2 Калтитуда = Противоположная сторона - Высота над уровнем моря а = Противоположный/Основной б = атан(а) с = градусы (б) расстояние = расстояние / 1000 print "Градус вертикального угла равен: " распечатать с Распечатать "--------------------" print "Расстояние между воздушным шаром GPS и антенной GPS составляет: " расстояние печати Распечатать "--------------------"
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия