给定一个点(django.contrib.gis.geos.Point)我如何找到距该Point对象1英里以东的另一个点?
(A) ---[ 1 mile ]---> (B)
我的尝试失败:
我已经考虑过尝试对 1英里东点进行硬编码,但由于 到地球的曲率。每度变化的英里数。
在SO和地理信息交换上搜索谷歌。我以为找不到术语?
答案 0 :(得分:1)
您可以使用pyproj的Geod class完成此操作。
from pyproj import Geod
geoid = Geod(ellps='WGS84')
def add_distance(lat, lng, az, dist):
lng_new, lat_new, return_az = geoid.fwd(lon, lat, az, dist)
return lat_new, lng_new
因此,对于您的特定问题,您可以执行以下操作:
from django.contrib.gis.geos import Point
def move_point_mile_east(point):
dist = 1609.34
lat, lng = add_distance(point.y, point.x, 90, dist)
return Point(lng, lat)