给定纬度、经度和距离,我想找到一个距离小于给定距离的边界框。
这些问题是在这里提出的: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))
但我不明白这是怎么回事,尤其是这一行对我来说毫无意义
这条线正在将边界框单位从公里转换为米。
这个代码不太好用,它在公里和米之间跳跃
修复了代码,使名称更具PEP8风格,并添加了一个简单的box对象:
相关问题 更多 >
编程相关推荐