Модуль earthdistance предоставляет функции для работы с географическими точками на Земле, включая измерение расстояния между ними.
Аргументы функции earthdistance могут быть типа "h", который представляет собой внутренний тип данных модуля. К сожалению, подробной документации на этот тип данных я тоже не нашел, но можно предположить, что это представление координат или точки на поверхности Земли внутри модуля.
Чтобы использовать функцию earthdistance, вы должны передать значения координат (например, широту и долготу) в качестве аргументов. Например:
Код:
SELECT earth_distance(ll_to_earth(40.748817, -73.985428), ll_to_earth(37.774929, -122.419418)) AS distance;
В этом примере вычисляется расстояние между двумя точками на Земле с заданными координатами. Результатом будет расстояние между точками в метрах.
Если вам необходимо использовать функцию earthdistance для работы с конкретными значениями, вам может потребоваться создать функцию-обертку SQL, которая преобразует ваши значения координат в требуемый формат типа "h".
Например, вы можете создать функцию:
Код:
CREATE OR REPLACE FUNCTION calculate_distance(lat1 FLOAT, lon1 FLOAT, lat2 FLOAT, lon2 FLOAT)
RETURNS FLOAT AS $$
BEGIN
RETURN (SELECT earth_distance(ll_to_earth(lat1, lon1), ll_to_earth(lat2, lon2)));
END;
$$ LANGUAGE plpgsql;
Затем вы можете вызывать эту функцию, передавая ей значения координат:
Код:
SELECT calculate_distance(40.748817, -73.985428, 37.774929, -122.419418) AS distance;
Результатом будет расстояние между двумя заданными точками в метрах.
Надеюсь, это поможет вам использовать функции модуля earthdistance для измерения расстояний на Земле.