Administration: Omnidex Features

Geographic Searches

Radius Distance Searches

The most common geographic search is the radius distance search. This search simply says, “What is within five miles of me?”, meaning what is within a circle where I am standing in the center of the circle, and the circle is a radius of five miles around me. Omnidex supports radius distance searches using a wide variety of units, including miles, kilometers, nautical miles, yards, meters and feet.

Radius searches vary in precision. In fact, even geographic coordinates vary in precision. While it is possible to identify exact coordinates for any point on Earth, the current technology limits the accuracy to a matter of 10-20 feet. Similarly, the distances between two points also vary in accuracy. The Earth is not a perfect sphere. It contains mountains and valleys, and these changes in elevation also change the distances between to points. The Earth is also slightly egg-shaped, and that can lead to slight variances in distance calculations. Because of this, there are several standard mathematical approaches to calculating distance between coordinates on Earth. Omnidex uses several of these approaches, as described in this discussion of the math behind geographic searches. Omnidex algorithms are tuned to an accuracy of approximately 100 feet in the most populated areas of Earth.

Omnidex supports radius distance searches through a $DISTANCE function. This function allows one set of geographic coordinates to be compared against one or more other geographic coordinates, returning the distance to the closest one. This allows for several types of searches:

  • Locate all rows within a specific distance from a location, such as the current location of person.
  • Locate all rows within a specific distance from a set of locations, such as the locations of all stores or branch offices.

The $distance function can also be used to simply calculate the distances between two points. Neither of these points has to be contained in the database; they can simply be passed to the function. Note that this distance is “as the crow flies” and does not reflect roads and other navigational necessities.

Additional Resources

 
Back to top
admin/features/geo/radius.txt · Last modified: 2016/06/28 22:38 (external edit)