2012-12-04 78 views
2

我已經通過鏈接 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)) 
在上面的代碼是什麼半徑的值,什麼是由6371在 RADIUS_OF_EARTH代表

任何人都可以解釋一下嗎?

由於

+0

你爲什麼設置C#和Sql-server標籤?該代碼不在C#中。 – slfan

回答

0

根據wikipedia6371公里是地球的平均半徑。我看不到您顯示的代碼片段中的radius的定義,但應將其設置爲RADIUS_OF_EARTH,因爲pradius是半徑的水平投影(根據註釋)。

相關問題