给定一个Point(django.contrib.gis.geos.Point),我如何找到该Point对象以东1英里处的另一个点?
(A) ---[ 1 mile ]---> (B)
我失败的尝试:
我考虑过尝试对东1英里处进行硬编码,但是由于地球的曲率。每度更改的英里数。
在SO和地理信息交换上搜索Copius。我以为找不到术语?
您可以使用pyproj的Geod类来完成此操作。
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句