You are here

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  )";
}