2015-02-23 136 views

回答

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 

调用函数

  • LON:开始经度如2.295050
  • 纬度:起始纬度48.857895(西负数和南部)
  • AZ:方位,方向(0-360)
  • dist:以米为单位的距离
  • 号:要生成的点数(40)

give_me_points(2.295050, 48.857895, 135, 22, 40)