Kategorien:

Geodatenfunktionen

HAVERSINE

Berechnet den Großkreisabstand in Kilometern zwischen zwei Punkten auf der Erdoberfläche unter Verwendung der Haversin-Formel. Die beiden Punkte werden durch ihre Breiten- und Längengrade in Dezimalgrad angegeben.

Bemerkung

Snowflake empfiehlt, die Funktion ST_DISTANCE anstelle der Funktion HAVERSINE zu verwenden. Die Funktion ST_DISTANCE führt die Berechnung mit Werten von Geodatentypen durch, sodass Sie Geodaten speichern und die Geodatenfunktionen auf die Daten anwenden können. Darüber hinaus schneiden Verknüpfungsprädikate, die die Funktion ST_DISTANCE verwenden, eine bessere Leistung als Verknüpfungsprädikate, die die Funktion HAVERSINE verwenden.

Syntax

HAVERSINE( <lat1>, <lon1>, <lat2>, <lon2> )
Copy

Argumente

lat1

Der Breitengrad des ersten Punktes in Dezimalgrad.

lon1

Der Längengrad des ersten Punktes in Dezimalgrad.

lat2

Der Breitengrad des zweiten Punktes in Dezimalgrad.

lon2

Der Längengrad des zweiten Punktes in Dezimalgrad.

Beispiele

Gibt einen Wert vom Typ FLOAT zurück.

Beispiele

Im folgenden Beispiel wird die räumliche Entfernung zwischen New York und Los Angeles in Kilometern zurückgegeben:

SELECT HAVERSINE(40.7127, -74.0059, 34.0500, -118.2500) AS distance;
Copy
+----------------+
|       DISTANCE |
|----------------|
| 3936.385096389 |
+----------------+