Как добавить фиксированное расстояние в метрах (13,70 м, 6 м) к текущим координатам (lat & long), чтобы получить следующие координаты, чтобы нарисовать прямую линию новых 150 -250 точек координат. Есть ли формула или уравнение для этого? Пожалуйста, поддержите меня.получение следующих координат GPS путем добавления фиксированного расстояния
-2
A
ответ
1
формула, чтобы сделать это находится в Lat/lon given radial and distance, но, вероятно, наиболее точная формула, (скорее всего, более точным, чем ваши инструменты могут передать его в реальном мире ситуации), является Vincenty's Direct Problem
Есть целый количество способов, которыми вы можете работать, как онлайн, так и вне линии, например Destination given distance & bearing from start point (direct solution), или spreadsheet(excel) calculators
... но это поможет вам начать работу.
Вот вам интересная вещь. В Python3 установите модуль pyproj
. (sudo pip3 install pyproj
)
from pyproj import Geod
geoid = Geod(ellps='WGS84')
def give_me_points(lon, lat, az, dist, number):
distance = dist
for point in range(1,number):
longitude, latitude, return_az = geoid.fwd(lon, lat, az, dist)
print('#', point,':','Lon:', longitude, 'Lat:',latitude)
point += 1
dist = distance * point
Вызов функции
- долгота: начиная долгота например,
2.295050
- Lat: начиная с широты
48.857895
(отрицательные числа на запад и юг) - аз: азимут, направление вашей строки (0-360)
- dist: расстояние в метрах
- номер: количество очков, которое вы хотите произвести (40)
как give_me_points(2.295050, 48.857895, 135, 22, 40)