2015-02-23 3 views
-2

Как добавить фиксированное расстояние в метрах (13,70 м, 6 м) к текущим координатам (lat & long), чтобы получить следующие координаты, чтобы нарисовать прямую линию новых 150 -250 точек координат. Есть ли формула или уравнение для этого? Пожалуйста, поддержите меня.получение следующих координат GPS путем добавления фиксированного расстояния

ответ

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)