Команда 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/python/distance/