天天看點

Python地理位置資訊庫geopy的使用(二):根據中心點坐标,方向,距離計算坐标

上一篇文章 我們介紹了geopy的基本使用,這一篇文章我們根據中心點坐标,方向,距中心點距離計算出對應的坐标點,這種用法官網并沒有給出詳細的文檔,我們這裡做一下說明

生成坐标點的具體方法

import geopy.distance

def get_distance_point(lat, lon, distance, direction):
    """
    根據經緯度,距離,方向獲得一個地點
    :param lat: 緯度
    :param lon: 經度
    :param distance: 距離(千米)
    :param direction: 方向(北:0,東:90,南:180,西:360)
    :return:
    """
    start = geopy.Point(lat, lon)
    d = geopy.distance.VincentyDistance(kilometers=distance)
    return d.destination(point=start, bearing=direction)
                

調用示例

>>> import geopy
>>> import geopy.distance
>>> p = get_distance_point(39.90733345, 116.391244079988, 8.5, 90)
>>> print (p.latitude, p.longitude)
(39.90729084605293, 116.49064857447016)