使用纬度,经度和距离创建边界框

时间:2012-12-04 18:31:03

标签: c# sql-server

我已通过链接 Given a latitude and longitude, and distance, I want to find a bounding box 这个linke提供了创建边界框的解决方案,但很少有我无法理解的东西。

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))

在上面的代码中,半径值是什么,RADIUS_OF_EARTH中6371代表什么?

任何人都可以解释一下吗?

由于

1 个答案:

答案 0 :(得分:0)

根据wikipedia 6371km是地球的平均半径。我在您显示的代码段中看不到radius的定义,但应将其设置为RADIUS_OF_EARTH,因为pradius是半径的水平投影(根据注释)。