给定纬度、经度和距离,我想找到一个距离小于给定距离的边界框。

这个问题在这里被问到:How to calculate the bounding box for a given lat/lng location?

我不希望这个特别准确,所以我修改并简化了它

def boundingBox(latitudeInDegrees, longitudeInDegrees, halfSideInKm):
    lat = math.radians(latitudeInDegrees)
    lon = math.radians(longitudeInDegrees)
    halfSide = 1000*halfSideInKm

    RADIUS_OF_EARTH  = 6371
    # Radius of the parallel at given latitude
    pradius = radius*math.cos(lat)

    latMin = lat - halfSide/radius
    latMax = lat + halfSide/radius
    lonMin = lon - halfSide/pradius
    lonMax = lon + halfSide/pradius
    rad2deg = math.degrees
    return (rad2deg(latMin), rad2deg(lonMin), rad2deg(latMax), rad2deg(lonMax))

但我无法理解这是如何工作的,尤其是这一行对我来说毫无意义 halfSide = 1000*halfSideInKm

最佳答案

该行将边界框单位从公里转换为米。

关于python - 给定经纬度和距离,我想找到一个边界框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1648917/

10-11 15:41