On this page
ReQL command: distance
Command syntax
geometry.distance(geometry[, {:geo_system => 'WGS84', :unit => 'm'}]) → number
r.distance(geometry, geometry[, {:geo_system => 'WGS84', :unit => 'm'}]) → number
Description
Compute the distance between a point and another geometry object. At least one of the geometry objects specified must be a point.
Optional arguments available with distance
are:
geo_system
: the reference ellipsoid to use for geographic coordinates. Possible values areWGS84
(the default), a common standard for Earth’s geometry, orunit_sphere
, a perfect sphere of 1 meter radius.unit
: Unit to return the distance in. Possible values arem
(meter, the default),km
(kilometer),mi
(international mile),nm
(nautical mile),ft
(international foot).
If one of the objects is a polygon or a line, the point will be projected onto the line or polygon assuming a perfect sphere model before the distance is computed (using the model specified with geo_system
). As a consequence, if the polygon or line is extremely large compared to Earth’s radius and the distance is being computed with the default WGS84 model, the results of distance
should be considered approximate due to the deviation between the ellipsoid and spherical models.
Example: Compute the distance between two points on the Earth in kilometers.
> point1 = r.point(-122.423246,37.779388)
> point2 = r.point(-117.220406,32.719464)
> r.distance(point1, point2, {:unit => 'km'}).run(conn)
734.1252496021841
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/ruby/distance/