Lat/Lon + Расстояние + Направляющийся-> Lat/Lon

Вы можете использовать следующий код, он находится внутри resnet50.

from keras.applications.resnet50 import ResNet50,decode_predictions,resnet50
identity_block, conv_block = resnet50.identity_block, resnet50.conv_block

16
задан DanM 18 December 2008 в 15:53
поделиться

1 ответ

Я получаю большинство тех типов формул из Формуляра Авиации.

Формула, которую он дает:

Lat/lon, данный шину с радиальным кордом и расстояние

Точка {lat, lon} является расстоянием d на tc шине с радиальным кордом от точки 1 если:

 lat=asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc))
 IF (cos(lat)=0)
    lon=lon1      // endpoint a pole
 ELSE
    lon=mod(lon1-asin(sin(tc)*sin(d)/cos(lat))+pi,2*pi)-pi
 ENDIF 

Этот алгоритм ограничен расстояниями, таким образом, что dlon <пи/2, т.е. те, которые расширяются вокруг меньше чем одной четверти окружности земли в долготе. Абсолютно общий, но более сложный алгоритм необходим, если большие расстояния позволяются:

    lat =asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc))
     dlon=atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(lat))
     lon=mod( lon1-dlon +pi,2*pi )-pi

Обратите внимание, что он использует "tc" для положения истинный курс (в радианах по часовой стрелке от Севера) и расстояния, которые он дает, находятся в радианах дуги вдоль поверхности земли. Это объяснено (наряду с формулами для преобразования назад и вперед от морских миль) в первом разделе Формуляра. Кроме того, проверьте "Примечания Реализации" и "Работавшие Примеры" на той странице.

15
ответ дан 30 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: