Spec-Zone.ru › RethinkDB ruby

Команда ReQL: distance

Синтаксис команды

geometry.distance(geometry[, {:geo_system => 'WGS84', :unit => 'm'}]) → number
r.distance(geometry, geometry[, {:geo_system => 'WGS84', :unit => 'm'}]) → number

Описание

Вычислить расстояние между точкой и другим геометрическим объектом. По крайней мере, один из указанных геометрических объектов должен быть точкой.

Доступны необязательные аргументы с distance:

  • geo_system: используемый эталонный эллипсоид для географических координат. Возможные значения — WGS84 (по умолчанию), общий стандарт для геометрии Земли, или unit_sphere, идеальная сфера радиусом 1 метр.
  • unit: единица измерения расстояния. Возможные значения — m (метр, по умолчанию), km (километр), mi (миля), nm (морская миля), ft (фут).

Если один из объектов является полигоном или линией, точка будет спроецирована на линию или полигон, предполагая модель идеальной сферы перед вычислением расстояния (используя модель, указанную с geo_system). Вследствие этого, если полигон или линия чрезвычайно велики по сравнению с радиусом Земли, и расстояние вычисляется с использованием модели WGS84 по умолчанию, результаты distance следует считать приблизительными из-за отклонения между эллипсоидальными и сферическими моделями.

Пример: Вычисление расстояния между двумя точками на Земле в километрах.

> 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API