Геолокация OrientDB

Я использую базу данных OrientDB для NoSQL и не знаю, как точно запрашивать геолокацию. Я прочитал конкретную документацию:

Функции OrientDB

но не понимает значения ценностей.

Функция расстояния:

Distance() — вычисляет расстояние между двумя точками на земном шаре с использованием алгоритма Haversine. Координаты должны быть в градусах

Пример:

где расстояние (х, у, 52,20472, 0,14056) ‹ = 30

Два вопроса:

  1. Что такое значения X, Y и 30?
  2. Являются ли значения (52.20472, 0.14056) широтой и долготой?

Спасибо!


person andresmafra    schedule 12.04.2014    source источник


Ответы (3)


расстояние (х, у, 52,20472, 0,14056) ‹= 30

x и y - долгота и широта (переменные) соответственно записи/положения, расстояние от которых вы вычисляете от фиксированных координат 52.20472, 0.14056.

рассмотрим другой пример:

выберите расстояние (долгота, широта, 52,20472, 0,14056) ‹= 30, как расстояние от Места в порядке расстояния

Этот запрос будет перебирать записи в классе/кластере мест, и для каждой записи он вводит долготу и широту записи, вычисляет расстояние до фиксированной позиции (52,20472, 0,14056) и возвращает места, которые находятся в пределах 30 м.

куда

Места — это класс/кластер, который содержит записи о местах. Долгота — поле долготы текущей записи. Широта — поле широты текущей записи. Расстояние — псевдоним имени поля.

person thegreatgiver    schedule 16.04.2014
comment
Привет @andresmafra, спасибо за точку зрения. Я не очень уверен, но я думаю, что это в метрах, потому что при работе с углами в градусах единицей измерения расстояния обычно являются метры или километры. Я погуглил алгоритм Харвезина, и кажется, что расстояние указано в километрах. - person thegreatgiver; 17.04.2014

Как упоминалось в этой группы, @Opeoluwa, расстояние в километрах!

person andresmafra    schedule 17.04.2014
comment
Это легко проверить, используя OrientDB для оценки select distance(0,0,0,90). Результат ок. 10007....а мы знаем, что расстояние от экватора до Северного полюса около 10000 км. - person peak; 10.12.2015

По сути, это просто пример использования. И это просто показывает, как вы можете выбрать элементы, которые близки или ближе 30 от позиции (52,20472, 0,14056), выраженной в градусах.

Если я правильно понял, то X и Y должны быть именем значений позиции с элементами.

person Dr.Jukka    schedule 13.04.2014
comment
Но 30 можно считать 30 милями или 30 километрами? Я не понял степени... - person andresmafra; 14.04.2014
comment
Расположение объясняется в вики: en.wikipedia.org/wiki/Geographic_coordinate_system И для используемых единиц , Я полагаю, что поставщик услуг должен указать, что на самом деле используется. - person Dr.Jukka; 14.04.2014