function _proximity_sql_fragment in Geolocation Proximity 7.2
2 calls to _proximity_sql_fragment()
- geolocation_proximity_views_handler_field_distance::query in handlers/
geolocation_proximity_views_handler_field_distance.inc - Called to add the field to a query.
- geolocation_proximity_views_handler_filter_distance::query in handlers/
geolocation_proximity_views_handler_filter_distance.inc - Add this filter to the query.
File
- ./
geolocation_proximity.views.inc, line 72 - Contains Views hooks.
Code
function _proximity_sql_fragment($filter_lat, $filter_lng, $field_latsin, $field_latcos, $field_lng) {
// Pre-calculate filter values.
$filter_latcos = cos(deg2rad($filter_lat));
$filter_latsin = sin(deg2rad($filter_lat));
$filter_lng = deg2rad($filter_lng);
// Keep it simple. We don't need high accuracy here.
$earth_radius = 6371;
return "(\n ACOS(\n {$filter_latcos}\n * {$field_latcos}\n * COS( {$filter_lng} - {$field_lng} )\n +\n {$filter_latsin}\n * {$field_latsin}\n ) * {$earth_radius}\n )";
}