Python 如何使用半径为1km的中心lat长点获取所有纬度和经度点?

Python 如何使用半径为1km的中心lat长点获取所有纬度和经度点?,python,location,coordinates,latitude-longitude,area,Python,Location,Coordinates,Latitude Longitude,Area,我有一个中心纬度,长点,半径1公里。我想把1公里内所有的纬度和长度点都取出来 从输出列表中,我想将值与另一个lat、long值进行比较,以检查它是否匹配 例如,如果我有一个点是(51.42337159689999,-0.562302811958012)。我想获取半径为1公里的所有点 哪种方法更好?有人能帮我吗 这是我的粗略尝试。。。希望这有助于你的大脑流动 import math def findpoints(lon, lat): radius = 1 N = 360

我有一个中心纬度,长点,半径1公里。我想把1公里内所有的纬度和长度点都取出来

从输出列表中,我想将值与另一个lat、long值进行比较,以检查它是否匹配

例如,如果我有一个点是(51.42337159689999,-0.562302811958012)。我想获取半径为1公里的所有点


哪种方法更好?有人能帮我吗

这是我的粗略尝试。。。希望这有助于你的大脑流动

import math

def findpoints(lon, lat):
    radius = 1
    N = 360 

    # generate points
    circlePoints = []
    for k in range(N):
        angle = math.pi*2*k/N
        dx = radius*math.cos(angle)
        dy = radius*math.sin(angle)
        point = {}
        point['lat']= lat + (180/math.pi)*(dy/6371) #Earth Radius
        point['lon']= lon + (180/math.pi)*(dx/6371)/math.cos(lon*math.pi/180) #Earth Radius
        # add to list
        circlePoints.append(point)

    return circlePoints

这是我的粗略尝试。。。希望这有助于你的大脑流动

import math

def findpoints(lon, lat):
    radius = 1
    N = 360 

    # generate points
    circlePoints = []
    for k in range(N):
        angle = math.pi*2*k/N
        dx = radius*math.cos(angle)
        dy = radius*math.sin(angle)
        point = {}
        point['lat']= lat + (180/math.pi)*(dy/6371) #Earth Radius
        point['lon']= lon + (180/math.pi)*(dx/6371)/math.cos(lon*math.pi/180) #Earth Radius
        # add to list
        circlePoints.append(point)

    return circlePoints