pi()) { $maxlong = $maxlong - pi()*2; } return array(rad2deg($minlong), rad2deg($maxlong)); } function earth_latitude_range($longitude, $latitude, $distance) { // Estimate the min and max latitudes within $distance of a given location. $long = deg2rad($longitude); $lat = deg2rad($latitude); $radius = earth_radius($latitude); $angle = $distance / $radius; $minlat = $lat - $angle; $maxlat = $lat + $angle; $rightangle = pi()/2; if ($minlat < -$rightangle) { // wrapped around the south pole $overshoot = -$minlat - $rightangle; $minlat = -$rightangle + $overshoot; if ($minlat > $maxlat) { $maxlat = $minlat; } $minlat = -$rightangle; } if ($maxlat > $rightangle) { // wrapped around the north pole $overshoot = $maxlat - $rightangle; $maxlat = $rightangle - $overshoot; if ($maxlat < $minlat) { $minlat = $maxlat; } $maxlat = $rightangle; } return array(rad2deg($minlat), rad2deg($maxlat)); } ?>