Heim > Datenbank > MySQL-Tutorial > Wie kann SQL Server den Abstand zwischen zwei Breiten-/Längengradpunkten genau berechnen?

Wie kann SQL Server den Abstand zwischen zwei Breiten-/Längengradpunkten genau berechnen?

Mary-Kate Olsen
Freigeben: 2025-01-12 13:08:45
Original
820 Leute haben es durchsucht

How Can SQL Server Accurately Calculate the Distance Between Two Latitude/Longitude Points?

Präzise Berechnung von Entfernungen zwischen geografischen Punkten in SQL Server

Genaue Entfernungsberechnungen zwischen Kartenkoordinaten sind von entscheidender Bedeutung. Während einige Formeln Näherungen bieten, bieten die integrierten Funktionen von SQL Server eine überlegene Präzision.

Nutzung des geography-Datentyps von SQL Server (SQL Server 2008 und höher)

Der Datentyp geography (verfügbar in SQL Server 2008 und späteren Versionen) bietet eine robuste Lösung zur Berechnung von Entfernungen. So geht's:

<code class="language-sql">DECLARE @source geography = 'POINT(0 51.5)'
DECLARE @target geography = 'POINT(-3 56)'

SELECT @source.STDistance(@target)</code>
Nach dem Login kopieren

Diese Abfrage gibt die Entfernung in Metern zurück.

Integration des geography-Typs mit vorhandenen Daten

Wenn Sie mit einem etablierten Datenbankschema arbeiten, können Sie den Typ geography nahtlos integrieren. Die Point-Methode erleichtert dies:

<code class="language-sql">DECLARE @orig_lat DECIMAL(12, 9)
DECLARE @orig_lng DECIMAL(12, 9)
SET @orig_lat=53.381538; SET @orig_lng=-1.463526;

DECLARE @orig geography = geography::Point(@orig_lat, @orig_lng, 4326);

SELECT *,
    @orig.STDistance(geography::Point(dest.Latitude, dest.Longitude, 4326)) AS distance
FROM #orig dest;</code>
Nach dem Login kopieren

In diesem Beispiel bleibt Ihre vorhandene Datenstruktur erhalten, während die Genauigkeit des geography Datentyps für Entfernungsberechnungen genutzt wird.

Das obige ist der detaillierte Inhalt vonWie kann SQL Server den Abstand zwischen zwei Breiten-/Längengradpunkten genau berechnen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage