Команда ReQL: distance
Синтаксис команды
geometry.distance(geometry[, {geoSystem: 'WGS84', unit: 'm'}]) → number
r.distance(geometry, geometry[, {geoSystem: 'WGS84', unit: 'm'}]) → number
Описание
Вычисляет расстояние между точкой и другим геометрическим объектом. По крайней мере, один из геометрических объектов должен быть точкой.
Доступны необязательные аргументы с distance:
-
geoSystem: используемый эталонный эллипсоид для географических координат. Возможные значения:WGS84(по умолчанию), общий стандарт для геометрии Земли, илиunit_sphere, идеальная сфера радиусом 1 метр. -
unit: Единицы измерения для возвращаемого расстояния. Возможные значения:m(метр, по умолчанию),km(километр),mi(миля),nm(морская миля),ft(фут).
Если один из объектов является многоугольником или линией, точка будет спроецирована на линию или многоугольник, предположив модель идеальной сферы перед вычислением расстояния (используя модель, указанную с geoSystem). Вследствие этого, если многоугольник или линия чрезвычайно велики по сравнению с радиусом Земли, и расстояние вычисляется с использованием модели WGS84 по умолчанию, результаты distance следует считать приблизительными из-за отклонения между эллипсоидальной и сферической моделями.
Пример: Вычисление расстояния между двумя точками на Земле в километрах.
var point1 = r.point(-122.423246,37.779388);
var point2 = r.point(-117.220406,32.719464);
r.distance(point1, point2, {unit: 'km'}).run(conn, callback);
// result returned to callback
734.1252496021841
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/distance/