Учитывая широту, долготу и расстояние, я хочу найти ограничивающую рамку, где расстояния меньше заданного расстояния.
Эти вопросы были заданы здесь: Как рассчитать ограничивающую рамку для заданного местоположения широты / долготы?
Я не хочу, чтобы это было отчасти точным, поэтому я изменил и упростил его до
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
pradius
, поэтому не учитывается ли изменение вблизи полюсов? - person agiliq   schedule 30.10.2009